CMakeLists.txt 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # sources
  2. set(SOURCES bench.c)
  3. # targets
  4. add_executable(bench ${SOURCES})
  5. if(UNIX AND NOT APPLE AND NOT HAIKU)
  6. # cmake is complaining about LINK_PRIVATE in original PR
  7. # and removing it does not seem to hurt, so be it.
  8. # target_link_libraries(bench LINK_PRIVATE rt)
  9. target_link_libraries(bench rt)
  10. endif(UNIX AND NOT APPLE AND NOT HAIKU)
  11. target_link_libraries(bench blosc_shared)
  12. # have to copy blosc dlls on Windows
  13. if(MSVC)
  14. add_custom_command(
  15. TARGET bench
  16. POST_BUILD
  17. COMMAND ${CMAKE_COMMAND}
  18. ARGS -E copy_if_different
  19. "${PROJECT_BINARY_DIR}/blosc/\$\(Configuration\)/blosc.dll"
  20. "${CMAKE_CURRENT_BINARY_DIR}/\$\(Configuration\)/blosc.dll")
  21. elseif(MINGW)
  22. add_custom_command(
  23. TARGET bench
  24. POST_BUILD
  25. COMMAND ${CMAKE_COMMAND}
  26. ARGS -E copy_if_different
  27. "${PROJECT_BINARY_DIR}/blosc/libblosc.dll"
  28. "${CMAKE_CURRENT_BINARY_DIR}/libblosc.dll")
  29. endif()
  30. # tests
  31. if(BUILD_TESTS)
  32. # The commented tests below take too much time to complete
  33. option(TEST_INCLUDE_BENCH_SHUFFLE_1 "Include bench shuffle (1 thread) in the tests" ON)
  34. if(TEST_INCLUDE_BENCH_SHUFFLE_1)
  35. set(SHUFFLE_1_OPTS shuffle test 1)
  36. add_test(test_blosclz_shuffle_1 bench blosclz ${SHUFFLE_1_OPTS})
  37. if (HAVE_LZ4)
  38. add_test(test_lz4_shuffle_1 bench lz4 ${SHUFFLE_1_OPTS})
  39. # add_test(test_lz4hc_shuffle_1 bench lz4hc ${SHUFFLE_1_OPTS})
  40. endif (HAVE_LZ4)
  41. if (HAVE_SNAPPY)
  42. add_test(test_snappy_shuffle_1 bench snappy ${SHUFFLE_1_OPTS})
  43. endif (HAVE_SNAPPY)
  44. if (HAVE_ZLIB)
  45. # add_test(test_zlib_shuffle_1 bench zlib ${SHUFFLE_1_OPTS})
  46. endif (HAVE_ZLIB)
  47. if (HAVE_ZSTD)
  48. # add_test(test_zstd_shuffle_1 bench zstd ${SHUFFLE_1_OPTS})
  49. endif (HAVE_ZSTD)
  50. endif(TEST_INCLUDE_BENCH_SHUFFLE_1)
  51. option(TEST_INCLUDE_BENCH_SHUFFLE_N "Include bench shuffle (multithread) in the tests" ON)
  52. if(TEST_INCLUDE_BENCH_SHUFFLE_N)
  53. set(SHUFFLE_N_OPTS shuffle test)
  54. add_test(test_blosclz_shuffle_n bench blosclz ${SHUFFLE_N_OPTS})
  55. if (HAVE_LZ4)
  56. add_test(test_lz4_shuffle_n bench lz4 ${SHUFFLE_N_OPTS})
  57. add_test(test_lz4hc_shuffle_n bench lz4hc ${SHUFFLE_N_OPTS})
  58. endif (HAVE_LZ4)
  59. if (HAVE_SNAPPY)
  60. add_test(test_snappy_shuffle_n bench snappy ${SHUFFLE_N_OPTS})
  61. endif (HAVE_SNAPPY)
  62. if (HAVE_ZLIB)
  63. add_test(test_zlib_shuffle_n bench zlib ${SHUFFLE_N_OPTS})
  64. endif (HAVE_ZLIB)
  65. if (HAVE_ZSTD)
  66. add_test(test_zstd_shuffle_n bench zstd ${SHUFFLE_N_OPTS})
  67. endif (HAVE_ZSTD)
  68. endif(TEST_INCLUDE_BENCH_SHUFFLE_N)
  69. option(TEST_INCLUDE_BENCH_BITSHUFFLE_1 "Include bench bitshuffle (1 thread) in the tests" ON)
  70. if(TEST_INCLUDE_BENCH_BITSHUFFLE_1)
  71. set(BITSHUFFLE_1_OPTS bitshuffle test 1)
  72. add_test(test_blosclz_bitshuffle_1 bench blosclz ${BITSHUFFLE_1_OPTS})
  73. if (HAVE_LZ4)
  74. add_test(test_lz4_bitshuffle_1 bench lz4 ${BITSHUFFLE_1_OPTS})
  75. # add_test(test_lz4hc_bitshuffle_1 bench lz4hc ${BITSHUFFLE_1_OPTS})
  76. endif (HAVE_LZ4)
  77. if (HAVE_SNAPPY)
  78. add_test(test_snappy_bitshuffle_1 bench snappy ${BITSHUFFLE_1_OPTS})
  79. endif (HAVE_SNAPPY)
  80. if (HAVE_ZLIB)
  81. # add_test(test_zlib_bitshuffle_1 bench zlib ${BITSHUFFLE_1_OPTS})
  82. endif (HAVE_ZLIB)
  83. if (HAVE_ZSTD)
  84. # add_test(test_zstd_bitshuffle_1 bench zstd ${BITSHUFFLE_1_OPTS})
  85. endif (HAVE_ZSTD)
  86. endif(TEST_INCLUDE_BENCH_BITSHUFFLE_1)
  87. option(TEST_INCLUDE_BENCH_BITSHUFFLE_N "Include bench bitshuffle (multithread) in the tests" ON)
  88. if(TEST_INCLUDE_BENCH_BITSHUFFLE_N)
  89. set(BITSHUFFLE_N_OPTS bitshuffle test)
  90. add_test(test_blosclz_bitshuffle_n bench blosclz ${BITSHUFFLE_N_OPTS})
  91. if (HAVE_LZ4)
  92. add_test(test_lz4_bitshuffle_n bench lz4 ${BITSHUFFLE_N_OPTS})
  93. # add_test(test_lz4hc_bitshuffle_n bench lz4hc ${BITSHUFFLE_N_OPTS})
  94. endif (HAVE_LZ4)
  95. if (HAVE_SNAPPY)
  96. add_test(test_snappy_bitshuffle_n bench snappy ${BITSHUFFLE_N_OPTS})
  97. endif (HAVE_SNAPPY)
  98. if (HAVE_ZLIB)
  99. # add_test(test_zlib_bitshuffle_n bench zlib ${BITSHUFFLE_N_OPTS})
  100. endif (HAVE_ZLIB)
  101. if (HAVE_ZSTD)
  102. # add_test(test_zstd_bitshuffle_n bench zstd ${BITSHUFFLE_N_OPTS})
  103. endif (HAVE_ZSTD)
  104. endif(TEST_INCLUDE_BENCH_BITSHUFFLE_N)
  105. option(TEST_INCLUDE_BENCH_SUITE "Include bench suite in the tests" OFF)
  106. if(TEST_INCLUDE_BENCH_SUITE)
  107. add_test(test_hardsuite blosc blosclz shuffle suite)
  108. endif(TEST_INCLUDE_BENCH_SUITE)
  109. option(TEST_INCLUDE_BENCH_DEBUGSUITE "Include bench debugsuite in the tests" OFF)
  110. if(TEST_INCLUDE_BENCH_DEBUGSUITE)
  111. add_test(test_debugsuite bench blosclz shuffle debugsuite)
  112. endif(TEST_INCLUDE_BENCH_DEBUGSUITE)
  113. endif(BUILD_TESTS)