From: Matthias Maier Date: Fri, 4 May 2018 20:10:32 +0000 (-0500) Subject: CMake: Bugfix: Only set test dependencies if tests are actually defined... X-Git-Tag: v9.0.0-rc1~9^2~1 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3ad1622e3e1b58c2efa1d2779160a50e6a469caf;p=dealii.git CMake: Bugfix: Only set test dependencies if tests are actually defined... Otherwise "big bada boom". --- diff --git a/tests/a-framework/CMakeLists.txt b/tests/a-framework/CMakeLists.txt index daefbd4350..8579920d4b 100644 --- a/tests/a-framework/CMakeLists.txt +++ b/tests/a-framework/CMakeLists.txt @@ -10,14 +10,25 @@ SET(TEST_TARGET_DEBUG dummy.debug) DEAL_II_PICKUP_TESTS() # -# Limit concurrency between the two parameter file tests: +# Limit concurrency between the two parameter file tests. # -FOREACH(_build ${DEAL_II_BUILD_TYPES}) - STRING(TOLOWER ${_build} _build) - SET_TESTS_PROPERTIES(a-framework/parameter_file_2.${_build} PROPERTIES - DEPENDS a-framework/parameter_file_1.${_build} - ) -ENDFOREACH() +# We only do this for CMake-3.4 or newer that has policy CMP0064 and +# supports the IF(TEST ...) operator. For older CMake versions that do not +# support the IF(TEST ...) operator we cannot much do (and people have to +# live with spurious test failures.) +# +IF(POLICY CMP0064) + CMAKE_POLICY(SET CMP0064 NEW) + FOREACH(_build ${DEAL_II_BUILD_TYPES}) + STRING(TOLOWER ${_build} _build) + IF( TEST a-framework/parameter_file_2.${_build} AND + TEST a-framework/parameter_file_1.${_build} ) + SET_TESTS_PROPERTIES(a-framework/parameter_file_2.${_build} PROPERTIES + DEPENDS a-framework/parameter_file_1.${_build} + ) + ENDIF() + ENDFOREACH() +ENDIF() #