aboutsummaryrefslogtreecommitdiffstats
path: root/solc/CMakeLists.txt
blob: fa7e0bde2e1c3944b86c6d26e5219ae6aceab089 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
aux_source_directory(. SRC_LIST)
list(REMOVE_ITEM SRC_LIST "./jsonCompiler.cpp")

include_directories(BEFORE ..)

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()

if (EMSCRIPTEN)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s EXPORTED_FUNCTIONS='[\"_compileJSON\",\"_version\",\"_compileJSONMulti\",\"_compileJSONCallback\"]' -s RESERVED_FUNCTION_POINTERS=20")
    add_executable(soljson jsonCompiler.cpp ${HEADERS})
    eth_use(soljson REQUIRED Solidity::solidity)
else()
    add_library(soljson jsonCompiler.cpp ${HEADERS})
    target_link_libraries(soljson solidity)
endif()