FreeCAD
40 строк · 2.1 Кб
1macro(CheckInterModuleDependencies)
2# ==============================================================================
3#inter-module dependencies
4
5# Takes a dependent module followed by a variable-length list of prerequisite
6# modules. Warns if any of the prerequisite modules are disabled.
7function(REQUIRES_MODS dependent)
8if(${dependent})
9foreach(prerequisite IN LISTS ARGN)
10if(NOT ${prerequisite})
11message(STATUS "${dependent} requires ${prerequisite} to be ON, but it"
12" is \"${${prerequisite}}\"")
13set(${dependent} OFF PARENT_SCOPE)
14break()
15endif(NOT ${prerequisite})
16endforeach()
17endif(${dependent})
18endfunction(REQUIRES_MODS)
19
20REQUIRES_MODS(BUILD_BIM BUILD_PART BUILD_MESH BUILD_DRAFT)
21REQUIRES_MODS(BUILD_DRAFT BUILD_SKETCHER)
22REQUIRES_MODS(BUILD_DRAWING BUILD_PART BUILD_SPREADSHEET)
23REQUIRES_MODS(BUILD_FEM BUILD_PART)
24REQUIRES_MODS(BUILD_IDF BUILD_PART)
25REQUIRES_MODS(BUILD_IMPORT BUILD_PART)
26REQUIRES_MODS(BUILD_INSPECTION BUILD_MESH BUILD_POINTS BUILD_PART)
27REQUIRES_MODS(BUILD_JTREADER BUILD_MESH)
28REQUIRES_MODS(BUILD_MESH_PART BUILD_PART BUILD_MESH BUILD_SMESH)
29REQUIRES_MODS(BUILD_FLAT_MESH BUILD_MESH_PART)
30REQUIRES_MODS(BUILD_OPENSCAD BUILD_MESH_PART BUILD_DRAFT)
31REQUIRES_MODS(BUILD_PART_DESIGN BUILD_SKETCHER)
32# REQUIRES_MODS(BUILD_CAM BUILD_PART BUILD_MESH BUILD_ROBOT)
33REQUIRES_MODS(BUILD_CAM BUILD_PART BUILD_MESH)
34REQUIRES_MODS(BUILD_REVERSEENGINEERING BUILD_PART BUILD_MESH)
35REQUIRES_MODS(BUILD_ROBOT BUILD_PART)
36REQUIRES_MODS(BUILD_SANDBOX BUILD_PART BUILD_MESH)
37REQUIRES_MODS(BUILD_SKETCHER BUILD_PART)
38REQUIRES_MODS(BUILD_SPREADSHEET BUILD_DRAFT)
39REQUIRES_MODS(BUILD_TECHDRAW BUILD_PART BUILD_SPREADSHEET)
40endmacro(CheckInterModuleDependencies)
41