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