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