mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-02 00:15:50 +00:00
revert some cmake builds
This commit is contained in:
62
Builds/CMake/FindRocksDB.cmake
Normal file
62
Builds/CMake/FindRocksDB.cmake
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
set (RocksDB_DIR "" CACHE PATH "Root directory of RocksDB distribution")
|
||||||
|
|
||||||
|
find_path (RocksDB_INCLUDE_DIR
|
||||||
|
rocksdb/db.h
|
||||||
|
PATHS ${RocksDB_DIR})
|
||||||
|
|
||||||
|
set (RocksDB_VERSION "")
|
||||||
|
find_file (RocksDB_VERSION_FILE
|
||||||
|
rocksdb/version.h
|
||||||
|
PATHS ${RocksDB_DIR})
|
||||||
|
if (RocksDB_VERSION_FILE)
|
||||||
|
file (READ ${RocksDB_VERSION_FILE} _verfile)
|
||||||
|
if ("${_verfile}" MATCHES "#define[ \\t]+ROCKSDB_MAJOR[ \\t]+([0-9]+)")
|
||||||
|
string (APPEND RocksDB_VERSION "${CMAKE_MATCH_1}")
|
||||||
|
else ()
|
||||||
|
string (APPEND RocksDB_VERSION "0")
|
||||||
|
endif()
|
||||||
|
if ("${_verfile}" MATCHES "#define[ \\t]+ROCKSDB_MINOR[ \\t]+([0-9]+)")
|
||||||
|
string (APPEND RocksDB_VERSION ".${CMAKE_MATCH_1}")
|
||||||
|
else ()
|
||||||
|
string (APPEND RocksDB_VERSION ".0")
|
||||||
|
endif()
|
||||||
|
if ("${_verfile}" MATCHES "#define[ \\t]+ROCKSDB_PATCH[ \\t]+([0-9]+)")
|
||||||
|
string (APPEND RocksDB_VERSION ".${CMAKE_MATCH_1}")
|
||||||
|
else ()
|
||||||
|
string (APPEND RocksDB_VERSION ".0")
|
||||||
|
endif()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (RocksDB_USE_STATIC)
|
||||||
|
list (APPEND RocksDB_NAMES
|
||||||
|
"${CMAKE_STATIC_LIBRARY_PREFIX}rocksdb${CMAKE_STATIC_LIBRARY_SUFFIX}"
|
||||||
|
"${CMAKE_STATIC_LIBRARY_PREFIX}rocksdblib${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
list (APPEND RocksDB_NAMES rocksdb)
|
||||||
|
|
||||||
|
find_library (RocksDB_LIBRARY NAMES ${RocksDB_NAMES}
|
||||||
|
PATHS
|
||||||
|
${RocksDB_DIR}
|
||||||
|
${RocksDB_DIR}/bin/Release
|
||||||
|
${RocksDB_DIR}/bin64_vs2013/Release
|
||||||
|
PATH_SUFFIXES lib lib64)
|
||||||
|
|
||||||
|
foreach (_n RocksDB_NAMES)
|
||||||
|
list (APPEND RocksDB_NAMES_DBG "${_n}_d" "${_n}d")
|
||||||
|
endforeach ()
|
||||||
|
find_library (RocksDB_LIBRARY_DEBUG NAMES ${RocksDB_NAMES_DBG}
|
||||||
|
PATHS
|
||||||
|
${RocksDB_DIR}
|
||||||
|
${RocksDB_DIR}/bin/Debug
|
||||||
|
${RocksDB_DIR}/bin64_vs2013/Debug
|
||||||
|
PATH_SUFFIXES lib lib64)
|
||||||
|
|
||||||
|
include (FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args (RocksDB
|
||||||
|
REQUIRED_VARS RocksDB_LIBRARY RocksDB_INCLUDE_DIR
|
||||||
|
VERSION_VAR RocksDB_VERSION)
|
||||||
|
|
||||||
|
mark_as_advanced (RocksDB_INCLUDE_DIR RocksDB_LIBRARY)
|
||||||
|
set (RocksDB_INCLUDE_DIRS ${RocksDB_INCLUDE_DIR})
|
||||||
|
set (RocksDB_LIBRARIES ${RocksDB_LIBRARY})
|
||||||
18
Builds/CMake/README.md
Normal file
18
Builds/CMake/README.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
These are modules and sources that support our CMake build.
|
||||||
|
|
||||||
|
== FindBoost.cmake ==
|
||||||
|
|
||||||
|
In order to facilitate updating to latest releases of boost, we've made a local
|
||||||
|
copy of the FindBoost cmake module in our repo. The latest official version can
|
||||||
|
generally be obtained
|
||||||
|
[here](https://github.com/Kitware/CMake/blob/master/Modules/FindBoost.cmake).
|
||||||
|
|
||||||
|
The latest version provided by Kitware can be tailored for use with the
|
||||||
|
version of CMake that it ships with (typically the next upcoming CMake
|
||||||
|
release). As such, the latest version from the repository might not work
|
||||||
|
perfectly with older versions of CMake - for instance, the latest version
|
||||||
|
might use features or properties only available in the version of CMake that
|
||||||
|
it ships with. Given this, it's best to test any updates to this module with a few
|
||||||
|
different versions of cmake.
|
||||||
|
|
||||||
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
install (
|
install (
|
||||||
TARGETS
|
TARGETS
|
||||||
|
ed25519-donna
|
||||||
common
|
common
|
||||||
opts
|
opts
|
||||||
ripple_syslibs
|
ripple_syslibs
|
||||||
@@ -15,6 +16,17 @@ install (
|
|||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION bin
|
||||||
INCLUDES DESTINATION include)
|
INCLUDES DESTINATION include)
|
||||||
|
|
||||||
|
if(${INSTALL_SECP256K1})
|
||||||
|
install (
|
||||||
|
TARGETS
|
||||||
|
secp256k1
|
||||||
|
EXPORT RippleExports
|
||||||
|
LIBRARY DESTINATION lib
|
||||||
|
ARCHIVE DESTINATION lib
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
INCLUDES DESTINATION include)
|
||||||
|
endif()
|
||||||
|
|
||||||
install (EXPORT RippleExports
|
install (EXPORT RippleExports
|
||||||
FILE RippleTargets.cmake
|
FILE RippleTargets.cmake
|
||||||
NAMESPACE Ripple::
|
NAMESPACE Ripple::
|
||||||
|
|||||||
@@ -35,10 +35,17 @@ target_link_libraries (opts
|
|||||||
$<$<BOOL:${profile}>:-pg>
|
$<$<BOOL:${profile}>:-pg>
|
||||||
$<$<AND:$<BOOL:${is_gcc}>,$<BOOL:${profile}>>:-p>)
|
$<$<AND:$<BOOL:${is_gcc}>,$<BOOL:${profile}>>:-p>)
|
||||||
|
|
||||||
if(jemalloc)
|
if (jemalloc)
|
||||||
find_package(jemalloc REQUIRED)
|
if (static)
|
||||||
target_compile_definitions(opts INTERFACE PROFILE_JEMALLOC)
|
set(JEMALLOC_USE_STATIC ON CACHE BOOL "" FORCE)
|
||||||
target_link_libraries(opts INTERFACE jemalloc::jemalloc)
|
endif ()
|
||||||
|
find_package (jemalloc REQUIRED)
|
||||||
|
target_compile_definitions (opts INTERFACE PROFILE_JEMALLOC)
|
||||||
|
target_include_directories (opts SYSTEM INTERFACE ${JEMALLOC_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (opts INTERFACE ${JEMALLOC_LIBRARIES})
|
||||||
|
get_filename_component (JEMALLOC_LIB_PATH ${JEMALLOC_LIBRARIES} DIRECTORY)
|
||||||
|
## TODO see if we can use the BUILD_RPATH target property (is it transitive?)
|
||||||
|
set (CMAKE_BUILD_RPATH ${CMAKE_BUILD_RPATH} ${JEMALLOC_LIB_PATH})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (san)
|
if (san)
|
||||||
|
|||||||
33
Builds/CMake/RippledNIH.cmake
Normal file
33
Builds/CMake/RippledNIH.cmake
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
#[===================================================================[
|
||||||
|
NIH prefix path..this is where we will download
|
||||||
|
and build any ExternalProjects, and they will hopefully
|
||||||
|
survive across build directory deletion (manual cleans)
|
||||||
|
#]===================================================================]
|
||||||
|
|
||||||
|
string (REGEX REPLACE "[ \\/%]+" "_" gen_for_path ${CMAKE_GENERATOR})
|
||||||
|
string (TOLOWER ${gen_for_path} gen_for_path)
|
||||||
|
# HACK: trying to shorten paths for windows CI (which hits 260 MAXPATH easily)
|
||||||
|
# @see: https://issues.jenkins-ci.org/browse/JENKINS-38706?focusedCommentId=339847
|
||||||
|
string (REPLACE "visual_studio" "vs" gen_for_path ${gen_for_path})
|
||||||
|
if (NOT DEFINED NIH_CACHE_ROOT)
|
||||||
|
if (DEFINED ENV{NIH_CACHE_ROOT})
|
||||||
|
set (NIH_CACHE_ROOT $ENV{NIH_CACHE_ROOT})
|
||||||
|
else ()
|
||||||
|
set (NIH_CACHE_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/.nih_c")
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
set (nih_cache_path
|
||||||
|
"${NIH_CACHE_ROOT}/${gen_for_path}/${CMAKE_CXX_COMPILER_ID}_${CMAKE_CXX_COMPILER_VERSION}")
|
||||||
|
if (NOT is_multiconfig)
|
||||||
|
set (nih_cache_path "${nih_cache_path}/${CMAKE_BUILD_TYPE}")
|
||||||
|
endif ()
|
||||||
|
file(TO_CMAKE_PATH "${nih_cache_path}" nih_cache_path)
|
||||||
|
message (STATUS "NIH-EP cache path: ${nih_cache_path}")
|
||||||
|
## two convenience variables:
|
||||||
|
set (ep_lib_prefix ${CMAKE_STATIC_LIBRARY_PREFIX})
|
||||||
|
set (ep_lib_suffix ${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||||
|
|
||||||
|
# this is a setting for FetchContent and needs to be
|
||||||
|
# a cache variable
|
||||||
|
# https://cmake.org/cmake/help/latest/module/FetchContent.html#populating-the-content
|
||||||
|
set (FETCHCONTENT_BASE_DIR ${nih_cache_path} CACHE STRING "" FORCE)
|
||||||
@@ -10,7 +10,12 @@ if (NOT ep_procs)
|
|||||||
message (STATUS "Using ${ep_procs} cores for ExternalProject builds.")
|
message (STATUS "Using ${ep_procs} cores for ExternalProject builds.")
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
get_property(is_multiconfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
get_property (is_multiconfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||||
|
if (is_multiconfig STREQUAL "NOTFOUND")
|
||||||
|
if (${CMAKE_GENERATOR} STREQUAL "Xcode" OR ${CMAKE_GENERATOR} MATCHES "^Visual Studio")
|
||||||
|
set (is_multiconfig TRUE)
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
set (CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE)
|
set (CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE)
|
||||||
if (NOT is_multiconfig)
|
if (NOT is_multiconfig)
|
||||||
@@ -44,6 +49,9 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
|||||||
message (FATAL_ERROR "This project requires GCC 8 or later")
|
message (FATAL_ERROR "This project requires GCC 8 or later")
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
if (CMAKE_GENERATOR STREQUAL "Xcode")
|
||||||
|
set (is_xcode TRUE)
|
||||||
|
endif ()
|
||||||
|
|
||||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
set (is_linux TRUE)
|
set (is_linux TRUE)
|
||||||
|
|||||||
Reference in New Issue
Block a user