diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d21694af654ba0b996a8bbce0c3096ef6a125ab..8f16ad6af49f6c89434e79903d12cff5d7ac56e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,6 +99,7 @@ option ( WALBERLA_PROFILE_USE "Uses Profile to optimize" option ( WALBERLA_OPTIMIZE_FOR_LOCALHOST "Enable compiler optimizations spcific to localhost" ) option ( WALBERLA_LOG_SKIPPED "Log skipped cmake targets" ON ) +option ( WALBERLA_DEPS_ERROR "Fail if module dependencies are not met" OFF ) option ( WALBERLA_GIT_SUBMODULE_AUTO "Check submodules during cmake run" ON ) diff --git a/cmake/waLBerlaFunctions.cmake b/cmake/waLBerlaFunctions.cmake index 4962e18cabc6a6128ac8b003c99cfe6110d45520..e5914ed760b6928d641ef3620a9ee5bef38793b2 100644 --- a/cmake/waLBerlaFunctions.cmake +++ b/cmake/waLBerlaFunctions.cmake @@ -174,6 +174,9 @@ function ( waLBerla_add_executable ) foreach ( depMod ${ARG_DEPENDS} ) get_module_library_name ( depModLibraryName ${depMod} ) if( NOT TARGET ${depModLibraryName} ) + if( WALBERLA_DEPS_ERROR ) + message( FATAL_ERROR "Module ${depMod} is missing to build target ${ARG_NAME}" ) + endif() if( WALBERLA_LOG_SKIPPED ) message ( STATUS "Skipping ${ARG_NAME} since dependent module ${depMod} was not built" ) endif()