CMake: Fix libdir for jsoncpp external project in special case

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.
This commit is contained in:
Paweł Bylica 2018-05-17 14:42:22 +02:00 committed by chriseth
parent 7cda8456d8
commit 73973d2448

View File

@ -7,8 +7,14 @@ else()
endif() endif()
include(GNUInstallDirs) 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(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") set(JSONCPP_INCLUDE_DIR "${prefix}/include")
if(NOT MSVC) if(NOT MSVC)