[svn-r19870] Add tests for examples.

Tested: local linux
This commit is contained in:
Allen Byrne 2010-12-03 17:26:37 -05:00
parent 109294e6e2
commit 449373deb3
9 changed files with 139 additions and 40 deletions

View File

@ -26,6 +26,8 @@ FOREACH (example ${examples})
TARGET_WIN_PROPERTIES (cpp_ex_${example})
TARGET_LINK_LIBRARIES (cpp_ex_${example} ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
ADD_TEST (NAME cpp_ex_${example} COMMAND $<TARGET_FILE:cpp_ex_${example}>)
IF (BUILD_TESTING)
ADD_TEST (NAME cpp_ex_${example} COMMAND $<TARGET_FILE:cpp_ex_${example}>)
ENDIF (BUILD_TESTING)
ENDFOREACH (example ${examples})

View File

@ -15,11 +15,12 @@
# HDF5_VERSION_MINOR - minor part (e.g. 5)
#
# The following boolean vars will be defined
# HDF5_ENABLE_PARALLEL - 1 if HDF5 parallel supported
# HDF5_BUILD_FORTRAN - 1 if HDF5 was compiled with fortran on
# HDF5_BUILD_CPP_LIB - 1 if HDF5 was compiled with cpp on
# HDF5_BUILD_TOOLS - 1 if HDF5 was compiled with tools on
# HDF5_BUILD_HL_LIB - 1 if HDF5 was compiled with parallel on
# HDF5_ENABLE_PARALLEL - 1 if HDF5 parallel supported
# HDF5_BUILD_FORTRAN - 1 if HDF5 was compiled with fortran on
# HDF5_BUILD_CPP_LIB - 1 if HDF5 was compiled with cpp on
# HDF5_BUILD_TOOLS - 1 if HDF5 was compiled with tools on
# HDF5_BUILD_HL_LIB - 1 if HDF5 was compiled with high level on
# HDF5_BUILD_HL_CPP_LIB - 1 if HDF5 was compiled with high level and cpp on
#
# Target names that are valid (depending on enabled options)
# will be the following
@ -35,22 +36,49 @@
# hdf5_hl_cpp : High Level cpp interface library
#
# To aid in finding HDF5 as part of a subproject set
# HDF5_ROOT_DIR_HINT to the location where HDF5-config.cmake lies
# HDF5_ROOT_DIR_HINT to the location where hdf5-config.cmake lies
FIND_PATH (HDF5_ROOT_DIR "HDF5-config.cmake"
${HDF5_ROOT_DIR_HINT}
/usr/local/lib
/usr/local/lib64
/usr/lib
/usr/lib64
"C:/Program Files/HDF5/lib"
INCLUDE (SelectLibraryConfigurations)
INCLUDE (FindPackageHandleStandardArgs)
# The HINTS option should only be used for values computed from the system.
SET (_HDF5_HINTS
$ENV{HOME}/.local
$ENV{HDF5_ROOT}
$ENV{HDF5_ROOT_DIR_HINT}
)
# Hard-coded guesses should still go in PATHS. This ensures that the user
# environment can always override hard guesses.
SET (_HDF5_PATHS
$ENV{HOME}/.local
$ENV{HDF5_ROOT}
$ENV{HDF5_ROOT_DIR_HINT}
/usr/lib/hdf5
/usr/share/hdf5
/usr/local/hdf5
/usr/local/hdf5/share
)
FIND_PATH (HDF5_INCLUDE_DIR "H5public.h"
${HDF5_ROOT_DIR}/../include
FIND_PATH (HDF5_ROOT_DIR "hdf5-config.cmake"
HINTS ${_HDF5_HINTS}
PATHS ${_HDF5_PATHS}
PATH_SUFFIXES
lib/cmake/hdf5-1.8.6
)
FIND_PATH (HDF5_INCLUDE_DIRS "H5public.h"
HINTS ${_HDF5_HINTS}
PATHS ${_HDF5_PATHS}
PATH_SUFFIXES
include
Include
)
# For backwards compatibility we set HDF5_INCLUDE_DIR to the value of
# HDF5_INCLUDE_DIRS
SET ( HDF5_INCLUDE_DIR "${HDF5_INCLUDE_DIRS}" )
IF (HDF5_INCLUDE_DIR)
SET (HDF5_FOUND "YES")
INCLUDE (${HDF5_ROOT_DIR}/HDF5-config.cmake)
INCLUDE (${HDF5_ROOT_DIR}/hdf5-config.cmake)
ENDIF (HDF5_INCLUDE_DIR)

View File

@ -11,6 +11,7 @@ SET (HDF5_BUILD_FORTRAN @HDF5_BUILD_FORTRAN@)
SET (HDF5_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@)
SET (HDF5_BUILD_TOOLS @HDF5_BUILD_TOOLS@)
SET (HDF5_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@)
SET (HDF5_BUILD_HL_CPP_LIB @HDF5_BUILD_HL_CPP_LIB@)
#-----------------------------------------------------------------------------
# Directories
@ -29,6 +30,10 @@ IF (HDF5_BUILD_HL_LIB)
SET (HDF5_INCLUDE_DIR_HL ${HDF5_INCLUDE_DIR} )
ENDIF (HDF5_BUILD_HL_LIB)
IF (HDF5_BUILD_HL_CPP_LIB)
SET (HDF5_INCLUDE_DIR_HL_CPP ${HDF5_INCLUDE_DIR} )
ENDIF (HDF5_BUILD_HL_CPP_LIB)
IF (HDF5_BUILD_TOOLS)
SET (HDF5_INCLUDE_DIR_TOOLS ${HDF5_INCLUDE_DIR} )
ENDIF (HDF5_BUILD_TOOLS)

View File

@ -11,6 +11,7 @@ SET (HDF5_BUILD_FORTRAN @HDF5_BUILD_FORTRAN@)
SET (HDF5_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@)
SET (HDF5_BUILD_TOOLS @HDF5_BUILD_TOOLS@)
SET (HDF5_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@)
SET (HDF5_BUILD_HL_CPP_LIB @HDF5_BUILD_HL_CPP_LIB@)
#-----------------------------------------------------------------------------
# Directories
@ -25,6 +26,10 @@ IF (HDF5_BUILD_CPP_LIB)
SET (HDF5_INCLUDE_DIR_CPP "@CMAKE_INSTALL_PREFIX@/include/cpp" )
ENDIF (HDF5_BUILD_CPP_LIB)
IF (HDF5_BUILD_HL_CPP_LIB)
SET (HDF5_INCLUDE_DIR_HL_CPP "@CMAKE_INSTALL_PREFIX@/include/hl/cpp" )
ENDIF (HDF5_BUILD_HL_CPP_LIB)
IF (HDF5_BUILD_HL_LIB)
SET (HDF5_INCLUDE_DIR_HL "@CMAKE_INSTALL_PREFIX@/include/hl" )
ENDIF (HDF5_BUILD_HL_LIB)

View File

@ -27,11 +27,23 @@ FOREACH (example ${examples})
H5_NAMING (${example})
TARGET_WIN_PROPERTIES (${example})
TARGET_LINK_LIBRARIES (${example} ${HDF5_LIB_TARGET})
IF (BUILD_TESTING)
ADD_TEST (NAME ${example} COMMAND $<TARGET_FILE:${example}>)
ENDIF (BUILD_TESTING)
ENDFOREACH (example ${examples})
IF (BUILD_TESTING)
FILE (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/red ${PROJECT_BINARY_DIR}/blue ${PROJECT_BINARY_DIR}/u2w)
ENDIF (BUILD_TESTING)
IF (H5_HAVE_PARALLEL)
ADD_EXECUTABLE (ph5example ${HDF5_EXAMPLES_SOURCE_DIR}/ph5example.c)
H5_NAMING (ph5example)
TARGET_WIN_PROPERTIES (ph5example)
TARGET_LINK_LIBRARIES (ph5example ${HDF5_LIB_TARGET})
IF (BUILD_TESTING)
ADD_TEST (NAME ph5example COMMAND $<TARGET_FILE:ph5example>)
ENDIF (BUILD_TESTING)
ENDIF (H5_HAVE_PARALLEL)

View File

@ -50,6 +50,11 @@ FOREACH (example ${examples})
${HDF5_LIB_TARGET}
)
SET_TARGET_PROPERTIES (f90_ex_${example} PROPERTIES LINKER_LANGUAGE Fortran)
IF (BUILD_TESTING)
ADD_TEST (NAME f90_ex_${example} COMMAND $<TARGET_FILE:f90_ex_${example}>)
ENDIF (BUILD_TESTING)
ENDFOREACH (example ${examples})
IF (H5_HAVE_PARALLEL)
@ -67,4 +72,9 @@ IF (H5_HAVE_PARALLEL)
${HDF5_LIB_TARGET}
)
SET_TARGET_PROPERTIES (f90_ex_ph5example PROPERTIES LINKER_LANGUAGE Fortran)
IF (BUILD_TESTING)
ADD_TEST (NAME f90_ex_ph5example COMMAND $<TARGET_FILE:f90_ex_ph5example>)
ENDIF (BUILD_TESTING)
ENDIF (H5_HAVE_PARALLEL)

View File

@ -10,29 +10,27 @@ INCLUDE_DIRECTORIES (${HDF5_HL_CPP_SRC_DIR}/src)
# --------------------------------------------------------------------
# Add in the examples for the Packet Table codes
# --------------------------------------------------------------------
IF (HDF5_BUILD_EXAMPLES)
ADD_EXECUTABLE (ptExampleFL ${HDF5_HL_CPP_EXAMPLES_SOURCE_DIR}/ptExampleFL.cpp)
H5_NAMING (ptExampleFL)
TARGET_WIN_PROPERTIES (ptExampleFL)
TARGET_LINK_LIBRARIES (
ptExampleFL
${HDF5_HL_CPP_LIB_TARGET}
${HDF5_HL_LIB_TARGET}
${HDF5_LIB_TARGET}
)
ADD_EXECUTABLE (ptExampleFL ${HDF5_HL_CPP_EXAMPLES_SOURCE_DIR}/ptExampleFL.cpp)
H5_NAMING (ptExampleFL)
TARGET_WIN_PROPERTIES (ptExampleFL)
TARGET_LINK_LIBRARIES (
ptExampleFL
${HDF5_HL_CPP_LIB_TARGET}
${HDF5_HL_LIB_TARGET}
${HDF5_LIB_TARGET}
)
ADD_EXECUTABLE (ptExampleVL ${HDF5_HL_CPP_EXAMPLES_SOURCE_DIR}/ptExampleVL.cpp)
H5_NAMING (ptExampleVL)
TARGET_WIN_PROPERTIES (ptExampleVL)
TARGET_LINK_LIBRARIES (
ptExampleVL
${HDF5_HL_CPP_LIB_TARGET}
${HDF5_HL_LIB_TARGET}
${HDF5_LIB_TARGET}
)
IF (BUILD_TESTING)
ADD_TEST (NAME cpp_hl_ex_ptExampleFL COMMAND $<TARGET_FILE:ptExampleFL>)
ADD_EXECUTABLE (ptExampleVL ${HDF5_HL_CPP_EXAMPLES_SOURCE_DIR}/ptExampleVL.cpp)
H5_NAMING (ptExampleVL)
TARGET_WIN_PROPERTIES (ptExampleVL)
TARGET_LINK_LIBRARIES (
ptExampleVL
${HDF5_HL_CPP_LIB_TARGET}
${HDF5_HL_LIB_TARGET}
${HDF5_LIB_TARGET}
)
ADD_TEST (NAME cpp_hl_ex_ptExampleVL COMMAND $<TARGET_FILE:ptExampleVL>)
ENDIF (HDF5_BUILD_EXAMPLES)
ENDIF (BUILD_TESTING)

View File

@ -1,6 +1,20 @@
cmake_minimum_required (VERSION 2.8)
PROJECT (HDF5_HL_EXAMPLES )
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 h5dump
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/${h5_file} ${dest}
)
ENDFOREACH (h5_file ${HDF5_TEST_FILES})
#-----------------------------------------------------------------------------
# Define Sources
#-----------------------------------------------------------------------------
@ -32,6 +46,26 @@ FOREACH (example ${examples})
H5_NAMING (hl_ex_${example})
TARGET_WIN_PROPERTIES (hl_ex_${example})
TARGET_LINK_LIBRARIES (hl_ex_${example} ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
IF (BUILD_TESTING)
ADD_TEST (NAME hl_ex_${example} COMMAND $<TARGET_FILE:hl_ex_${example}>)
ENDIF (BUILD_TESTING)
ENDFOREACH (example ${examples})
IF (BUILD_TESTING)
SET (HDF5_TEST_FILES
image24pixel.txt
image8.txt
)
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}
)
ENDFOREACH (h5_file ${HDF5_TEST_FILES})
ENDIF (BUILD_TESTING)

View File

@ -26,4 +26,9 @@ FOREACH (example ${examples})
${HDF5_LIB_TARGET}
)
SET_TARGET_PROPERTIES (hl_f90_ex_${example} PROPERTIES LINKER_LANGUAGE Fortran)
IF (BUILD_TESTING)
ADD_TEST (NAME hl_f90_ex_${example} COMMAND $<TARGET_FILE:hl_f90_ex_${example}>)
ENDIF (BUILD_TESTING)
ENDFOREACH (example ${examples})