mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-22 12:05:53 +00:00
Use find_package to search for system lz4 before vendoring
This commit is contained in:
22
Builds/CMake/deps/Findlz4.cmake
Normal file
22
Builds/CMake/deps/Findlz4.cmake
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
find_package (PkgConfig REQUIRED)
|
||||||
|
pkg_search_module (lz4_PC QUIET liblz4>=1.8)
|
||||||
|
|
||||||
|
if(static)
|
||||||
|
set(LZ4_LIB liblz4.a)
|
||||||
|
else()
|
||||||
|
set(LZ4_LIB lz4)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_library (lz4
|
||||||
|
NAMES ${LZ4_LIB}
|
||||||
|
HINTS
|
||||||
|
${lz4_PC_LIBDIR}
|
||||||
|
${lz4_PC_LIBRARY_DIRS}
|
||||||
|
NO_DEFAULT_PATH)
|
||||||
|
|
||||||
|
find_path (LZ4_INCLUDE_DIR
|
||||||
|
NAMES lz4.h
|
||||||
|
HINTS
|
||||||
|
${lz4_PC_INCLUDEDIR}
|
||||||
|
${lz4_PC_INCLUDEDIRS}
|
||||||
|
NO_DEFAULT_PATH)
|
||||||
@@ -73,7 +73,7 @@ ExternalProject_Add (libarchive
|
|||||||
>
|
>
|
||||||
TEST_COMMAND ""
|
TEST_COMMAND ""
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
DEPENDS lz4
|
DEPENDS lz4_lib
|
||||||
BUILD_BYPRODUCTS
|
BUILD_BYPRODUCTS
|
||||||
<BINARY_DIR>/libarchive/${ep_lib_prefix}archive${lib_post}${ep_lib_suffix}
|
<BINARY_DIR>/libarchive/${ep_lib_prefix}archive${lib_post}${ep_lib_suffix}
|
||||||
<BINARY_DIR>/libarchive/${ep_lib_prefix}archive${lib_post}_d${ep_lib_suffix}
|
<BINARY_DIR>/libarchive/${ep_lib_prefix}archive${lib_post}_d${ep_lib_suffix}
|
||||||
|
|||||||
@@ -2,7 +2,23 @@
|
|||||||
NIH dep: lz4
|
NIH dep: lz4
|
||||||
#]===================================================================]
|
#]===================================================================]
|
||||||
|
|
||||||
ExternalProject_Add (lz4
|
add_library (lz4_lib STATIC IMPORTED GLOBAL)
|
||||||
|
|
||||||
|
if (NOT WIN32)
|
||||||
|
find_package(lz4)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(lz4)
|
||||||
|
set_target_properties (lz4_lib PROPERTIES
|
||||||
|
IMPORTED_LOCATION_DEBUG
|
||||||
|
${lz4}
|
||||||
|
IMPORTED_LOCATION_RELEASE
|
||||||
|
${lz4}
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES
|
||||||
|
${LZ4_INCLUDE_DIR})
|
||||||
|
|
||||||
|
else()
|
||||||
|
ExternalProject_Add (lz4
|
||||||
PREFIX ${nih_cache_path}
|
PREFIX ${nih_cache_path}
|
||||||
GIT_REPOSITORY https://github.com/lz4/lz4.git
|
GIT_REPOSITORY https://github.com/lz4/lz4.git
|
||||||
GIT_TAG v1.8.2
|
GIT_TAG v1.8.2
|
||||||
@@ -39,21 +55,24 @@ ExternalProject_Add (lz4
|
|||||||
BUILD_BYPRODUCTS
|
BUILD_BYPRODUCTS
|
||||||
<BINARY_DIR>/${ep_lib_prefix}lz4${ep_lib_suffix}
|
<BINARY_DIR>/${ep_lib_prefix}lz4${ep_lib_suffix}
|
||||||
<BINARY_DIR>/${ep_lib_prefix}lz4_d${ep_lib_suffix}
|
<BINARY_DIR>/${ep_lib_prefix}lz4_d${ep_lib_suffix}
|
||||||
)
|
)
|
||||||
ExternalProject_Get_Property (lz4 BINARY_DIR)
|
ExternalProject_Get_Property (lz4 BINARY_DIR)
|
||||||
ExternalProject_Get_Property (lz4 SOURCE_DIR)
|
ExternalProject_Get_Property (lz4 SOURCE_DIR)
|
||||||
if (CMAKE_VERBOSE_MAKEFILE)
|
|
||||||
print_ep_logs (lz4)
|
file (MAKE_DIRECTORY ${SOURCE_DIR}/lz4)
|
||||||
endif ()
|
set_target_properties (lz4_lib PROPERTIES
|
||||||
add_library (lz4_lib STATIC IMPORTED GLOBAL)
|
|
||||||
file (MAKE_DIRECTORY ${SOURCE_DIR}/lz4)
|
|
||||||
set_target_properties (lz4_lib PROPERTIES
|
|
||||||
IMPORTED_LOCATION_DEBUG
|
IMPORTED_LOCATION_DEBUG
|
||||||
${BINARY_DIR}/${ep_lib_prefix}lz4_d${ep_lib_suffix}
|
${BINARY_DIR}/${ep_lib_prefix}lz4_d${ep_lib_suffix}
|
||||||
IMPORTED_LOCATION_RELEASE
|
IMPORTED_LOCATION_RELEASE
|
||||||
${BINARY_DIR}/${ep_lib_prefix}lz4${ep_lib_suffix}
|
${BINARY_DIR}/${ep_lib_prefix}lz4${ep_lib_suffix}
|
||||||
INTERFACE_INCLUDE_DIRECTORIES
|
INTERFACE_INCLUDE_DIRECTORIES
|
||||||
${SOURCE_DIR}/lib)
|
${SOURCE_DIR}/lib)
|
||||||
|
|
||||||
|
if (CMAKE_VERBOSE_MAKEFILE)
|
||||||
|
print_ep_logs (lz4)
|
||||||
|
endif ()
|
||||||
|
endif()
|
||||||
|
|
||||||
add_dependencies (lz4_lib lz4)
|
add_dependencies (lz4_lib lz4)
|
||||||
target_link_libraries (ripple_libs INTERFACE lz4_lib)
|
target_link_libraries (ripple_libs INTERFACE lz4_lib)
|
||||||
exclude_if_included (lz4)
|
exclude_if_included (lz4)
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ ExternalProject_Add (rocksdb
|
|||||||
LIST_SEPARATOR ::
|
LIST_SEPARATOR ::
|
||||||
TEST_COMMAND ""
|
TEST_COMMAND ""
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
DEPENDS snappy lz4
|
DEPENDS snappy lz4_lib
|
||||||
BUILD_BYPRODUCTS
|
BUILD_BYPRODUCTS
|
||||||
<BINARY_DIR>/${ep_lib_prefix}rocksdb${ep_lib_suffix}
|
<BINARY_DIR>/${ep_lib_prefix}rocksdb${ep_lib_suffix}
|
||||||
<BINARY_DIR>/${ep_lib_prefix}rocksdb_d${ep_lib_suffix}
|
<BINARY_DIR>/${ep_lib_prefix}rocksdb_d${ep_lib_suffix}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
cmake_minimum_required (VERSION 3.9.0)
|
cmake_minimum_required (VERSION 3.9.0)
|
||||||
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/Builds/CMake)
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake")
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/deps")
|
||||||
|
|
||||||
set (CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake ${CMAKE_MODULE_PATH})
|
|
||||||
include (CheckCXXCompilerFlag)
|
include (CheckCXXCompilerFlag)
|
||||||
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.11)
|
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.11)
|
||||||
include (FetchContent)
|
include (FetchContent)
|
||||||
|
|||||||
Reference in New Issue
Block a user