From 6f72025ee74d6255d40905ea09fa8a8dddf49605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Wed, 16 Aug 2017 13:30:09 +0200 Subject: CMake: Simplify solc config --- solc/CMakeLists.txt | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) (limited to 'solc') diff --git a/solc/CMakeLists.txt b/solc/CMakeLists.txt index 18e83e75..0563fe2a 100644 --- a/solc/CMakeLists.txt +++ b/solc/CMakeLists.txt @@ -1,27 +1,19 @@ -aux_source_directory(. SRC_LIST) -list(REMOVE_ITEM SRC_LIST "./jsonCompiler.cpp") +set( + sources + CommandLineInterface.cpp CommandLineInterface.h + main.cpp +) -include_directories(BEFORE ..) +add_executable(solc ${sources}) +target_link_libraries(solc PRIVATE solidity ${Boost_PROGRAM_OPTIONS_LIBRARIES}) -set(EXECUTABLE solc) - -file(GLOB HEADERS "*.h") -eth_simple_add_executable(${EXECUTABLE} ${SRC_LIST} ${HEADERS}) - -eth_use(${EXECUTABLE} REQUIRED Solidity::solidity) -target_link_libraries(${EXECUTABLE} ${Boost_PROGRAM_OPTIONS_LIBRARIES}) - -if (APPLE) - install(TARGETS ${EXECUTABLE} DESTINATION bin) -else() - eth_install_executable(${EXECUTABLE}) -endif() +include(GNUInstallDirs) +install(TARGETS solc DESTINATION "${CMAKE_INSTALL_BINDIR}") if (EMSCRIPTEN) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s EXPORTED_FUNCTIONS='[\"_compileJSON\",\"_license\",\"_version\",\"_compileJSONMulti\",\"_compileJSONCallback\",\"_compileStandard\"]' -s RESERVED_FUNCTION_POINTERS=20") - add_executable(soljson jsonCompiler.cpp ${HEADERS}) - eth_use(soljson REQUIRED Solidity::solidity) + add_executable(soljson jsonCompiler.cpp) else() - add_library(soljson jsonCompiler.cpp ${HEADERS}) - target_link_libraries(soljson solidity) + add_library(soljson jsonCompiler.cpp) endif() +target_link_libraries(soljson PRIVATE solidity) \ No newline at end of file -- cgit v1.2.3 From 4974ff3962759a19150877b0e59e64319190ba1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Tue, 22 Aug 2017 22:50:03 +0200 Subject: CMake: Add option to static link solc --- solc/CMakeLists.txt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'solc') diff --git a/solc/CMakeLists.txt b/solc/CMakeLists.txt index 0563fe2a..656b27c3 100644 --- a/solc/CMakeLists.txt +++ b/solc/CMakeLists.txt @@ -16,4 +16,16 @@ if (EMSCRIPTEN) else() add_library(soljson jsonCompiler.cpp) endif() -target_link_libraries(soljson PRIVATE solidity) \ No newline at end of file +target_link_libraries(soljson PRIVATE solidity) + +if(SOLC_LINK_STATIC AND UNIX AND NOT APPLE) + # Produce solc as statically linked binary (includes C/C++ standard libraries) + # This is not supported on macOS, see + # https://developer.apple.com/library/content/qa/qa1118/_index.html. + set_target_properties( + solc PROPERTIES + LINK_FLAGS -static + LINK_SEARCH_START_STATIC ON + LINK_SEARCH_END_STATIC ON + ) +endif() \ No newline at end of file -- cgit v1.2.3