diff options
author | mingchuan <mingc@skymizer.com> | 2018-06-06 14:03:07 +0800 |
---|---|---|
committer | mingchuan <mingc@skymizer.com> | 2018-06-06 14:29:48 +0800 |
commit | a104e5fb03650042ba106c7334c02cbe0110bd91 (patch) | |
tree | 46cae795ddbab3f98676f80c46105b865fcca75e /cmake | |
parent | 4073c02cf34254dce2710f48acb95e9d39b11f0a (diff) | |
download | dexon-solidity-a104e5fb03650042ba106c7334c02cbe0110bd91.tar.gz dexon-solidity-a104e5fb03650042ba106c7334c02cbe0110bd91.tar.zst dexon-solidity-a104e5fb03650042ba106c7334c02cbe0110bd91.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.
Diffstat (limited to 'cmake')
-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 |