aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaweł Bylica <chfast@gmail.com>2018-05-17 20:42:22 +0800
committerchriseth <chris@ethereum.org>2018-09-13 00:55:36 +0800
commit73973d2448fd0965b3aa988d18397e9dce6d949d (patch)
tree45a1746e389e915464b75d4eccd330d7eeae6518
parent7cda8456d86a0f17e09efd067e6e941f0266f18f (diff)
downloaddexon-solidity-73973d2448fd0965b3aa988d18397e9dce6d949d.tar.gz
dexon-solidity-73973d2448fd0965b3aa988d18397e9dce6d949d.tar.zst
dexon-solidity-73973d2448fd0965b3aa988d18397e9dce6d949d.zip
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.
-rw-r--r--cmake/jsoncpp.cmake8
1 files changed, 7 insertions, 1 deletions
diff --git a/cmake/jsoncpp.cmake b/cmake/jsoncpp.cmake
index 3d6b37ed..cc2da7e7 100644
--- a/cmake/jsoncpp.cmake
+++ b/cmake/jsoncpp.cmake
@@ -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)