You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kvrocks.apache.org by ti...@apache.org on 2022/06/24 02:15:40 UTC
[incubator-kvrocks] branch unstable updated: Fix lz4 in CMake: support ninja & add Findlz4.cmake (#654)
This is an automated email from the ASF dual-hosted git repository.
tison pushed a commit to branch unstable
in repository https://gitbox.apache.org/repos/asf/incubator-kvrocks.git
The following commit(s) were added to refs/heads/unstable by this push:
new 3c5ff59 Fix lz4 in CMake: support ninja & add Findlz4.cmake (#654)
3c5ff59 is described below
commit 3c5ff59396044d4338483c8ae150359d6c33f843
Author: Twice <tw...@gmail.com>
AuthorDate: Fri Jun 24 10:15:35 2022 +0800
Fix lz4 in CMake: support ninja & add Findlz4.cmake (#654)
---
cmake/lz4.cmake | 8 +++++---
cmake/{lz4.cmake => modules/Findlz4.cmake} | 22 +++++-----------------
cmake/rocksdb.cmake | 3 ---
3 files changed, 10 insertions(+), 23 deletions(-)
diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake
index 67d436f..359a4d2 100644
--- a/cmake/lz4.cmake
+++ b/cmake/lz4.cmake
@@ -28,10 +28,12 @@ FetchContent_GetProperties(lz4)
if(NOT lz4_POPULATED)
FetchContent_Populate(lz4)
add_custom_target(make_lz4 COMMAND make liblz4.a
- WORKING_DIRECTORY ${lz4_SOURCE_DIR}/lib)
+ WORKING_DIRECTORY ${lz4_SOURCE_DIR}/lib
+ BYPRODUCTS ${lz4_SOURCE_DIR}/lib/liblz4.a
+ )
endif()
add_library(lz4 INTERFACE)
-target_include_directories(lz4 INTERFACE ${lz4_SOURCE_DIR}/lib)
-target_link_libraries(lz4 INTERFACE ${lz4_SOURCE_DIR}/lib/liblz4.a)
+target_include_directories(lz4 INTERFACE $<BUILD_INTERFACE:${lz4_SOURCE_DIR}/lib>)
+target_link_libraries(lz4 INTERFACE $<BUILD_INTERFACE:${lz4_SOURCE_DIR}/lib/liblz4.a>)
add_dependencies(lz4 make_lz4)
diff --git a/cmake/lz4.cmake b/cmake/modules/Findlz4.cmake
similarity index 59%
copy from cmake/lz4.cmake
copy to cmake/modules/Findlz4.cmake
index 67d436f..16969e4 100644
--- a/cmake/lz4.cmake
+++ b/cmake/modules/Findlz4.cmake
@@ -15,23 +15,11 @@
# specific language governing permissions and limitations
# under the License.
-include_guard()
-include(FetchContent)
+# used for `find_package(lz4)` mechanism in rocksdb
-FetchContent_Declare(
- lz4
- URL https://github.com/lz4/lz4/archive/v1.9.3.tar.gz
- URL_HASH MD5=3a1ab1684e14fc1afc66228ce61b2db3
-)
+if(lz4_SOURCE_DIR)
+ message(STATUS "Found lz4 in ${lz4_SOURCE_DIR}")
-FetchContent_GetProperties(lz4)
-if(NOT lz4_POPULATED)
- FetchContent_Populate(lz4)
- add_custom_target(make_lz4 COMMAND make liblz4.a
- WORKING_DIRECTORY ${lz4_SOURCE_DIR}/lib)
+ add_library(lz4::lz4 ALIAS lz4) # rocksdb use it
+ install(TARGETS lz4 EXPORT RocksDBTargets) # export for install(...)
endif()
-
-add_library(lz4 INTERFACE)
-target_include_directories(lz4 INTERFACE ${lz4_SOURCE_DIR}/lib)
-target_link_libraries(lz4 INTERFACE ${lz4_SOURCE_DIR}/lib/liblz4.a)
-add_dependencies(lz4 make_lz4)
diff --git a/cmake/rocksdb.cmake b/cmake/rocksdb.cmake
index df85a8f..5b665e1 100644
--- a/cmake/rocksdb.cmake
+++ b/cmake/rocksdb.cmake
@@ -38,9 +38,6 @@ FetchContent_GetProperties(snappy)
FetchContent_MakeAvailableWithArgs(rocksdb
CMAKE_MODULE_PATH=${PROJECT_SOURCE_DIR}/cmake/modules # to locate FindJeMalloc.cmake
Snappy_DIR=${PROJECT_SOURCE_DIR}/cmake/modules # to locate SnappyConfig.cmake
- lz4_ROOT_DIR=${lz4_SOURCE_DIR}/lib
- lz4_LIBRARIES=${lz4_SOURCE_DIR}/lib/liblz4.a
- lz4_INCLUDE_DIRS=${lz4_SOURCE_DIR}/lib
FAIL_ON_WARNINGS=OFF
WITH_TESTS=OFF
WITH_BENCHMARK_TOOLS=OFF