diff options
author | mingchuan <mingc@skymizer.com> | 2018-06-06 14:03:07 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2018-09-13 00:56:22 +0800 |
commit | 1a5f90954a203db2dab53a569e9e6912457cee96 (patch) | |
tree | 02bba87f4e65fb52a82de1faed71bff24b743515 | |
parent | 73973d2448fd0965b3aa988d18397e9dce6d949d (diff) | |
download | dexon-solidity-1a5f90954a203db2dab53a569e9e6912457cee96.tar.gz dexon-solidity-1a5f90954a203db2dab53a569e9e6912457cee96.tar.zst dexon-solidity-1a5f90954a203db2dab53a569e9e6912457cee96.zip |
Fix cmake when custom CMAKE_INSTALL_LIBDIR is given
According to cmake documents, we cannot assume CMAKE_INSTALL_LIBDIR is a
relative path. This commit fixes the "no rule to make libjsoncpp.a"
error by passing -DCMAKE_INSTALL_LIBDIR=lib to jsoncpp external project.
-rw-r--r-- | cmake/jsoncpp.cmake | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/cmake/jsoncpp.cmake b/cmake/jsoncpp.cmake index cc2da7e7..0c110b53 100644 --- a/cmake/jsoncpp.cmake +++ b/cmake/jsoncpp.cmake @@ -6,15 +6,8 @@ else() set(JSONCPP_CMAKE_COMMAND ${CMAKE_COMMAND}) 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}/${libdir}/${CMAKE_STATIC_LIBRARY_PREFIX}jsoncpp${CMAKE_STATIC_LIBRARY_SUFFIX}") +set(JSONCPP_LIBRARY "${prefix}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}jsoncpp${CMAKE_STATIC_LIBRARY_SUFFIX}") set(JSONCPP_INCLUDE_DIR "${prefix}/include") if(NOT MSVC) @@ -36,6 +29,7 @@ ExternalProject_Add(jsoncpp-project CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_INSTALL_LIBDIR=lib # Build static lib but suitable to be included in a shared lib. -DCMAKE_POSITION_INDEPENDENT_CODE=${BUILD_SHARED_LIBS} -DJSONCPP_WITH_TESTS=OFF |