diff options
Diffstat (limited to 'hl')
-rw-r--r-- | hl/examples/CMakeTests.cmake | 16 | ||||
-rw-r--r-- | hl/test/CMakeTests.cmake | 62 | ||||
-rw-r--r-- | hl/tools/CMakeLists.txt | 64 | ||||
-rw-r--r-- | hl/tools/CMakeTests.cmake | 58 |
4 files changed, 45 insertions, 155 deletions
diff --git a/hl/examples/CMakeTests.cmake b/hl/examples/CMakeTests.cmake index 8cf74d9..6384aa5 100644 --- a/hl/examples/CMakeTests.cmake +++ b/hl/examples/CMakeTests.cmake @@ -11,21 +11,15 @@ set (HDF5_TEST_FILES ) foreach (h5_file ${HDF5_TEST_FILES}) - set (dest "${PROJECT_BINARY_DIR}/${h5_file}") - #message (STATUS " Copying ${h5_file}") - add_custom_command ( - TARGET hl_ex_ex_ds1 - POST_BUILD - COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/${h5_file} ${dest} - ) + HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/${h5_file}" "${PROJECT_BINARY_DIR}/${h5_file}" "hl_ex_ex_ds1_files") endforeach (h5_file ${HDF5_TEST_FILES}) +add_custom_target(hl_ex_ex_ds1_files ALL COMMENT "Copying files needed by hl_ex_ex_ds1 tests" DEPENDS ${hl_ex_ex_ds1_files_list}) # Remove any output file left over from previous test run add_test ( NAME HL_ex-clear-objects COMMAND ${CMAKE_COMMAND} - -E remove + -E remove ex_lite1.h5 ex_lite2.h5 ex_lite3.h5 @@ -48,13 +42,13 @@ endforeach (h5_file ${HDF5_TEST_FILES}) ) if (NOT "${last_test}" STREQUAL "") set_tests_properties (HL_ex-clear-objects PROPERTIES DEPENDS ${last_test}) - endif (NOT "${last_test}" STREQUAL "") + endif () set (last_test "HL_ex-clear-objects") foreach (example ${examples}) add_test (NAME HL_ex_${example} COMMAND $<TARGET_FILE:hl_ex_${example}>) if (NOT "${last_test}" STREQUAL "") set_tests_properties (HL_ex_${example} PROPERTIES DEPENDS ${last_test}) - endif (NOT "${last_test}" STREQUAL "") + endif () set (last_test "HL_ex_${example}") endforeach (example ${examples}) diff --git a/hl/test/CMakeTests.cmake b/hl/test/CMakeTests.cmake index 7d632cc..619e991 100644 --- a/hl/test/CMakeTests.cmake +++ b/hl/test/CMakeTests.cmake @@ -5,36 +5,50 @@ ############################################################################## ############################################################################## +set (HL_REFERENCE_TEST_FILES + dtype_file.txt + image8.txt + sepia.pal + earth.pal + image24pixel.txt + image24plane.txt + usa.wri + test_table_be.h5 + test_table_cray.h5 + test_table_le.h5 + dsdata.txt + dslat.txt + dslon.txt + test_ds_be.h5 + test_ds_le.h5 +) + +# -------------------------------------------------------------------- +#-- Copy the necessary files. +# -------------------------------------------------------------------- +foreach (h5_file ${HL_REFERENCE_TEST_FILES}) + HDFTEST_COPY_FILE("${HDF5_HL_TEST_SOURCE_DIR}/${h5_file}" "${HDF5_HL_TEST_BINARY_DIR}/${h5_file}" "hl_test_files") +endforeach (h5_file ${HL_REFERENCE_TEST_FILES}) +add_custom_target(hl_test_files ALL COMMENT "Copying files needed by hl_test tests" DEPENDS ${hl_test_files_list}) + # -------------------------------------------------------------------- # Macro used to add a unit test # -------------------------------------------------------------------- -MACRO (HL_ADD_TEST hl_name files) +MACRO (HL_ADD_TEST hl_name) add_test (NAME HL_${hl_name} COMMAND $<TARGET_FILE:hl_${hl_name}>) if (NOT "${last_test}" STREQUAL "") - set_tests_properties (HL_${hl_name} PROPERTIES DEPENDS ${last_test}) - endif (NOT "${last_test}" STREQUAL "") - - # -------------------------------------------------------------------- - #-- Copy the necessary files. - # -------------------------------------------------------------------- - foreach (h5_file ${files}) - set (dest "${HDF5_HL_TEST_BINARY_DIR}/${h5_file}") - #message (STATUS " Copying HL Test File ${h5_file} to ${dest}") - add_custom_command ( - TARGET hl_${hl_name} - PRE_BUILD - COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${HDF5_HL_TEST_SOURCE_DIR}/${h5_file} ${dest} + set_tests_properties (HL_${hl_name} PROPERTIES DEPENDS ${last_test} + ENVIRONMENT "srcdir=${HDF5_HL_TEST_BINARY_DIR}" + WORKING_DIRECTORY ${HDF5_HL_TEST_BINARY_DIR} ) - - endforeach (h5_file ${HL_REFERENCE_TEST_FILES}) + endif () ENDMACRO (HL_ADD_TEST) # Remove any output file left over from previous test run add_test ( NAME HL_test-clear-objects COMMAND ${CMAKE_COMMAND} - -E remove + -E remove combine_tables1.h5 combine_tables2.h5 test_detach.h5 @@ -65,9 +79,9 @@ if (NOT "${last_test}" STREQUAL "") endif (NOT "${last_test}" STREQUAL "") set (last_test "HL_test-clear-objects") -HL_add_test (test_ds "dsdata.txt;dslat.txt;dslon.txt;test_ds_be.h5;test_ds_le.h5") -HL_add_test (test_dset_opt "") -HL_add_test (test_image "image8.txt;sepia.pal;earth.pal;image24pixel.txt;image24plane.txt;usa.wri") -HL_add_test (test_lite "dtype_file.txt") -HL_add_test (test_packet "") -HL_add_test (test_table "test_table_be.h5;test_table_cray.h5;test_table_le.h5") +HL_add_test (test_ds) +HL_add_test (test_dset_opt) +HL_add_test (test_image) +HL_add_test (test_lite) +HL_add_test (test_packet) +HL_add_test (test_table) diff --git a/hl/tools/CMakeLists.txt b/hl/tools/CMakeLists.txt index 73d1f22..560b1f2 100644 --- a/hl/tools/CMakeLists.txt +++ b/hl/tools/CMakeLists.txt @@ -1,64 +1,4 @@ cmake_minimum_required (VERSION 3.1.0) -PROJECT (HDF5_HL_TOOLS) +PROJECT (HDF5_HL_TOOLS C CXX) -#----------------------------------------------------------------------------- -# Define Sources -#----------------------------------------------------------------------------- -set (GIF2H5_SRCS - ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/gif.h - ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/decompress.c - ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/gif2hdf.c - ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/gif2mem.c - ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/gifread.c - ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/writehdf.c -) - -#-- Add gif2hdf5 program -INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib) -INCLUDE_DIRECTORIES (${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5) - -add_executable (gif2h5 ${GIF2H5_SRCS}) -TARGET_NAMING (gif2h5 STATIC) -TARGET_C_PROPERTIES (gif2h5 STATIC " " " ") -target_link_libraries (gif2h5 ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET}) -set_target_properties (gif2h5 PROPERTIES FOLDER tools/hl) - -#-- Add h52gif program -set (hdf2gif_SRCS - ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/hdf2gif.c - ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/hdfgifwr.c -) -add_executable (h52gif ${hdf2gif_SRCS}) -TARGET_NAMING (h52gif STATIC) -TARGET_C_PROPERTIES (h52gif STATIC " " " ") -target_link_libraries (h52gif ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET}) -set_target_properties (h52gif PROPERTIES FOLDER tools/hl) - -if (BUILD_TESTING) - # -------------------------------------------------------------------- - # This executable can generate the actual test files - Currently not - # used in the CMake Build system as we rely on the test files that are - # shipped with HDF5 source archives - # -------------------------------------------------------------------- - if (HDF5_BUILD_GENERATORS) - add_executable (hl_h52gifgentest ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/h52gifgentst.c) - TARGET_NAMING (hl_h52gifgentest STATIC) - TARGET_C_PROPERTIES (hl_h52gifgentest STATIC " " " ") - target_link_libraries (hl_h52gifgentest ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET}) - set_target_properties (hl_h52gifgentest PROPERTIES FOLDER generator/tools/hl) - -# add_test (NAME hl_h52gifgentest COMMAND $<TARGET_FILE:hl_h52gifgentest>) - endif (HDF5_BUILD_GENERATORS) - - include (CMakeTests.cmake) -endif (BUILD_TESTING) - -#----------------------------------------------------------------------------- -# Add file(s) to CMake Install -#----------------------------------------------------------------------------- -install ( - TARGETS - gif2h5 - h52gif - RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT hltoolsapplications -) +add_subdirectory (${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5 ${HDF5_HL_TOOLS_BINARY_DIR}/gif2h5) diff --git a/hl/tools/CMakeTests.cmake b/hl/tools/CMakeTests.cmake deleted file mode 100644 index 4ebd7a2..0000000 --- a/hl/tools/CMakeTests.cmake +++ /dev/null @@ -1,58 +0,0 @@ - -############################################################################## -############################################################################## -### T E S T I N G ### -############################################################################## -############################################################################## - -# Make testfiles dir under build dir -file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") - -# -# copy test files from source to build dir -# - -add_custom_command ( - TARGET gif2h5 - POST_BUILD - COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/testfiles/image1.gif ${PROJECT_BINARY_DIR}/testfiles/image1.gif -) - -add_custom_command ( - TARGET h52gif - POST_BUILD - COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/testfiles/h52giftst.h5 ${PROJECT_BINARY_DIR}/testfiles/h52giftst.h5 -) - -add_custom_command ( - TARGET h52gif - POST_BUILD - COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/testfiles/ex_image2.h5 ${PROJECT_BINARY_DIR}/testfiles/ex_image2.h5 -) - -# Remove any output file left over from previous test run -add_test ( - NAME HL_TOOLS-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - image1.gif - image1.h5 - image.gif - image24.gif -) - -add_test (NAME HL_TOOLS_gif2h5 COMMAND $<TARGET_FILE:gif2h5> testfiles/image1.gif image1.h5) - -add_test (NAME HL_TOOLS_h52gif COMMAND $<TARGET_FILE:h52gif> testfiles/h52giftst.h5 image1.gif -i image) - -add_test (NAME HL_TOOLS_h52gif_none COMMAND $<TARGET_FILE:h52gif> testfiles/h52giftst.h5 image.gif -i nosuch_image) -set_tests_properties (HL_TOOLS_h52gif_none PROPERTIES WILL_FAIL "true") - -#add_test (NAME HL_TOOLS_h52gifpal COMMAND $<TARGET_FILE:h52gif> testfiles/h52giftst.h5 image.gif -i palette) -#set_tests_properties (HL_TOOLS_h52gifpal PROPERTIES WILL_FAIL "true") - -add_test (NAME HL_TOOLS_h52gif24bits COMMAND $<TARGET_FILE:h52gif> testfiles/ex_image2.h5 image24.gif -i image24bitpixel) -set_tests_properties (HL_TOOLS_h52gif24bits PROPERTIES WILL_FAIL "true") |