CMakeLists.txt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # This file was gererated by the build system used internally in the Yandex monorepo.
  2. # Only simple modifications are allowed (adding source-files to targets, adding simple properties
  3. # like target_include_directories). These modifications will be ported to original
  4. # ya.make files by maintainers. Any complex modifications which can't be ported back to the
  5. # original buildsystem will not be accepted.
  6. add_library(contrib-libs-crcutil)
  7. target_compile_options(contrib-libs-crcutil PRIVATE
  8. -DCRCUTIL_USE_MM_CRC32=1
  9. )
  10. target_link_libraries(contrib-libs-crcutil PUBLIC
  11. contrib-libs-cxxsupp
  12. )
  13. target_sources(contrib-libs-crcutil PRIVATE
  14. ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/crc32c_sse4.cc
  15. ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/multiword_64_64_gcc_i386_mmx.cc
  16. ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/multiword_128_64_gcc_amd64_sse2.cc
  17. ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/multiword_64_64_gcc_amd64_asm.cc
  18. ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/interface.cc
  19. ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/multiword_64_64_intrinsic_i386_mmx.cc
  20. )
  21. set_property(
  22. SOURCE
  23. ${CMAKE_SOURCE_DIR}/contrib/libs/crcutil/crc32c_sse4.cc
  24. APPEND
  25. PROPERTY
  26. COMPILE_OPTIONS
  27. -msse4.1
  28. -msse4.2
  29. -mpopcnt
  30. -mcx16
  31. )