CMakeLists.txt 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. # sources
  2. set(SOURCES bench.c)
  3. # targets
  4. add_executable(bench ${SOURCES})
  5. if(UNIX AND NOT APPLE)
  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)
  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. endif(TEST_INCLUDE_BENCH_SHUFFLE_1)
  48. option(TEST_INCLUDE_BENCH_SHUFFLE_N "Include bench shuffle (multithread) in the tests" ON)
  49. if(TEST_INCLUDE_BENCH_SHUFFLE_N)
  50. set(SHUFFLE_N_OPTS shuffle test)
  51. add_test(test_blosclz_shuffle_n bench blosclz ${SHUFFLE_N_OPTS})
  52. if (HAVE_LZ4)
  53. add_test(test_lz4_shuffle_n bench lz4 ${SHUFFLE_N_OPTS})
  54. add_test(test_lz4hc_shuffle_n bench lz4hc ${SHUFFLE_N_OPTS})
  55. endif (HAVE_LZ4)
  56. if (HAVE_SNAPPY)
  57. add_test(test_snappy_shuffle_n bench snappy ${SHUFFLE_N_OPTS})
  58. endif (HAVE_SNAPPY)
  59. if (HAVE_ZLIB)
  60. add_test(test_zlib_shuffle_n bench zlib ${SHUFFLE_N_OPTS})
  61. endif (HAVE_ZLIB)
  62. endif(TEST_INCLUDE_BENCH_SHUFFLE_N)
  63. option(TEST_INCLUDE_BENCH_BITSHUFFLE_1 "Include bench bitshuffle (1 thread) in the tests" ON)
  64. if(TEST_INCLUDE_BENCH_BITSHUFFLE_1)
  65. set(BITSHUFFLE_1_OPTS bitshuffle test 1)
  66. add_test(test_blosclz_bitshuffle_1 bench blosclz ${BITSHUFFLE_1_OPTS})
  67. if (HAVE_LZ4)
  68. add_test(test_lz4_bitshuffle_1 bench lz4 ${BITSHUFFLE_1_OPTS})
  69. # add_test(test_lz4hc_bitshuffle_1 bench lz4hc ${BITSHUFFLE_1_OPTS})
  70. endif (HAVE_LZ4)
  71. if (HAVE_SNAPPY)
  72. add_test(test_snappy_bitshuffle_1 bench snappy ${BITSHUFFLE_1_OPTS})
  73. endif (HAVE_SNAPPY)
  74. if (HAVE_ZLIB)
  75. # add_test(test_zlib_bitshuffle_1 bench zlib ${BITSHUFFLE_1_OPTS})
  76. endif (HAVE_ZLIB)
  77. endif(TEST_INCLUDE_BENCH_BITSHUFFLE_1)
  78. option(TEST_INCLUDE_BENCH_BITSHUFFLE_N "Include bench bitshuffle (multithread) in the tests" ON)
  79. if(TEST_INCLUDE_BENCH_BITSHUFFLE_N)
  80. set(BITSHUFFLE_N_OPTS bitshuffle test)
  81. add_test(test_blosclz_bitshuffle_n bench blosclz ${BITSHUFFLE_N_OPTS})
  82. if (HAVE_LZ4)
  83. add_test(test_lz4_bitshuffle_n bench lz4 ${BITSHUFFLE_N_OPTS})
  84. # add_test(test_lz4hc_bitshuffle_n bench lz4hc ${BITSHUFFLE_N_OPTS})
  85. endif (HAVE_LZ4)
  86. if (HAVE_SNAPPY)
  87. add_test(test_snappy_bitshuffle_n bench snappy ${BITSHUFFLE_N_OPTS})
  88. endif (HAVE_SNAPPY)
  89. if (HAVE_ZLIB)
  90. # add_test(test_zlib_bitshuffle_n bench zlib ${BITSHUFFLE_N_OPTS})
  91. endif (HAVE_ZLIB)
  92. endif(TEST_INCLUDE_BENCH_BITSHUFFLE_N)
  93. option(TEST_INCLUDE_BENCH_SUITE "Include bench suite in the tests" OFF)
  94. if(TEST_INCLUDE_BENCH_SUITE)
  95. add_test(test_hardsuite blosc blosclz shuffle suite)
  96. endif(TEST_INCLUDE_BENCH_SUITE)
  97. option(TEST_INCLUDE_BENCH_DEBUGSUITE "Include bench debugsuite in the tests" OFF)
  98. if(TEST_INCLUDE_BENCH_DEBUGSUITE)
  99. add_test(test_debugsuite bench blosclz shuffle debugsuite)
  100. endif(TEST_INCLUDE_BENCH_DEBUGSUITE)
  101. endif(BUILD_TESTS)