summaryrefslogtreecommitdiffstats
path: root/hl/tools/gif2h5
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2016-07-12 17:11:59 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2016-07-12 17:11:59 (GMT)
commit79d909194836c3847669acb78cad15d743f8a135 (patch)
tree8b75784b9a51cdebde6f5ecb67126bd6aa131a79 /hl/tools/gif2h5
parente1d50d498a0affbbd6e088b524fd495ea95dea88 (diff)
downloadhdf5-79d909194836c3847669acb78cad15d743f8a135.zip
hdf5-79d909194836c3847669acb78cad15d743f8a135.tar.gz
hdf5-79d909194836c3847669acb78cad15d743f8a135.tar.bz2
[svn-r30170] HDFFV-9946: condense cygwin autotools config files to a single file. Avoid getpwuid function for cygwin.
Diffstat (limited to 'hl/tools/gif2h5')
-rw-r--r--hl/tools/gif2h5/CMakeLists.txt64
-rw-r--r--hl/tools/gif2h5/CMakeTests.cmake41
2 files changed, 105 insertions, 0 deletions
diff --git a/hl/tools/gif2h5/CMakeLists.txt b/hl/tools/gif2h5/CMakeLists.txt
new file mode 100644
index 0000000..3a55501
--- /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_SOURCES
+ ${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_SOURCES})
+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_SOURCES
+ ${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/hdf2gif.c
+ ${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/hdfgifwr.c
+)
+add_executable (h52gif ${hdf2gif_SOURCES})
+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..1cffe55
--- /dev/null
+++ b/hl/tools/gif2h5/CMakeTests.cmake
@@ -0,0 +1,41 @@
+
+##############################################################################
+##############################################################################
+### 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
+#
+HDFTEST_COPY_FILE("${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/testfiles/image1.gif" "${PROJECT_BINARY_DIR}/testfiles/image1.gif" "gif2h5_files")
+HDFTEST_COPY_FILE("${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/testfiles/h52giftst.h5" "${PROJECT_BINARY_DIR}/testfiles/h52giftst.h5" "gif2h5_files")
+HDFTEST_COPY_FILE("${HDF5_HL_TOOLS_GIF2H5_SOURCE_DIR}/testfiles/ex_image2.h5" "${PROJECT_BINARY_DIR}/testfiles/ex_image2.h5" "gif2h5_files")
+add_custom_target(gif2h5_files ALL COMMENT "Copying files needed by gif2h5 tests" DEPENDS ${gif2h5_files_list})
+
+# 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")