aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/crcutil/CMakeLists.linux.txt
blob: 24b6c4fac2f0defaf64deb2160e3f8ec7df6cf1a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# This file was generated by the build system used internally in the Yandex monorepo.
# Only simple modifications are allowed (adding source-files to targets, adding simple properties
# like target_include_directories). These modifications will be ported to original
# ya.make files by maintainers. Any complex modifications which can't be ported back to the
# original buildsystem will not be accepted.



add_library(contrib-libs-crcutil)
target_compile_options(contrib-libs-crcutil PRIVATE
  -DCRCUTIL_USE_MM_CRC32=1
  $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything>
)
target_link_libraries(contrib-libs-crcutil PUBLIC
  contrib-libs-linux-headers
  contrib-libs-cxxsupp
)
target_sources(contrib-libs-crcutil PRIVATE
  ${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
)
target_sources_custom(contrib-libs-crcutil
  .sse4
  SRCS
  ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/crc32c_sse4.cc
  CUSTOM_FLAGS
  -msse4.1
  -msse4.2
  -mpopcnt
  -mcx16
)