From 96d764e0fd6381e6ea3a2fa0cac3a570f09d7403 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Mon, 6 Apr 2015 01:55:52 +0200 Subject: [PATCH] Linker fix. --- CMakeLists.txt | 21 +++++++++++++-------- libweb3jsonrpc/CMakeLists.txt | 14 ++++++++------ 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8c02948a7..17d5de3ad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,7 @@ function(createDefaultCacheConfig) set(JUSTTESTS OFF CACHE BOOL "Build only for tests.") set(SOLIDITY ON CACHE BOOL "Build the Solidity language components (required unless HEADLESS)") set(SERPENT ${SERPENT_DEFAULT} CACHE BOOL "Build the Serpent language components (required unless HEADLESS)") + set(SDK ON CACHE BOOL "Build the SDK components") set(USENPM OFF CACHE BOOL "Use npm to recompile ethereum.js if it was changed") set(ETHASHCL OFF CACHE BOOL "Build in support for GPU mining via OpenCL") set(PROFILING OFF CACHE BOOL "Build in support for profiling") @@ -63,7 +64,6 @@ function(configureProject) if (HEADLESS OR JUSTTESTS) add_definitions(-DETH_HEADLESS) endif() - endfunction() set(CPPETHEREUM 1) @@ -229,6 +229,7 @@ message("-- Build only headless components HEADLESS ${HEADLESS message("-- Build only tests JUSTTESTS ${JUSTTESTS}") message("-- Build Solidity language components SOLIDITY ${SOLIDITY}") message("-- Build Serpent language components SERPENT ${SERPENT}") +message("-- Build SDK components SDK ${SDK}") message("-- Build OpenCL components ETHASHCL ${ETHASHCL}") message("-- Build LLVM-based JIT EVM EVMJIT ${EVMJIT}") message("-- Build with support for JSON-RPC JSONRPC ${JSONRPC}") @@ -260,13 +261,15 @@ add_subdirectory(libdevcore) add_subdirectory(libevmcore) add_subdirectory(liblll) -if (SERPENT) - add_subdirectory(libserpent) - add_subdirectory(sc) -endif () +if (SDK) + if (SERPENT) + add_subdirectory(libserpent) + add_subdirectory(sc) + endif () -if (SOLIDITY) - add_subdirectory(libsolidity) + if (SOLIDITY) + add_subdirectory(libsolidity) + endif () endif () if (NOT JUSTTESTS) @@ -324,7 +327,9 @@ if (NOT JUSTTESTS) # add_subdirectory(third) // reenable once not qtwebkit. endif() - add_subdirectory(mix) + if (SDK) + add_subdirectory(mix) + endif () endif() diff --git a/libweb3jsonrpc/CMakeLists.txt b/libweb3jsonrpc/CMakeLists.txt index d3f4b70b6..7b47a3f47 100644 --- a/libweb3jsonrpc/CMakeLists.txt +++ b/libweb3jsonrpc/CMakeLists.txt @@ -22,9 +22,9 @@ file(GLOB HEADERS "*.h") if (ETH_STATIC) add_library(${EXECUTABLE} STATIC ${SRC_LIST} ${HEADERS}) -else() +else () add_library(${EXECUTABLE} SHARED ${SRC_LIST} ${HEADERS}) -endif() +endif () target_link_libraries(${EXECUTABLE} ${LEVELDB_LIBRARIES}) target_link_libraries(${EXECUTABLE} ${JSONCPP_LIBRARIES}) @@ -33,11 +33,13 @@ target_link_libraries(${EXECUTABLE} ${MHD_LIBRARIES}) target_link_libraries(${EXECUTABLE} webthree) target_link_libraries(${EXECUTABLE} secp256k1) -target_link_libraries(${EXECUTABLE} solidity) -if (NOT ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")) +if (SOLIDITY) + target_link_libraries(${EXECUTABLE} solidity) +endif () +if (SERPENT) target_link_libraries(${EXECUTABLE} serpent) -endif() +endif () if (ETH_JSON_RPC_STUB) add_custom_target(jsonrpcstub) @@ -51,7 +53,7 @@ if (ETH_JSON_RPC_STUB) -P "${ETH_SCRIPTS_DIR}/jsonrpcstub.cmake" ) add_dependencies(${EXECUTABLE} jsonrpcstub) -endif() +endif () install( TARGETS ${EXECUTABLE} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib ) install( FILES ${HEADERS} DESTINATION include/${EXECUTABLE} )