Import now depends on PartDesign, so ensure CMake configure-time
dependency enforcement requires PartDesign alongside Part.
Fixes build regression from
6fd6558040.
45 lines
2.5 KiB
CMake
45 lines
2.5 KiB
CMake
macro(CheckInterModuleDependencies)
|
|
# ==============================================================================
|
|
#inter-module dependencies
|
|
|
|
# Takes a dependent module followed by a variable-length list of prerequisite
|
|
# modules. Warns if any of the prerequisite modules are disabled.
|
|
function(REQUIRES_MODS dependent)
|
|
if(${dependent})
|
|
foreach(prerequisite IN LISTS ARGN)
|
|
if(NOT ${prerequisite})
|
|
message(SEND_ERROR "${dependent} requires ${prerequisite} to be ON, but it"
|
|
" is \"${${prerequisite}}\"")
|
|
set(${dependent} OFF PARENT_SCOPE)
|
|
break()
|
|
endif(NOT ${prerequisite})
|
|
endforeach()
|
|
endif(${dependent})
|
|
endfunction(REQUIRES_MODS)
|
|
|
|
REQUIRES_MODS(BUILD_ASSEMBLY BUILD_PART BUILD_PART_DESIGN BUILD_SPREADSHEET)
|
|
REQUIRES_MODS(BUILD_BIM BUILD_PART BUILD_MESH BUILD_MESH_PART BUILD_DRAFT)
|
|
REQUIRES_MODS(BUILD_DRAFT BUILD_SKETCHER BUILD_TECHDRAW)
|
|
REQUIRES_MODS(BUILD_DRAWING BUILD_PART BUILD_SPREADSHEET)
|
|
REQUIRES_MODS(BUILD_FEM BUILD_PART)
|
|
REQUIRES_MODS(BUILD_IMPORT BUILD_PART BUILD_PART_DESIGN)
|
|
REQUIRES_MODS(BUILD_INSPECTION BUILD_MESH BUILD_POINTS BUILD_PART)
|
|
REQUIRES_MODS(BUILD_JTREADER BUILD_MESH)
|
|
REQUIRES_MODS(BUILD_MESH_PART BUILD_PART BUILD_MESH)
|
|
REQUIRES_MODS(BUILD_FLAT_MESH BUILD_MESH_PART)
|
|
REQUIRES_MODS(BUILD_OPENSCAD BUILD_MESH_PART BUILD_DRAFT)
|
|
REQUIRES_MODS(BUILD_MATERIAL_EXTERNAL BUILD_MATERIAL)
|
|
REQUIRES_MODS(BUILD_MEASURE BUILD_PART)
|
|
REQUIRES_MODS(BUILD_PART BUILD_MATERIAL)
|
|
REQUIRES_MODS(BUILD_PART_DESIGN BUILD_SKETCHER)
|
|
# REQUIRES_MODS(BUILD_CAM BUILD_PART BUILD_MESH BUILD_ROBOT)
|
|
REQUIRES_MODS(BUILD_CAM BUILD_PART BUILD_MESH)
|
|
REQUIRES_MODS(BUILD_REVERSEENGINEERING BUILD_PART BUILD_MESH BUILD_POINTS)
|
|
REQUIRES_MODS(BUILD_ROBOT BUILD_PART)
|
|
REQUIRES_MODS(BUILD_SANDBOX BUILD_PART BUILD_MESH)
|
|
REQUIRES_MODS(BUILD_SKETCHER BUILD_PART)
|
|
REQUIRES_MODS(BUILD_SPREADSHEET BUILD_DRAFT)
|
|
REQUIRES_MODS(BUILD_SURFACE BUILD_PART)
|
|
REQUIRES_MODS(BUILD_TECHDRAW BUILD_PART BUILD_PART_DESIGN BUILD_SPREADSHEET BUILD_MEASURE BUILD_IMPORT)
|
|
endmacro(CheckInterModuleDependencies)
|