aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/crcutil/CMakeLists.txt
diff options
context:
space:
mode:
authorarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-02-18 15:49:59 +0300
committerarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-02-18 15:49:59 +0300
commitb4cb34dfb2619f594d82e512fd9ff7fc97400133 (patch)
tree6a64ab25a145265287789bceed3f59e953561206 /contrib/libs/crcutil/CMakeLists.txt
parent5e837a820d5be0671fa4096a1cc1e378453e5132 (diff)
downloadydb-b4cb34dfb2619f594d82e512fd9ff7fc97400133.tar.gz
intermediate changes
ref:1a0585d83f27cb6fb5b9c4f68a08177e10faf3b3
Diffstat (limited to 'contrib/libs/crcutil/CMakeLists.txt')
-rw-r--r--contrib/libs/crcutil/CMakeLists.txt26
1 files changed, 26 insertions, 0 deletions
diff --git a/contrib/libs/crcutil/CMakeLists.txt b/contrib/libs/crcutil/CMakeLists.txt
new file mode 100644
index 0000000000..3acaf17788
--- /dev/null
+++ b/contrib/libs/crcutil/CMakeLists.txt
@@ -0,0 +1,26 @@
+add_library(contrib-libs-crcutil)
+target_compile_options(contrib-libs-crcutil PRIVATE
+ -DCRCUTIL_USE_MM_CRC32=1
+)
+target_link_libraries(contrib-libs-crcutil PUBLIC
+ contrib-libs-cxxsupp
+)
+target_sources(contrib-libs-crcutil PRIVATE
+ ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/crc32c_sse4.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/multiword_64_64_gcc_i386_mmx.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/multiword_128_64_gcc_amd64_sse2.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/multiword_64_64_gcc_amd64_asm.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/interface.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/multiword_64_64_intrinsic_i386_mmx.cc
+)
+set_property(
+ SOURCE
+ ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/crc32c_sse4.cc
+ APPEND
+ PROPERTY
+ COMPILE_OPTIONS
+ -msse4.1
+ -msse4.2
+ -mpopcnt
+ -mcx16
+)