solidity/solc/CMakeLists.txt

31 lines
1012 B
CMake
Raw Normal View History

2017-08-16 11:30:09 +00:00
set(
sources
CommandLineInterface.cpp CommandLineInterface.h
main.cpp
)
2017-08-16 11:30:09 +00:00
add_executable(solc ${sources})
target_link_libraries(solc PRIVATE solidity ${Boost_PROGRAM_OPTIONS_LIBRARIES})
2017-08-16 11:30:09 +00:00
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")
2017-08-16 11:30:09 +00:00
add_executable(soljson jsonCompiler.cpp)
else()
2017-08-16 11:30:09 +00:00
add_library(soljson jsonCompiler.cpp)
endif()
2017-08-22 20:50:03 +00:00
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()