diff options
Diffstat (limited to 'hl/tools/gif2h5')
-rw-r--r-- | hl/tools/gif2h5/CMakeLists.txt | 64 | ||||
-rw-r--r-- | hl/tools/gif2h5/CMakeTests.cmake | 58 |
2 files changed, 122 insertions, 0 deletions
diff --git a/hl/tools/gif2h5/CMakeLists.txt b/hl/tools/gif2h5/CMakeLists.txt new file mode 100644 index 0000000..d7c4319 --- /dev/null +++ b/hl/tools/gif2h5/CMakeLists.txt @@ -0,0 +1,64 @@ +cmake_minimum_required (VERSION 3.1.0) +PROJECT (HDF5_HL_TOOLS_GIF2H5) + +#----------------------------------------------------------------------------- +# Define Sources +#----------------------------------------------------------------------------- +set (GIF2H5_SRCS + ${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/gif.h + ${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/decompress.c + ${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/gif2hdf.c + ${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/gif2mem.c + ${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/gifread.c + ${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/writehdf.c +) + +#-- Add gif2hdf5 program +INCLUDE_DIRECTORIES (${HDF5_TOOLS_DIR}/lib) +INCLUDE_DIRECTORIES (${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}) + +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_GIF2H5_SOURCE_DIR}/hdf2gif.c + ${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/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_GIF2H5_SOURCE_DIR}/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 +) diff --git a/hl/tools/gif2h5/CMakeTests.cmake b/hl/tools/gif2h5/CMakeTests.cmake new file mode 100644 index 0000000..832d2df --- /dev/null +++ b/hl/tools/gif2h5/CMakeTests.cmake @@ -0,0 +1,58 @@ + +############################################################################## +############################################################################## +### 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_GIF2H5_SOURCE_DIR}/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_GIF2H5_SOURCE_DIR}/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_GIF2H5_SOURCE_DIR}/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") |