set( sources CommandLineInterface.cpp CommandLineInterface.h main.cpp ) add_executable(solc ${sources}) target_link_libraries(solc PRIVATE solidity ${Boost_PROGRAM_OPTIONS_LIBRARIES}) 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) else() add_library(soljson jsonCompiler.cpp) endif() 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()