]> git.proxmox.com Git - ceph.git/blame - ceph/src/compressor/zlib/CMakeLists.txt
bump version to 18.2.2-pve1
[ceph.git] / ceph / src / compressor / zlib / CMakeLists.txt
CommitLineData
7c673cae
FG
1# zlib
2
f67539c2 3if(HAVE_INTEL_SSE4_1 AND HAVE_NASM_X64_AVX2 AND (NOT APPLE))
1e59de90
TL
4 set(CMAKE_ASM_FLAGS "-i ${PROJECT_SOURCE_DIR}/src/isa-l/igzip/ -i ${PROJECT_SOURCE_DIR}/src/isa-l/include/ ${CMAKE_ASM_FLAGS}")
5 set(zlib_sources
6 CompressionPluginZlib.cc
7 ZlibCompressor.cc
8 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c
9 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/hufftables_c.c
10 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_base.c
11 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_base.c
12 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_base.c
13 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/flatten_ll.c
14 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df.c
15 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body.c
16 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_inflate.c
17 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/huff_codes.c
18 ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base_aliases.c
19 ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base.c
20 ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc64_base.c
21 )
22 list(APPEND zlib_sources
23 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_body.asm
24 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_finish.asm
25 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body_h1_gr_bt.asm
26 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_finish.asm
27 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/rfc1951_lookup.asm
28 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_sse.asm
29 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_avx2_4.asm
30 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_multibinary.asm
31 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_update_histogram_01.asm
32 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_update_histogram_04.asm
33 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_decode_block_stateless_01.asm
34 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_decode_block_stateless_04.asm
35 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_inflate_multibinary.asm
36 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df_04.asm
37 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df_06.asm
38 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/proc_heap.asm
39 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_deflate_hash.asm
40 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_gen_icf_map_lh1_06.asm
41 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_gen_icf_map_lh1_04.asm
42 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_set_long_icf_fg_04.asm
43 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_set_long_icf_fg_06.asm
44 )
45elseif(HAVE_ARMV8_SIMD)
46 set(zlib_asm_sources
47 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_inflate_multibinary_arm64.S
48 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_multibinary_arm64.S
49 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_deflate_body_aarch64.S
50 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_deflate_finish_aarch64.S
51 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/isal_deflate_icf_body_hash_hist.S
52 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/isal_deflate_icf_finish_hash_hist.S
53 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_set_long_icf_fg.S
54 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/isal_update_histogram.S
55 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_deflate_hash_aarch64.S
56 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_decode_huffman_code_block_aarch64.S
57 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_isal_adler32_neon.S
58 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/encode_df.S
59 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/gen_icf_map.S
60 )
61 set(zlib_sources
62 CompressionPluginZlib.cc
63 ZlibCompressor.cc
64 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c
65 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/hufftables_c.c
66 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_base.c
67 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_base.c
68 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_base.c
69 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/flatten_ll.c
70 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df.c
71 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body.c
72 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_inflate.c
73 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/huff_codes.c
74 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/proc_heap_base.c
75 ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_multibinary_aarch64_dispatcher.c
76 ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base_aliases.c
77 ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base.c
78 ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc64_base.c
79 ${zlib_asm_sources}
80 )
81 set_source_files_properties(${zlib_asm_sources} PROPERTIES
82 COMPILE_DEFINITIONS "__ASSEMBLY__"
83 INCLUDE_DIRECTORIES "${PROJECT_SOURCE_DIR}/src/isa-l/igzip;${PROJECT_SOURCE_DIR}/src/isa-l/igzip/aarch64"
84 )
85else()
86 set(zlib_sources
87 CompressionPluginZlib.cc
88 ZlibCompressor.cc
89 )
90endif()
7c673cae
FG
91
92add_library(ceph_zlib SHARED ${zlib_sources})
f67539c2 93target_link_libraries(ceph_zlib ZLIB::ZLIB compressor $<$<PLATFORM_ID:Windows>:ceph-common>)
11fdf7f2 94target_include_directories(ceph_zlib SYSTEM PRIVATE "${CMAKE_SOURCE_DIR}/src/isa-l/include")
7c673cae
FG
95set_target_properties(ceph_zlib PROPERTIES
96 VERSION 2.0.0
97 SOVERSION 2
98 INSTALL_RPATH "")
99install(TARGETS ceph_zlib DESTINATION ${compressor_plugin_dir})