diff --git a/apps/benchmarks/ComplexGeometry/CMakeLists.txt b/apps/benchmarks/ComplexGeometry/CMakeLists.txt index 583b9426437a0844be2949ed65f242333a457ed1..9325acb3e3daf3ebc1f5ea5535d8a037cf897869 100644 --- a/apps/benchmarks/ComplexGeometry/CMakeLists.txt +++ b/apps/benchmarks/ComplexGeometry/CMakeLists.txt @@ -9,6 +9,6 @@ if ( WALBERLA_BUILD_WITH_OPENMESH ) # Some tests # ############## - waLBerla_execute_test( NO_MODULE_LABEL NAME ComplexGeometry COMMAND $<TARGET_FILE:ComplexGeometry> input.conf ) + waLBerla_execute_test( NO_MODULE_LABEL NAME ComplexGeometry COMMAND $<TARGET_FILE:ComplexGeometry> input.conf DEPENDS_ON_TARGETS ComplexGeometry ) endif() diff --git a/cmake/waLBerlaFunctions.cmake b/cmake/waLBerlaFunctions.cmake index 320afbb1de3518c1ccb7a25f5cdb7be3a25dd71e..59f629911622a9a3476e77b2209adc14eb4395b1 100644 --- a/cmake/waLBerlaFunctions.cmake +++ b/cmake/waLBerlaFunctions.cmake @@ -335,7 +335,7 @@ function ( waLBerla_execute_test ) set( options NO_MODULE_LABEL ) set( oneValueArgs NAME PROCESSES ) - set( multiValueArgs COMMAND LABELS CONFIGURATIONS ) + set( multiValueArgs COMMAND LABELS CONFIGURATIONS DEPENDS_ON_TARGETS ) cmake_parse_arguments( ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) if( NOT ARG_NAME ) @@ -343,9 +343,16 @@ function ( waLBerla_execute_test ) endif() if( NOT ARG_COMMAND AND NOT TARGET ${ARG_NAME} ) - message ( STATUS "Skipping ${ARG_NAME} since the corresponding test was not built" ) + message ( STATUS "Skipping test ${ARG_NAME} since the corresponding target is not built" ) return() - endif() + endif() + + foreach( dependency_target ${ARG_DEPENDS_ON_TARGETS} ) + if( NOT TARGET ${dependency_target} ) + message ( STATUS "Skipping test ${ARG_NAME} since the target ${dependency_target} is not built" ) + return() + endif() + endforeach( dependency_target ) if( NOT ARG_PROCESSES ) set ( numProcesses 1 )