summaryrefslogtreecommitdiffstats
path: root/hl
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2016-07-12 17:16:00 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2016-07-12 17:16:00 (GMT)
commitd6d7e62d0b0920c6f63f111b60a22f5a9a50eda5 (patch)
treedcdf7c925cb07dc309780d401bf8fb03334c415a /hl
parent79d909194836c3847669acb78cad15d743f8a135 (diff)
downloadhdf5-d6d7e62d0b0920c6f63f111b60a22f5a9a50eda5.zip
hdf5-d6d7e62d0b0920c6f63f111b60a22f5a9a50eda5.tar.gz
hdf5-d6d7e62d0b0920c6f63f111b60a22f5a9a50eda5.tar.bz2
[svn-r30171] HDFFV-9939: convert cmake copy commands to reduce issue with too long command lines on some platforms.
Also, refactor hl/tools/gif3h5 cmake files. JAVA-1920: add plugin test with plugin that depends on hdf5
Diffstat (limited to 'hl')
-rw-r--r--hl/examples/CMakeTests.cmake16
-rw-r--r--hl/test/CMakeTests.cmake62
-rw-r--r--hl/tools/CMakeLists.txt64
-rw-r--r--hl/tools/CMakeTests.cmake58
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")