CMake: Simplify solc config

This commit is contained in:
Paweł Bylica 2017-08-16 13:30:09 +02:00
parent a874bd3f04
commit 6f72025ee7
No known key found for this signature in database
GPG Key ID: 7A0C037434FE77EF

View File

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