From 2148cd08aa74309c5d19028e79b472eedc607f36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 25 Dec 2016 14:00:41 +0100 Subject: [PATCH] CMake: make most of DebugTools dependencies conditional. MeshTools and Shaders dependencies are needed only if either the Shapes or SceneGraph library is compiled, Primitives are needed only if the Shapes library is compiled. --- CMakeLists.txt | 6 +++--- src/Magnum/DebugTools/CMakeLists.txt | 13 +++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e0103e199..ec06a0ce6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,11 +79,11 @@ cmake_dependent_option(WITH_TGAIMPORTER "Build TgaImporter plugin" OFF "NOT WITH # Parts of the library cmake_dependent_option(WITH_AUDIO "Build Audio library" OFF "NOT WITH_WAVAUDIOIMPORTER" ON) option(WITH_DEBUGTOOLS "Build DebugTools library" ON) -cmake_dependent_option(WITH_MESHTOOLS "Build MeshTools library" ON "NOT WITH_DEBUGTOOLS;NOT WITH_OBJIMPORTER" ON) -cmake_dependent_option(WITH_PRIMITIVES "Builf Primitives library" ON "NOT WITH_DEBUGTOOLS" ON) +cmake_dependent_option(WITH_MESHTOOLS "Build MeshTools library" ON "( NOT WITH_DEBUGTOOLS OR ( NOT WITH_SHAPES AND NOT WITH_SCENEGRAPH ) ) AND NOT WITH_OBJIMPORTER" ON) +cmake_dependent_option(WITH_PRIMITIVES "Builf Primitives library" ON "NOT WITH_DEBUGTOOLS OR NOT WITH_SHAPES" ON) option(WITH_SHAPES "Build Shapes library" ON) cmake_dependent_option(WITH_SCENEGRAPH "Build SceneGraph library" ON "NOT WITH_SHAPES" ON) -cmake_dependent_option(WITH_SHADERS "Build Shaders library" ON "NOT WITH_DEBUGTOOLS" ON) +cmake_dependent_option(WITH_SHADERS "Build Shaders library" ON "NOT WITH_DEBUGTOOLS OR ( NOT WITH_SHAPES AND NOT WITH_SCENEGRAPH )" ON) cmake_dependent_option(WITH_TEXT "Build Text library" ON "NOT WITH_MAGNUMFONT;NOT WITH_MAGNUMFONTCONVERTER" ON) cmake_dependent_option(WITH_TEXTURETOOLS "Build TextureTools library" ON "NOT WITH_TEXT;NOT WITH_DISTANCEFIELDCONVERTER" ON) diff --git a/src/Magnum/DebugTools/CMakeLists.txt b/src/Magnum/DebugTools/CMakeLists.txt index 76ca9163d..9394ab0fb 100644 --- a/src/Magnum/DebugTools/CMakeLists.txt +++ b/src/Magnum/DebugTools/CMakeLists.txt @@ -106,16 +106,17 @@ if(BUILD_STATIC_PIC) set_target_properties(MagnumDebugTools PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() -target_link_libraries(MagnumDebugTools - Magnum - MagnumMeshTools - MagnumPrimitives - MagnumShaders) +target_link_libraries(MagnumDebugTools Magnum) if(WITH_SCENEGRAPH) target_link_libraries(MagnumDebugTools MagnumSceneGraph) endif() if(WITH_SHAPES) - target_link_libraries(MagnumDebugTools MagnumShapes) + target_link_libraries(MagnumDebugTools MagnumShapes MagnumPrimitives) +endif() +if(WITH_SCENEGRAPH OR WITH_SHAPES) + target_link_libraries(MagnumDebugTools + MagnumMeshTools + MagnumShaders) endif() install(TARGETS MagnumDebugTools