Skip to content

Commit

Permalink
CMake: Fix libdir for jsoncpp external project in special case
Browse files Browse the repository at this point in the history
When building on Debian/Ubuntu with install prefix /usr (e.g. in PPA builds) the CMAKE_INSTALL_LIBDIR is resolved to lib/x86_64-linux-gnu. For jsoncpp external project this is never the case because the install prefix is not /usr. Remove multiarch part from libdir if there.
  • Loading branch information
chfast committed May 17, 2018
1 parent 0fdb226 commit 7db0580
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion cmake/jsoncpp.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,14 @@ else()
endif()

include(GNUInstallDirs)
set(libdir ${CMAKE_INSTALL_LIBDIR})
if(CMAKE_LIBRARY_ARCHITECTURE)
# Do not use Debian multiarch library dir.
string(REPLACE "/${CMAKE_LIBRARY_ARCHITECTURE}" "" libdir ${libdir})
endif()

set(prefix "${CMAKE_BINARY_DIR}/deps")
set(JSONCPP_LIBRARY "${prefix}/${CMAKE_INSTALL_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}jsoncpp${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(JSONCPP_LIBRARY "${prefix}/${libdir}/${CMAKE_STATIC_LIBRARY_PREFIX}jsoncpp${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(JSONCPP_INCLUDE_DIR "${prefix}/include")

if(NOT MSVC)
Expand Down

0 comments on commit 7db0580

Please sign in to comment.