]> git.proxmox.com Git - ceph.git/blame - ceph/src/compressor/zstd/CMakeLists.txt
update sources to 12.2.8
[ceph.git] / ceph / src / compressor / zstd / CMakeLists.txt
CommitLineData
7c673cae
FG
1# zstd
2
3# libzstd - build it statically
4set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable -O3)
5
6include(ExternalProject)
7ExternalProject_Add(zstd_ext
8 SOURCE_DIR ${CMAKE_SOURCE_DIR}/src/zstd/build/cmake
9 CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
10 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
11 -DCMAKE_C_FLAGS=${ZSTD_C_FLAGS}
12 -DCMAKE_AR=${CMAKE_AR}
13 BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzstd
14 BUILD_COMMAND $(MAKE) libzstd_static
15 INSTALL_COMMAND "true")
16
17# force zstd make to be called on each time
18ExternalProject_Add_Step(zstd_ext forcebuild
19 DEPENDEES configure
20 DEPENDERS build
21 COMMAND "true"
22 ALWAYS 1)
23
24add_library(zstd STATIC IMPORTED)
25set_property(TARGET zstd PROPERTY
26 IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/libzstd/lib/libzstd.a")
27add_dependencies(zstd zstd_ext)
28set(ZSTD_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/zstd/lib)
29
30#
31set(zstd_sources
32 CompressionPluginZstd.cc
33)
34
35add_library(ceph_zstd SHARED ${zstd_sources})
36add_dependencies(ceph_zstd ${CMAKE_SOURCE_DIR}/src/ceph_ver.h)
37target_link_libraries(ceph_zstd zstd)
38set_target_properties(ceph_zstd PROPERTIES VERSION 2.0.0 SOVERSION 2)
39install(TARGETS ceph_zstd DESTINATION ${compressor_plugin_dir})