summaryrefslogtreecommitdiffstats
path: root/c++/examples/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'c++/examples/CMakeLists.txt')
-rw-r--r--c++/examples/CMakeLists.txt29
1 files changed, 25 insertions, 4 deletions
diff --git a/c++/examples/CMakeLists.txt b/c++/examples/CMakeLists.txt
index 06edd7a..ebeff57 100644
--- a/c++/examples/CMakeLists.txt
+++ b/c++/examples/CMakeLists.txt
@@ -24,9 +24,30 @@ FOREACH (example ${examples})
ADD_EXECUTABLE (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
TARGET_NAMING (cpp_ex_${example} ${LIB_TYPE})
TARGET_LINK_LIBRARIES (cpp_ex_${example} ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
+ENDFOREACH (example ${examples})
- IF (BUILD_TESTING)
- ADD_TEST (NAME cpp_ex_${example} COMMAND $<TARGET_FILE:cpp_ex_${example}>)
- ENDIF (BUILD_TESTING)
+IF (BUILD_TESTING)
+ # Remove any output file left over from previous test run
+ ADD_TEST (
+ NAME cpp_ex-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ Group.h5
+ SDS.h5
+ SDScompound.h5
+ SDSextendible.h5
+ Select.h5
+ )
+ IF (NOT "${last_test}" STREQUAL "")
+ SET_TESTS_PROPERTIES (cpp_ex-clear-objects PROPERTIES DEPENDS ${last_test})
+ ENDIF (NOT "${last_test}" STREQUAL "")
+ SET (last_test "cpp_ex-clear-objects")
-ENDFOREACH (example ${examples})
+ FOREACH (example ${examples})
+ ADD_TEST (NAME cpp_ex_${example} COMMAND $<TARGET_FILE:cpp_ex_${example}>)
+ IF (NOT "${last_test}" STREQUAL "")
+ SET_TESTS_PROPERTIES (cpp_ex_${example} PROPERTIES DEPENDS ${last_test})
+ ENDIF (NOT "${last_test}" STREQUAL "")
+ SET (last_test "cpp_ex_${example}")
+ ENDFOREACH (example ${examples})
+ENDIF (BUILD_TESTING)