diff --git a/cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake b/cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake index cfd16b4f81..f2c51f07eb 100644 --- a/cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake +++ b/cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake @@ -6,11 +6,12 @@ macro(CheckInterModuleDependencies) # modules. Warns if any of the prerequisite modules are disabled. function(REQUIRES_MODS dependent) if(${dependent}) - foreach(prerequisite ${ARGN}) + foreach(prerequisite IN LISTS ARGN) if(NOT ${prerequisite}) - message(WARNING - "${dependent} requires ${ARGN} each be ON, but " - "${prerequisite} is \"${${prerequisite}}\"") + message(STATUS "${dependent} requires ${prerequisite} to be ON, but it" + " is \"${${prerequisite}}\"") + set(${dependent} OFF PARENT_SCOPE) + break() endif(NOT ${prerequisite}) endforeach() endif(${dependent}) @@ -28,7 +29,7 @@ macro(CheckInterModuleDependencies) REQUIRES_MODS(BUILD_FLAT_MESH BUILD_MESH_PART) REQUIRES_MODS(BUILD_OPENSCAD BUILD_MESH_PART BUILD_DRAFT) REQUIRES_MODS(BUILD_PART_DESIGN BUILD_SKETCHER) - REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_ROBOT) + REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH, BUILD_ROBOT) REQUIRES_MODS(BUILD_RAYTRACING BUILD_PART) REQUIRES_MODS(BUILD_REVERSEENGINEERING BUILD_PART BUILD_MESH) REQUIRES_MODS(BUILD_ROBOT BUILD_PART)