From a981593bd029a62c559a2e14cf5ad562061ca3ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 10 Jan 2016 18:20:35 +0100 Subject: [PATCH] DebugTools: don't force dependency on SceneGraph and Shapes. --- CMakeLists.txt | 4 +- src/Magnum/DebugTools/CMakeLists.txt | 89 +++++++++++++++++----------- 2 files changed, 56 insertions(+), 37 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e881c6fb5..6abc4fa79 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,8 +72,8 @@ cmake_dependent_option(WITH_AUDIO "Build Audio library" OFF "NOT WITH_WAVAUDIOIM 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_SHAPES "Build Shapes library" ON "NOT WITH_DEBUGTOOLS" ON) -cmake_dependent_option(WITH_SCENEGRAPH "Build SceneGraph library" ON "NOT WITH_DEBUGTOOLS;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_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 51cfe5f5b..3a3a6046e 100644 --- a/src/Magnum/DebugTools/CMakeLists.txt +++ b/src/Magnum/DebugTools/CMakeLists.txt @@ -24,47 +24,62 @@ # set(MagnumDebugTools_SRCS - ForceRenderer.cpp - ObjectRenderer.cpp Profiler.cpp - ResourceManager.cpp - ShapeRenderer.cpp - - Implementation/AbstractBoxRenderer.cpp - Implementation/AbstractShapeRenderer.cpp - Implementation/AxisAlignedBoxRenderer.cpp - Implementation/BoxRenderer.cpp - Implementation/CapsuleRenderer.cpp - Implementation/CylinderRenderer.cpp - Implementation/LineSegmentRenderer.cpp - Implementation/PointRenderer.cpp - Implementation/SphereRenderer.cpp) + ResourceManager.cpp) set(MagnumDebugTools_HEADERS - ForceRenderer.h DebugTools.h - ObjectRenderer.h Profiler.h ResourceManager.h - ShapeRenderer.h - visibility.h) # Header files to display in project view of IDEs only -set(MagnumDebugTools_PRIVATE_HEADERS - Implementation/AbstractBoxRenderer.h - Implementation/AbstractShapeRenderer.h - Implementation/AxisAlignedBoxRenderer.h - Implementation/BoxRenderer.h - Implementation/CapsuleRenderer.h - Implementation/CapsuleRendererTransformation.h - Implementation/CylinderRenderer.h - Implementation/CylinderRendererTransformation.h - Implementation/ForceRendererTransformation.h - Implementation/LineSegmentRenderer.h - Implementation/LineSegmentRendererTransformation.h - Implementation/PointRenderer.h - Implementation/SphereRenderer.h) +set(MagnumDebugTools_PRIVATE_HEADERS ) + +if(WITH_SCENEGRAPH) + list(APPEND MagnumDebugTools_SRCS + ForceRenderer.cpp + ObjectRenderer.cpp) + + list(APPEND MagnumDebugTools_HEADERS + ForceRenderer.h + ObjectRenderer.h) + + list(APPEND MagnumDebugTools_PRIVATE_HEADERS + Implementation/ForceRendererTransformation.h) +endif() + +if(WITH_SHAPES) + list(APPEND MagnumDebugTools_SRCS + ShapeRenderer.cpp + + Implementation/AbstractBoxRenderer.cpp + Implementation/AbstractShapeRenderer.cpp + Implementation/AxisAlignedBoxRenderer.cpp + Implementation/BoxRenderer.cpp + Implementation/CapsuleRenderer.cpp + Implementation/CylinderRenderer.cpp + Implementation/LineSegmentRenderer.cpp + Implementation/PointRenderer.cpp + Implementation/SphereRenderer.cpp) + + list(APPEND MagnumDebugTools_HEADERS + ShapeRenderer.h) + + list(APPEND MagnumDebugTools_PRIVATE_HEADERS + Implementation/AbstractBoxRenderer.h + Implementation/AbstractShapeRenderer.h + Implementation/AxisAlignedBoxRenderer.h + Implementation/BoxRenderer.h + Implementation/CapsuleRenderer.h + Implementation/CapsuleRendererTransformation.h + Implementation/CylinderRenderer.h + Implementation/CylinderRendererTransformation.h + Implementation/LineSegmentRenderer.h + Implementation/LineSegmentRendererTransformation.h + Implementation/PointRenderer.h + Implementation/SphereRenderer.h) +endif() # DebugTools library add_library(MagnumDebugTools ${SHARED_OR_STATIC} @@ -80,9 +95,13 @@ target_link_libraries(MagnumDebugTools Magnum MagnumMeshTools MagnumPrimitives - MagnumSceneGraph - MagnumShaders - MagnumShapes) + MagnumShaders) +if(WITH_SCENEGRAPH) + target_link_libraries(MagnumDebugTools MagnumSceneGraph) +endif() +if(WITH_SHAPES) + target_link_libraries(MagnumDebugTools MagnumShapes) +endif() install(TARGETS MagnumDebugTools RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}