2018-03-12 13:13:19 +00:00
|
|
|
file(GLOB sources "*.cpp")
|
|
|
|
file(GLOB headers "*.h")
|
2014-01-03 01:27:19 +00:00
|
|
|
|
2018-03-12 13:13:19 +00:00
|
|
|
file(GLOB contracts_sources "contracts/*.cpp")
|
|
|
|
file(GLOB contracts_headers "contracts/*.h")
|
|
|
|
file(GLOB libdevcore_sources "libdevcore/*.cpp")
|
|
|
|
file(GLOB libdevcore_headers "libdevcore/*.h")
|
2018-11-14 13:59:30 +00:00
|
|
|
file(GLOB liblangutil_sources "liblangutil/*.cpp")
|
|
|
|
file(GLOB liblangutil_headers "liblangutil/*.h")
|
2018-03-12 13:13:19 +00:00
|
|
|
file(GLOB libevmasm_sources "libevmasm/*.cpp")
|
|
|
|
file(GLOB libevmasm_headers "libevmasm/*.h")
|
2018-10-15 09:52:35 +00:00
|
|
|
file(GLOB libyul_sources "libyul/*.cpp")
|
|
|
|
file(GLOB libyul_headers "libyul/*.h")
|
2018-11-13 14:34:19 +00:00
|
|
|
if (LLL)
|
|
|
|
file(GLOB liblll_sources "liblll/*.cpp")
|
|
|
|
file(GLOB liblll_headers "liblll/*.h")
|
|
|
|
endif()
|
2018-03-12 13:13:19 +00:00
|
|
|
file(GLOB libsolidity_sources "libsolidity/*.cpp")
|
|
|
|
file(GLOB libsolidity_headers "libsolidity/*.h")
|
2019-01-24 09:48:01 +00:00
|
|
|
file(GLOB libsolidity_util_sources "libsolidity/util/*.cpp")
|
|
|
|
file(GLOB libsolidity_util_headers "libsolidity/util/*.h")
|
2018-03-12 13:13:19 +00:00
|
|
|
|
|
|
|
add_executable(soltest ${sources} ${headers}
|
|
|
|
${contracts_sources} ${contracts_headers}
|
|
|
|
${libdevcore_sources} ${libdevcore_headers}
|
2018-11-14 13:59:30 +00:00
|
|
|
${liblangutil_sources} ${liblangutil_headers}
|
2018-03-12 13:13:19 +00:00
|
|
|
${libevmasm_sources} ${libevmasm_headers}
|
2018-10-15 09:52:35 +00:00
|
|
|
${libyul_sources} ${libyul_headers}
|
2018-03-12 13:13:19 +00:00
|
|
|
${liblll_sources} ${liblll_headers}
|
|
|
|
${libsolidity_sources} ${libsolidity_headers}
|
2019-01-24 09:48:01 +00:00
|
|
|
${libsolidity_util_sources} ${libsolidity_util_headers}
|
2018-03-12 13:13:19 +00:00
|
|
|
)
|
2019-07-08 14:04:52 +00:00
|
|
|
target_link_libraries(soltest PRIVATE libsolc yul solidity yulInterpreter evmasm devcore Boost::boost Boost::program_options Boost::unit_test_framework evmc)
|
|
|
|
|
2018-11-13 14:34:19 +00:00
|
|
|
|
2019-05-27 13:10:17 +00:00
|
|
|
# Special compilation flag for Visual Studio (version 2019 at least affected)
|
|
|
|
# in order to compile SolidityEndToEndTest.cpp, which is quite huge.
|
|
|
|
# We can remove this flag once we've extracted the tests.
|
|
|
|
# TODO: Remove this option as soon as we have reduced the SLoC's in SolidityEndToEndTest.cpp
|
|
|
|
if (MSVC)
|
|
|
|
target_compile_options(soltest PUBLIC "/bigobj")
|
|
|
|
endif()
|
|
|
|
|
2018-11-13 14:34:19 +00:00
|
|
|
if (LLL)
|
|
|
|
target_link_libraries(soltest PRIVATE lll)
|
|
|
|
target_compile_definitions(soltest PRIVATE HAVE_LLL=1)
|
|
|
|
endif()
|
2014-01-03 01:27:19 +00:00
|
|
|
|
2018-08-02 12:36:14 +00:00
|
|
|
if (NOT Boost_USE_STATIC_LIBS)
|
|
|
|
target_compile_definitions(soltest PUBLIC -DBOOST_TEST_DYN_LINK)
|
|
|
|
endif()
|
|
|
|
|
2018-03-12 13:13:19 +00:00
|
|
|
add_subdirectory(tools)
|
2019-07-08 14:04:52 +00:00
|
|
|
add_subdirectory(evmc)
|