You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.5 KiB
61 lines
2.5 KiB
# 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!
|
|
|
|
# by defining this 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
|
|
string(TOLOWER ${CMAKE_SYSTEM_NAME} _system_name)
|
|
if (CMAKE_CL_64)
|
|
set (ETH_DEPENDENCY_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extdep/install/${_system_name}/x64")
|
|
else ()
|
|
set (ETH_DEPENDENCY_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extdep/install/${_system_name}/Win32")
|
|
endif()
|
|
set (CMAKE_PREFIX_PATH ${ETH_DEPENDENCY_INSTALL_DIR})
|
|
|
|
# setup directory for cmake generated files and include it globally
|
|
# it's not used yet, but if we have more generated files, consider moving them to ETH_GENERATED_DIR
|
|
set(ETH_GENERATED_DIR "${PROJECT_BINARY_DIR}/gen")
|
|
include_directories(${ETH_GENERATED_DIR})
|
|
|
|
# custom cmake scripts
|
|
set(ETH_SCRIPTS_DIR ${CMAKE_CURRENT_LIST_DIR}/scripts)
|
|
|
|
find_program(CTEST_COMMAND ctest)
|
|
message(STATUS "ctest path: ${CTEST_COMMAND}")
|
|
|
|
# Dependencies must have a version number, to ensure reproducible build. The version provided here is the one that is in the extdep repository. If you use system libraries, version numbers may be different.
|
|
|
|
# TODO the Jsoncpp package does not yet check for correct version number
|
|
find_package (Jsoncpp 0.60 REQUIRED)
|
|
message(" - Jsoncpp header: ${JSONCPP_INCLUDE_DIRS}")
|
|
message(" - Jsoncpp lib : ${JSONCPP_LIBRARIES}")
|
|
|
|
find_package (json_rpc_cpp 0.4 REQUIRED)
|
|
message (" - json-rpc-cpp header: ${JSON_RPC_CPP_INCLUDE_DIRS}")
|
|
message (" - json-rpc-cpp lib : ${JSON_RPC_CPP_LIBRARIES}")
|
|
|
|
# curl is only requried for tests
|
|
# TODO specify min curl version, on windows we are currently using 7.29
|
|
find_package (CURL)
|
|
message(" - curl header: ${CURL_INCLUDE_DIRS}")
|
|
message(" - curl lib : ${CURL_LIBRARIES}")
|
|
|
|
find_package (OpenCL)
|
|
if (OpenCL_FOUND)
|
|
message(" - opencl header: ${OpenCL_INCLUDE_DIRS}")
|
|
message(" - opencl lib : ${OpenCL_LIBRARIES}")
|
|
endif()
|
|
|
|
find_package (CUDA)
|
|
if (CUDA_FOUND)
|
|
message(" - CUDA header: ${CUDA_INCLUDE_DIRS}")
|
|
message(" - CUDA lib : ${CUDA_LIBRARIES}")
|
|
endif()
|
|
|
|
# find location of jsonrpcstub
|
|
find_program(ETH_JSON_RPC_STUB jsonrpcstub)
|
|
message(" - jsonrpcstub location : ${ETH_JSON_RPC_STUB}")
|
|
|
|
if (APPLE)
|
|
link_directories(/usr/local/lib)
|
|
include_directories(/usr/local/include)
|
|
endif()
|
|
|