2016-08-01 05:25:37 +00:00
# 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 )
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
if ( CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.0.0 )
set ( ETH_DEPENDENCY_INSTALL_DIR "${CMAKE_CURRENT_LIST_DIR}/../extdep/install/windows/x64" )
else ( )
get_filename_component ( DEPS_DIR "${CMAKE_CURRENT_LIST_DIR}/../deps/install" ABSOLUTE )
set ( ETH_DEPENDENCY_INSTALL_DIR
" $ { D E P S _ D I R } / x 6 4 " # Old location for deps.
" $ { D E P S _ D I R } / w i n 6 4 " # New location for deps.
" $ { D E P S _ D I R } / w i n 6 4 / R e l e a s e / s h a r e " # LLVM shared cmake files.
)
endif ( )
set ( CMAKE_PREFIX_PATH ${ ETH_DEPENDENCY_INSTALL_DIR } ${ CMAKE_PREFIX_PATH } )
endif ( )
# custom cmake scripts
set ( ETH_CMAKE_DIR ${ CMAKE_CURRENT_LIST_DIR } )
set ( ETH_SCRIPTS_DIR ${ ETH_CMAKE_DIR } /scripts )
find_program ( CTEST_COMMAND ctest )
#message(STATUS "CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}")
#message(STATUS "CMake Helper Path: ${ETH_CMAKE_DIR}")
#message(STATUS "CMake Script Path: ${ETH_SCRIPTS_DIR}")
#message(STATUS "ctest path: ${CTEST_COMMAND}")
## use multithreaded boost libraries, with -mt suffix
set ( Boost_USE_MULTITHREADED ON )
2017-08-21 18:42:06 +00:00
option ( Boost_USE_STATIC_LIBS "Link Boost statically" ON )
2016-08-01 05:25:37 +00:00
2017-08-23 15:59:48 +00:00
find_package ( Boost 1.54.0 QUIET REQUIRED COMPONENTS regex filesystem unit_test_framework program_options system )
2016-08-01 05:25:37 +00:00
eth_show_dependency ( Boost boost )
if ( APPLE )
link_directories ( /usr/local/lib )
include_directories ( /usr/local/include )
endif ( )
include_directories ( BEFORE "${PROJECT_BINARY_DIR}/include" )