mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Use imported cmake targets for boost.
This commit is contained in:
parent
a445df63cf
commit
226f8bb64d
@ -1,21 +1,3 @@
|
||||
# all dependencies that are not directly included in the cpp-ethereum distribution are defined here
|
||||
# for this to work, download the dependency via the cmake script in extdep or install them manually!
|
||||
|
||||
function(eth_show_dependency DEP NAME)
|
||||
get_property(DISPLAYED GLOBAL PROPERTY ETH_${DEP}_DISPLAYED)
|
||||
if (NOT DISPLAYED)
|
||||
set_property(GLOBAL PROPERTY ETH_${DEP}_DISPLAYED TRUE)
|
||||
if (NOT("${${DEP}_VERSION}" STREQUAL ""))
|
||||
message(STATUS "${NAME} version: ${${DEP}_VERSION}")
|
||||
endif()
|
||||
message(STATUS "${NAME} headers: ${${DEP}_INCLUDE_DIRS}")
|
||||
message(STATUS "${NAME} lib : ${${DEP}_LIBRARIES}")
|
||||
if (NOT("${${DEP}_DLLS}" STREQUAL ""))
|
||||
message(STATUS "${NAME} dll : ${${DEP}_DLLS}")
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
if (DEFINED MSVC)
|
||||
# by defining CMAKE_PREFIX_PATH variable, cmake will look for dependencies first in our own repository before looking in system paths like /usr/local/ ...
|
||||
# this must be set to point to the same directory as $ETH_DEPENDENCY_INSTALL_DIR in /extdep directory
|
||||
@ -41,6 +23,14 @@ set(ETH_SCRIPTS_DIR ${ETH_CMAKE_DIR}/scripts)
|
||||
set(Boost_USE_MULTITHREADED ON)
|
||||
option(Boost_USE_STATIC_LIBS "Link Boost statically" ON)
|
||||
|
||||
find_package(Boost 1.65.0 QUIET REQUIRED COMPONENTS regex filesystem unit_test_framework program_options system)
|
||||
set(BOOST_COMPONENTS "regex;filesystem;unit_test_framework;program_options;system")
|
||||
|
||||
eth_show_dependency(Boost boost)
|
||||
find_package(Boost 1.65.0 QUIET REQUIRED COMPONENTS ${BOOST_COMPONENTS})
|
||||
|
||||
# make sure we actually get all required imported targets for boost
|
||||
list(APPEND BOOST_COMPONENTS "boost") # header only target
|
||||
foreach (BOOST_COMPONENT IN LISTS BOOST_COMPONENTS)
|
||||
if (NOT TARGET Boost::${BOOST_COMPONENT})
|
||||
message(FATAL_ERROR "Boost target Boost::${BOOST_COMPONENT} was not defined by cmake.")
|
||||
endif()
|
||||
endforeach()
|
||||
|
@ -34,7 +34,6 @@ set(sources
|
||||
)
|
||||
|
||||
add_library(devcore ${sources})
|
||||
target_link_libraries(devcore PUBLIC jsoncpp ${Boost_FILESYSTEM_LIBRARIES} ${Boost_REGEX_LIBRARIES} ${Boost_SYSTEM_LIBRARIES} Threads::Threads)
|
||||
target_link_libraries(devcore PUBLIC jsoncpp Boost::boost Boost::filesystem Boost::regex Boost::system Threads::Threads)
|
||||
target_include_directories(devcore PUBLIC "${CMAKE_SOURCE_DIR}")
|
||||
target_include_directories(devcore SYSTEM PUBLIC ${Boost_INCLUDE_DIRS})
|
||||
add_dependencies(devcore solidity_BuildInfo.h)
|
||||
|
@ -137,7 +137,7 @@ if (NOT (${Z3_FOUND} OR ${CVC4_FOUND}))
|
||||
endif()
|
||||
|
||||
add_library(solidity ${sources} ${z3_SRCS} ${cvc4_SRCS})
|
||||
target_link_libraries(solidity PUBLIC yul evmasm langutil devcore ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY})
|
||||
target_link_libraries(solidity PUBLIC yul evmasm langutil devcore Boost::boost Boost::filesystem Boost::system)
|
||||
|
||||
if (${Z3_FOUND})
|
||||
target_link_libraries(solidity PUBLIC z3::libz3)
|
||||
|
@ -1,5 +1,5 @@
|
||||
add_executable(lllc main.cpp)
|
||||
target_link_libraries(lllc PRIVATE lll ${Boost_SYSTEM_LIBRARY})
|
||||
target_link_libraries(lllc PRIVATE lll Boost::boost Boost::system)
|
||||
|
||||
if (INSTALL_LLLC)
|
||||
include(GNUInstallDirs)
|
||||
|
@ -5,7 +5,7 @@ set(
|
||||
)
|
||||
|
||||
add_executable(solc ${sources})
|
||||
target_link_libraries(solc PRIVATE solidity ${Boost_PROGRAM_OPTIONS_LIBRARIES})
|
||||
target_link_libraries(solc PRIVATE solidity Boost::boost Boost::program_options)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
install(TARGETS solc DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
|
@ -30,7 +30,7 @@ add_executable(soltest ${sources} ${headers}
|
||||
${libsolidity_sources} ${libsolidity_headers}
|
||||
${libsolidity_util_sources} ${libsolidity_util_headers}
|
||||
)
|
||||
target_link_libraries(soltest PRIVATE libsolc yul solidity yulInterpreter evmasm devcore ${Boost_PROGRAM_OPTIONS_LIBRARIES} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARIES})
|
||||
target_link_libraries(soltest PRIVATE libsolc yul solidity yulInterpreter evmasm devcore Boost::boost Boost::program_options Boost::unit_test_framework)
|
||||
|
||||
if (LLL)
|
||||
target_link_libraries(soltest PRIVATE lll)
|
||||
|
@ -2,13 +2,13 @@ add_subdirectory(ossfuzz)
|
||||
|
||||
add_subdirectory(yulInterpreter)
|
||||
add_executable(yulrun yulrun.cpp)
|
||||
target_link_libraries(yulrun PRIVATE yulInterpreter libsolc evmasm ${Boost_PROGRAM_OPTIONS_LIBRARIES})
|
||||
target_link_libraries(yulrun PRIVATE yulInterpreter libsolc evmasm Boost::boost Boost::program_options)
|
||||
|
||||
add_executable(solfuzzer afl_fuzzer.cpp fuzzer_common.cpp)
|
||||
target_link_libraries(solfuzzer PRIVATE libsolc evmasm ${Boost_PROGRAM_OPTIONS_LIBRARIES} ${Boost_SYSTEM_LIBRARIES})
|
||||
target_link_libraries(solfuzzer PRIVATE libsolc evmasm Boost::boost Boost::program_options Boost::system)
|
||||
|
||||
add_executable(yulopti yulopti.cpp)
|
||||
target_link_libraries(yulopti PRIVATE solidity ${Boost_PROGRAM_OPTIONS_LIBRARIES} ${Boost_SYSTEM_LIBRARIES})
|
||||
target_link_libraries(yulopti PRIVATE solidity Boost::boost Boost::program_options Boost::system)
|
||||
|
||||
add_executable(isoltest
|
||||
isoltest.cpp
|
||||
@ -31,4 +31,4 @@ add_executable(isoltest
|
||||
../libyul/YulOptimizerTest.cpp
|
||||
../libyul/YulInterpreterTest.cpp
|
||||
)
|
||||
target_link_libraries(isoltest PRIVATE libsolc solidity yulInterpreter evmasm ${Boost_PROGRAM_OPTIONS_LIBRARIES} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARIES})
|
||||
target_link_libraries(isoltest PRIVATE libsolc solidity yulInterpreter evmasm Boost::boost Boost::program_options Boost::unit_test_framework)
|
||||
|
Loading…
Reference in New Issue
Block a user