/tools/perform/CMakeLists.txt

https://gitlab.com/jorjpimm/hdf5 · CMake · 126 lines · 96 code · 12 blank · 18 comment · 4 complexity · 3a13de777d2e0ff83569cc9bffd21459 MD5 · raw file

  1. cmake_minimum_required (VERSION 3.1.0)
  2. PROJECT (HDF5_PERFORM )
  3. #-----------------------------------------------------------------------------
  4. # Apply Definitions to compiler in this directory and below
  5. #-----------------------------------------------------------------------------
  6. add_definitions (${HDF_EXTRA_C_FLAGS})
  7. #-----------------------------------------------------------------------------
  8. # Setup include Directories
  9. #-----------------------------------------------------------------------------
  10. INCLUDE_DIRECTORIES (${HDF5_TEST_SRC_DIR})
  11. INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib )
  12. # --------------------------------------------------------------------
  13. # Add the executables
  14. # --------------------------------------------------------------------
  15. #-- Adding test for h5perf_serial
  16. set (h5perf_serial_SRCS
  17. ${HDF5_PERFORM_SOURCE_DIR}/sio_perf.c
  18. ${HDF5_PERFORM_SOURCE_DIR}/sio_engine.c
  19. )
  20. add_executable (h5perf_serial ${h5perf_serial_SRCS})
  21. TARGET_NAMING (h5perf_serial ${LIB_TYPE})
  22. TARGET_C_PROPERTIES (h5perf_serial ${LIB_TYPE} " " " ")
  23. target_link_libraries (h5perf_serial ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
  24. set_target_properties (h5perf_serial PROPERTIES FOLDER perform)
  25. if (HDF5_BUILD_PERFORM_STANDALONE)
  26. #-- Adding test for h5perf_serial_alone
  27. set (h5perf_serial_alone_SRCS
  28. ${HDF5_PERFORM_SOURCE_DIR}/sio_perf.c
  29. ${HDF5_PERFORM_SOURCE_DIR}/sio_engine.c
  30. )
  31. add_executable (h5perf_serial_alone ${h5perf_serial_alone_SRCS})
  32. TARGET_NAMING (h5perf_serial_alone ${LIB_TYPE})
  33. TARGET_C_PROPERTIES (h5perf_serial_alone ${LIB_TYPE} " " " ")
  34. target_link_libraries (h5perf_serial_alone ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
  35. set_target_properties (h5perf_serial_alone PROPERTIES FOLDER perform)
  36. set_property (TARGET h5perf_serial_alone
  37. APPEND PROPERTY COMPILE_DEFINITIONS STANDALONE
  38. )
  39. endif (HDF5_BUILD_PERFORM_STANDALONE)
  40. #-- Adding test for chunk
  41. set (chunk_SRCS
  42. ${HDF5_PERFORM_SOURCE_DIR}/chunk.c
  43. )
  44. ADD_EXECUTABLE(chunk ${chunk_SRCS})
  45. TARGET_NAMING (chunk ${LIB_TYPE})
  46. TARGET_C_PROPERTIES (chunk ${LIB_TYPE} " " " ")
  47. TARGET_LINK_LIBRARIES(chunk ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
  48. set_target_properties (chunk PROPERTIES FOLDER perform)
  49. #-- Adding test for iopipe
  50. set (iopipe_SRCS
  51. ${HDF5_PERFORM_SOURCE_DIR}/iopipe.c
  52. )
  53. add_executable (iopipe ${iopipe_SRCS})
  54. TARGET_NAMING (iopipe ${LIB_TYPE})
  55. TARGET_C_PROPERTIES (iopipe ${LIB_TYPE} " " " ")
  56. target_link_libraries (iopipe ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
  57. set_target_properties (iopipe PROPERTIES FOLDER perform)
  58. #-- Adding test for overhead
  59. set (overhead_SRCS
  60. ${HDF5_PERFORM_SOURCE_DIR}/overhead.c
  61. )
  62. add_executable (overhead ${overhead_SRCS})
  63. TARGET_NAMING (overhead ${LIB_TYPE})
  64. TARGET_C_PROPERTIES (overhead ${LIB_TYPE} " " " ")
  65. target_link_libraries (overhead ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
  66. set_target_properties (overhead PROPERTIES FOLDER perform)
  67. if (BUILD_TESTING)
  68. #-- Adding test for perf_meta
  69. set (perf_meta_SRCS
  70. ${HDF5_PERFORM_SOURCE_DIR}/perf_meta.c
  71. )
  72. add_executable (perf_meta ${perf_meta_SRCS})
  73. TARGET_NAMING (perf_meta ${LIB_TYPE})
  74. TARGET_C_PROPERTIES (perf_meta ${LIB_TYPE} " " " ")
  75. target_link_libraries (perf_meta ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
  76. set_target_properties (perf_meta PROPERTIES FOLDER perform)
  77. endif (BUILD_TESTING)
  78. #-- Adding test for zip_perf
  79. set (zip_perf_SRCS
  80. ${HDF5_PERFORM_SOURCE_DIR}/zip_perf.c
  81. )
  82. add_executable (zip_perf ${zip_perf_SRCS})
  83. TARGET_NAMING (zip_perf ${LIB_TYPE})
  84. TARGET_C_PROPERTIES (zip_perf ${LIB_TYPE} " " " ")
  85. target_link_libraries (zip_perf ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
  86. set_target_properties (zip_perf PROPERTIES FOLDER perform)
  87. if (H5_HAVE_PARALLEL AND BUILD_TESTING)
  88. #-- Adding test for h5perf
  89. set (h5perf_SRCS
  90. ${HDF5_PERFORM_SOURCE_DIR}/pio_perf.c
  91. ${HDF5_PERFORM_SOURCE_DIR}/pio_engine.c
  92. )
  93. add_executable (h5perf ${h5perf_SRCS})
  94. TARGET_NAMING (h5perf ${LIB_TYPE})
  95. TARGET_C_PROPERTIES (h5perf ${LIB_TYPE} " " " ")
  96. target_link_libraries (h5perf ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
  97. set_target_properties (h5perf PROPERTIES FOLDER perform)
  98. if (HDF5_BUILD_PERFORM_STANDALONE)
  99. #-- Adding test for h5perf
  100. set (h5perf_alone_SRCS
  101. ${HDF5_PERFORM_SOURCE_DIR}/pio_perf.c
  102. ${HDF5_PERFORM_SOURCE_DIR}/pio_engine.c
  103. )
  104. add_executable (h5perf_alone ${h5perf_alone_SRCS})
  105. TARGET_NAMING (h5perf_alone ${LIB_TYPE})
  106. TARGET_C_PROPERTIES (h5perf_alone ${LIB_TYPE} " " " ")
  107. target_link_libraries (h5perf_alone ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
  108. set_target_properties (h5perf_alone PROPERTIES FOLDER perform)
  109. set_property (TARGET h5perf_alone
  110. APPEND PROPERTY COMPILE_DEFINITIONS STANDALONE
  111. )
  112. endif (HDF5_BUILD_PERFORM_STANDALONE)
  113. endif (H5_HAVE_PARALLEL AND BUILD_TESTING)
  114. include (CMakeTests.cmake)