From 895a70271d6489a0e1673c2c7f3ab3db435fd6a6 Mon Sep 17 00:00:00 2001 From: Marek Kotewicz Date: Thu, 4 Dec 2014 00:30:05 +0100 Subject: [PATCH] fixed json-rpc-cpp install step --- extdep/CMakeLists.txt | 8 +++----- extdep/compile/json-rpc-cpp.cmake | 2 +- extdep/scripts/json-rpc-cpp_osx.sh | 29 +++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 6 deletions(-) create mode 100755 extdep/scripts/json-rpc-cpp_osx.sh diff --git a/extdep/CMakeLists.txt b/extdep/CMakeLists.txt index 582d8a2f2..274f9755b 100644 --- a/extdep/CMakeLists.txt +++ b/extdep/CMakeLists.txt @@ -31,13 +31,11 @@ if (ETH_COMPILE) # cryptopp include(compile/cryptopp.cmake) else() - eth_download(json-rpc-cpp VERSION 0.3.2) + eth_download(json-rpc-cpp OSX_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/scripts/json-rpc-cpp_osx.sh) + eth_download(snappy OSX_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/scripts/snappy_osx.sh) + eth_download(leveldb OSX_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/scripts/leveldb_osx.sh) eth_download(qt) eth_download(cryptopp) - eth_download(snappy - OSX_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/scripts/snappy_osx.sh) - eth_download(leveldb - OSX_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/scripts/leveldb_osx.sh) #include(compile/leveldb.cmake) #eth_download("leveldb") diff --git a/extdep/compile/json-rpc-cpp.cmake b/extdep/compile/json-rpc-cpp.cmake index b4f28a315..cb2985e58 100644 --- a/extdep/compile/json-rpc-cpp.cmake +++ b/extdep/compile/json-rpc-cpp.cmake @@ -11,7 +11,7 @@ ExternalProject_Add(json-rpc-cpp BINARY_DIR json-rpc-cpp-prefix/src/json-rpc-cpp CONFIGURE_COMMAND cmake -DCMAKE_INSTALL_PREFIX=${ETH_DEPENDENCY_INSTALL_DIR} -DCMAKE_MODULE_PATH:PATH=${CMAKE_CURRENT_SOURCE_DIR}/cmake -DETH_DEPENDENCY_INSTALL_DIR:PATH=${ETH_DEPENDENCY_INSTALL_DIR} -DCMAKE_BUILD_TYPE=None -DCMAKE_FIND_FRAMEWORK=LAST -Wno-dev . BUILD_COMMAND make -j 3 - INSTALL_COMMAND make install + INSTALL_COMMAND make install && ${CMAKE_CURRENT_SOURCE_DIR}/scripts/json-rpc-cpp_osx.sh . ${ETH_DEPENDENCY_INSTALL_DIR} ) elseif(WIN32) diff --git a/extdep/scripts/json-rpc-cpp_osx.sh b/extdep/scripts/json-rpc-cpp_osx.sh new file mode 100755 index 000000000..8a6b96c7b --- /dev/null +++ b/extdep/scripts/json-rpc-cpp_osx.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +ETH_DEPENDENCY_SOURCE_DIR=$1 +ETH_DEPENDENCY_INSTALL_DIR=$2 + +OLD_COMMON_DYLIB="libjsonrpccpp-common.0.dylib" + +COMMON_DYLIB=${ETH_DEPENDENCY_INSTALL_DIR}/lib/libjsonrpccpp-common.0.dylib +SERVER_DYLIB=${ETH_DEPENDENCY_INSTALL_DIR}/lib/libjsonrpccpp-server.0.dylib +CLIENT_DYLIB=${ETH_DEPENDENCY_INSTALL_DIR}/lib/libjsonrpccpp-client.0.dylib + +# fix bin +STAB_EXEC=${ETH_DEPENDENCY_INSTALL_DIR}/bin/jsonrpcstub +install_name_tool -change ${OLD_COMMON_DYLIB} ${COMMON_DYLIB} ${STAB_EXEC} + +# fix common +install_name_tool -id ${COMMON_DYLIB} ${COMMON_DYLIB} + +# fix server +install_name_tool -id ${SERVER_DYLIB} ${SERVER_DYLIB} +install_name_tool -change ${OLD_COMMON_DYLIB} ${COMMON_DYLIB} ${SERVER_DYLIB} + +# fix client +install_name_tool -id ${CLIENT_DYLIB} ${CLIENT_DYLIB} +install_name_tool -change ${OLD_COMMON_DYLIB} ${COMMON_DYLIB} ${CLIENT_DYLIB} + +# TODO fix argtable and jsoncpp once they are downloaded as dependencies + +