From 64f5c1bff06ef896b5c1fdb209f057758c21788f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 11 Nov 2022 21:53:35 +0100 Subject: [PATCH] CMake: exclude test dirs from ALL with CORRADE_TESTSUITE_TEST_TARGET. --- CMakeLists.txt | 19 ++- doc/snippets/CMakeLists.txt | 123 ++++++++++++++---- src/Magnum/Animation/CMakeLists.txt | 2 +- src/Magnum/Audio/CMakeLists.txt | 4 +- src/Magnum/CMakeLists.txt | 6 +- src/Magnum/DebugTools/CMakeLists.txt | 4 +- src/Magnum/GL/CMakeLists.txt | 6 +- src/Magnum/MaterialTools/CMakeLists.txt | 4 +- src/Magnum/Math/CMakeLists.txt | 2 +- src/Magnum/MeshTools/CMakeLists.txt | 4 +- src/Magnum/Platform/CMakeLists.txt | 2 +- src/Magnum/Primitives/CMakeLists.txt | 2 +- src/Magnum/SceneGraph/CMakeLists.txt | 4 +- src/Magnum/SceneTools/CMakeLists.txt | 4 +- src/Magnum/ShaderTools/CMakeLists.txt | 4 +- src/Magnum/Shaders/CMakeLists.txt | 4 +- src/Magnum/Text/CMakeLists.txt | 4 +- src/Magnum/TextureTools/CMakeLists.txt | 4 +- src/Magnum/Trade/CMakeLists.txt | 4 +- src/Magnum/Vk/CMakeLists.txt | 4 +- .../AnyAudioImporter/CMakeLists.txt | 2 +- .../AnyImageConverter/CMakeLists.txt | 2 +- .../AnyImageImporter/CMakeLists.txt | 2 +- .../AnySceneConverter/CMakeLists.txt | 2 +- .../AnySceneImporter/CMakeLists.txt | 2 +- .../AnyShaderConverter/CMakeLists.txt | 2 +- src/MagnumPlugins/MagnumFont/CMakeLists.txt | 2 +- .../MagnumFontConverter/CMakeLists.txt | 2 +- src/MagnumPlugins/ObjImporter/CMakeLists.txt | 2 +- .../TgaImageConverter/CMakeLists.txt | 2 +- src/MagnumPlugins/TgaImporter/CMakeLists.txt | 2 +- .../WavAudioImporter/CMakeLists.txt | 2 +- 32 files changed, 161 insertions(+), 73 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cd89d9c2e..96a99ad0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -607,6 +607,18 @@ if(MAGNUM_BUILD_TESTS) if(CORRADE_TARGET_ANDROID AND CMAKE_ANDROID_NDK) include(${PROJECT_SOURCE_DIR}/toolchains/modules/UseAndroid.cmake) endif() + + # If CORRADE_TESTSUITE_TEST_TARGET is set, tests aren't built by default + # (in the ALL target) but instead set as dependencies of a target named + # after the value of CORRADE_TESTSUITE_TEST_TARGET. This is a copy of + # what's done in corrade_add_test(), because we also build various test + # libraries and plugins in addition to the test executables. + if(CORRADE_TESTSUITE_TEST_TARGET) + if(NOT TARGET ${CORRADE_TESTSUITE_TEST_TARGET}) + add_custom_target(${CORRADE_TESTSUITE_TEST_TARGET}) + endif() + set(EXCLUDE_FROM_ALL_IF_TEST_TARGET EXCLUDE_FROM_ALL) + endif() endif() if(MAGNUM_WITH_OPENGLTESTER) @@ -795,7 +807,12 @@ endif() add_subdirectory(modules) add_subdirectory(src) -# Build snippets as part of testing +# Build snippets as part of testing. Unlike all other Test/ directories, this +# one isn't added with ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} because the targets +# from there aren't referenced by CTest and thus it'd likely happen that they +# accidentally don't get added as a dependency to that target, causing them to +# be never built. Instead, each target there is handled separately, to minimize +# the chance of an accident. if(MAGNUM_BUILD_TESTS) add_subdirectory(doc/snippets) endif() diff --git a/doc/snippets/CMakeLists.txt b/doc/snippets/CMakeLists.txt index cb3f12ebf..13ad73909 100644 --- a/doc/snippets/CMakeLists.txt +++ b/doc/snippets/CMakeLists.txt @@ -52,78 +52,108 @@ if(CORRADE_TARGET_EMSCRIPTEN) list(APPEND snippets_Magnum_SRCS platforms-html5.cpp) endif() -add_library(snippets-Magnum STATIC ${snippets_Magnum_SRCS}) +add_library(snippets-Magnum STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} ${snippets_Magnum_SRCS}) target_link_libraries(snippets-Magnum PRIVATE Magnum) if(MAGNUM_TARGET_GL) target_link_libraries(snippets-Magnum PRIVATE MagnumGL) endif() +if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-Magnum) +endif() # This is taken from corrade/src/Corrade/Test/CMakeLists.txt, keep in sync if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "3.9") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "7.0") OR (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")) - add_library(snippets-Magnum-cpp14 STATIC MagnumMath-cpp14.cpp) + add_library(snippets-Magnum-cpp14 STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumMath-cpp14.cpp) target_link_libraries(snippets-Magnum-cpp14 PRIVATE Magnum) set_target_properties(snippets-Magnum-cpp14 PROPERTIES CORRADE_CXX_STANDARD 14) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-Magnum-cpp14) + endif() endif() if(MAGNUM_WITH_AUDIO) - add_library(snippets-MagnumAudio STATIC MagnumAudio.cpp) + add_library(snippets-MagnumAudio STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumAudio.cpp) target_link_libraries(snippets-MagnumAudio PRIVATE MagnumAudio) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumAudio) + endif() if(MAGNUM_WITH_SCENEGRAPH) - add_library(snippets-MagnumAudio-scenegraph STATIC + add_library(snippets-MagnumAudio-scenegraph STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumAudio-scenegraph.cpp) target_link_libraries(snippets-MagnumAudio-scenegraph PRIVATE MagnumAudio MagnumSceneGraph) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumAudio-scenegraph) + endif() endif() endif() if(MAGNUM_WITH_GL) - add_library(snippets-MagnumGL STATIC + add_library(snippets-MagnumGL STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumGL.cpp MagnumMeshTools-gl.cpp MagnumShaders-gl.cpp MagnumText.cpp) target_link_libraries(snippets-MagnumGL PRIVATE MagnumGL) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumGL) + endif() endif() if(MAGNUM_WITH_MESHTOOLS) - add_library(snippets-MagnumMeshTools STATIC + add_library(snippets-MagnumMeshTools STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumMeshTools.cpp MagnumMeshTools-gl.cpp) target_link_libraries(snippets-MagnumMeshTools PRIVATE MagnumMeshTools) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumMeshTools) + endif() endif() if(MAGNUM_WITH_SHADERTOOLS) - add_library(snippets-MagnumShaderTools STATIC + add_library(snippets-MagnumShaderTools STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumShaderTools.cpp) target_link_libraries(snippets-MagnumShaderTools PRIVATE MagnumShaderTools) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumShaderTools) + endif() endif() if(MAGNUM_WITH_TRADE) - add_library(snippets-MagnumTrade STATIC + add_library(snippets-MagnumTrade STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} plugins.cpp MagnumTrade.cpp) target_link_libraries(snippets-MagnumTrade PRIVATE MagnumTrade) if(MAGNUM_TARGET_GL) target_link_libraries(snippets-MagnumTrade PRIVATE MagnumGL) endif() + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumTrade) + endif() endif() find_package(Corrade COMPONENTS TestSuite) if(MAGNUM_WITH_DEBUGTOOLS) - add_library(snippets-MagnumDebugTools STATIC + add_library(snippets-MagnumDebugTools STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumDebugTools.cpp) target_link_libraries(snippets-MagnumDebugTools PRIVATE MagnumDebugTools) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumDebugTools) + endif() if(MAGNUM_BUILD_GL_TESTS AND NOT MAGNUM_TARGET_GLES) - add_executable(debugtools-frameprofiler debugtools-frameprofiler.cpp) + add_executable(debugtools-frameprofiler ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} debugtools-frameprofiler.cpp) target_link_libraries(debugtools-frameprofiler PRIVATE MagnumDebugTools MagnumOpenGLTester) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} debugtools-frameprofiler) + endif() endif() # TODO: causes spurious linker errors on Travis iOS build, so I'm disabling it @@ -136,33 +166,47 @@ if(MAGNUM_WITH_DEBUGTOOLS) # executable so I can include the colored output in the documentation. # Also not using corrade_add_test() because it shouldn't be run as part # of CTest as it purposely fails. - add_executable(debugtools-compareimage debugtools-compareimage.cpp) - add_executable(debugtools-comparematerial debugtools-comparematerial.cpp) + add_executable(debugtools-compareimage ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} debugtools-compareimage.cpp) + add_executable(debugtools-comparematerial ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} debugtools-comparematerial.cpp) target_link_libraries(debugtools-compareimage PRIVATE MagnumDebugTools) target_link_libraries(debugtools-comparematerial PRIVATE MagnumDebugTools) target_include_directories(debugtools-compareimage PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} + debugtools-compareimage + debugtools-comparematerial) + endif() endif() if(MAGNUM_TARGET_GL) - add_library(snippets-MagnumDebugTools-gl STATIC + add_library(snippets-MagnumDebugTools-gl STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumDebugTools-gl.cpp) target_link_libraries(snippets-MagnumDebugTools-gl PRIVATE MagnumDebugTools) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumDebugTools-gl) + endif() endif() endif() if(MAGNUM_WITH_PRIMITIVES) - add_library(snippets-MagnumPrimitives STATIC + add_library(snippets-MagnumPrimitives STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumPrimitives.cpp) target_link_libraries(snippets-MagnumPrimitives PRIVATE MagnumPrimitives) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumPrimitives) + endif() endif() if(MAGNUM_WITH_SCENEGRAPH) - add_library(snippets-MagnumSceneGraph STATIC + add_library(snippets-MagnumSceneGraph STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumSceneGraph.cpp) target_link_libraries(snippets-MagnumSceneGraph PRIVATE MagnumSceneGraph) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumSceneGraph) + endif() if(MAGNUM_WITH_SDL2APPLICATION AND MAGNUM_WITH_GL AND MAGNUM_WITH_PRIMITIVES AND MAGNUM_WITH_SHADERS AND MAGNUM_WITH_MESHTOOLS) - add_library(snippets-MagnumSceneGraph-gl STATIC + add_library(snippets-MagnumSceneGraph-gl STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumSceneGraph-gl.cpp) target_link_libraries(snippets-MagnumSceneGraph-gl PRIVATE MagnumGL @@ -171,50 +215,77 @@ if(MAGNUM_WITH_SCENEGRAPH) MagnumSceneGraph MagnumSdl2Application MagnumShaders) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumSceneGraph-gl) + endif() endif() endif() if(MAGNUM_WITH_SCENETOOLS) - add_library(snippets-MagnumSceneTools STATIC + add_library(snippets-MagnumSceneTools STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumSceneTools.cpp) target_link_libraries(snippets-MagnumSceneTools PRIVATE MagnumSceneTools) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumSceneTools) + endif() endif() if(MAGNUM_WITH_VK) - add_library(snippets-MagnumVk STATIC MagnumVk.cpp) + add_library(snippets-MagnumVk STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumVk.cpp) target_link_libraries(snippets-MagnumVk PRIVATE MagnumVk) + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumVk) + endif() endif() if(MAGNUM_WITH_SDL2APPLICATION AND MAGNUM_TARGET_GL) - add_executable(getting-started getting-started.cpp) - add_executable(getting-started-blue getting-started-blue.cpp) + add_executable(getting-started ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} getting-started.cpp) + add_executable(getting-started-blue ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} getting-started-blue.cpp) target_link_libraries(getting-started PRIVATE MagnumSdl2Application) target_link_libraries(getting-started-blue PRIVATE MagnumSdl2Application) - add_library(snippets-MagnumPlatform STATIC + add_library(snippets-MagnumPlatform STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} Magnum-application.cpp MagnumPlatform.cpp MagnumGL-application.cpp) target_link_libraries(snippets-MagnumPlatform PRIVATE MagnumSdl2Application) + + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} + getting-started + getting-started-blue + snippets-MagnumPlatform) + endif() endif() if((NOT MAGNUM_TARGET_GLES AND MAGNUM_WITH_SDL2APPLICATION) OR (MAGNUM_TARGET_GLES AND MAGNUM_WITH_XEGLAPPLICATION)) - add_library(snippets-MagnumPlatform-portability STATIC MagnumPlatform-portability.cpp) + add_library(snippets-MagnumPlatform-portability STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumPlatform-portability.cpp) if(MAGNUM_TARGET_GLES) target_link_libraries(snippets-MagnumPlatform-portability PRIVATE MagnumXEglApplication) else() target_link_libraries(snippets-MagnumPlatform-portability PRIVATE MagnumSdl2Application) endif() + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} snippets-MagnumPlatform-portability) + endif() endif() if(MAGNUM_WITH_WINDOWLESSEGLAPPLICATION) - add_library(snippets-MagnumPlatform-custom STATIC MagnumPlatform-custom.cpp) - add_library(snippets-MagnumPlatform-windowless STATIC MagnumPlatform-windowless.cpp) - add_library(snippets-MagnumPlatform-windowless-custom STATIC MagnumPlatform-windowless-custom.cpp) - add_library(snippets-MagnumPlatform-windowless-thread STATIC MagnumPlatform-windowless-thread.cpp) + add_library(snippets-MagnumPlatform-custom STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumPlatform-custom.cpp) + add_library(snippets-MagnumPlatform-windowless STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumPlatform-windowless.cpp) + add_library(snippets-MagnumPlatform-windowless-custom STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumPlatform-windowless-custom.cpp) + add_library(snippets-MagnumPlatform-windowless-thread STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} MagnumPlatform-windowless-thread.cpp) target_link_libraries(snippets-MagnumPlatform-custom PRIVATE MagnumWindowlessEglApplication) target_link_libraries(snippets-MagnumPlatform-windowless PRIVATE MagnumWindowlessEglApplication) target_link_libraries(snippets-MagnumPlatform-windowless-custom PRIVATE MagnumWindowlessEglApplication) target_link_libraries(snippets-MagnumPlatform-windowless-thread PRIVATE MagnumWindowlessEglApplication) + + if(CORRADE_TESTSUITE_TEST_TARGET) + add_dependencies(${CORRADE_TESTSUITE_TEST_TARGET} + snippets-MagnumPlatform-custom + snippets-MagnumPlatform-windowless + snippets-MagnumPlatform-windowless-custom + snippets-MagnumPlatform-windowless-thread) + endif() endif() diff --git a/src/Magnum/Animation/CMakeLists.txt b/src/Magnum/Animation/CMakeLists.txt index c3cae602b..c4d89ca8e 100644 --- a/src/Magnum/Animation/CMakeLists.txt +++ b/src/Magnum/Animation/CMakeLists.txt @@ -41,5 +41,5 @@ add_custom_target(MagnumAnimation SOURCES ${MagnumAnimation_HEADERS}) install(FILES ${MagnumAnimation_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Animation) if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() diff --git a/src/Magnum/Audio/CMakeLists.txt b/src/Magnum/Audio/CMakeLists.txt index f0d1cee0d..c9f97b864 100644 --- a/src/Magnum/Audio/CMakeLists.txt +++ b/src/Magnum/Audio/CMakeLists.txt @@ -169,7 +169,7 @@ endif() if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumAudioTestLib ${SHARED_OR_STATIC} + add_library(MagnumAudioTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ ${MagnumAudio_GracefulAssert_SRCS}) target_compile_definitions(MagnumAudioTestLib PRIVATE @@ -187,5 +187,5 @@ if(MAGNUM_BUILD_TESTS) target_link_libraries(MagnumAudioTestLib PUBLIC MagnumSceneGraph) endif() - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() diff --git a/src/Magnum/CMakeLists.txt b/src/Magnum/CMakeLists.txt index f3a3ba0f9..106c43ae3 100644 --- a/src/Magnum/CMakeLists.txt +++ b/src/Magnum/CMakeLists.txt @@ -264,7 +264,7 @@ endif() if(MAGNUM_BUILD_TESTS) # Math library with graceful assert for testing - add_library(MagnumMathTestLib ${SHARED_OR_STATIC} + add_library(MagnumMathTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ ${MagnumMath_GracefulAssert_SRCS}) target_include_directories(MagnumMathTestLib PUBLIC @@ -279,7 +279,7 @@ if(MAGNUM_BUILD_TESTS) target_link_libraries(MagnumMathTestLib Corrade::Utility) # Library with graceful assert for testing - add_library(MagnumTestLib ${SHARED_OR_STATIC} + add_library(MagnumTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ $ ${Magnum_GracefulAssert_SRCS}) @@ -294,7 +294,7 @@ if(MAGNUM_BUILD_TESTS) endif() target_link_libraries(MagnumTestLib PUBLIC Corrade::Utility) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum library target alias and configure file for superprojects diff --git a/src/Magnum/DebugTools/CMakeLists.txt b/src/Magnum/DebugTools/CMakeLists.txt index 30c38e4b4..2d3b104bf 100644 --- a/src/Magnum/DebugTools/CMakeLists.txt +++ b/src/Magnum/DebugTools/CMakeLists.txt @@ -159,7 +159,7 @@ install(FILES ${MagnumDebugTools_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_D if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumDebugToolsTestLib ${SHARED_OR_STATIC} + add_library(MagnumDebugToolsTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ ${MagnumDebugTools_GracefulAssert_SRCS}) set_target_properties(MagnumDebugToolsTestLib PROPERTIES DEBUG_POSTFIX "-d") @@ -185,7 +185,7 @@ if(MAGNUM_BUILD_TESTS) endif() endif() - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum DebugTools target alias for superprojects diff --git a/src/Magnum/GL/CMakeLists.txt b/src/Magnum/GL/CMakeLists.txt index 02977172f..cbde1aa2d 100644 --- a/src/Magnum/GL/CMakeLists.txt +++ b/src/Magnum/GL/CMakeLists.txt @@ -285,7 +285,7 @@ endif() if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumGLTestLib ${SHARED_OR_STATIC} + add_library(MagnumGLTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ ${MagnumGL_FlextGL_SRCS} ${MagnumGL_GracefulAssert_SRCS}) @@ -316,7 +316,7 @@ if(MAGNUM_BUILD_TESTS) endif() if(MAGNUM_BUILD_GL_TESTS) - add_library(MagnumOpenGLTesterTestLib STATIC + add_library(MagnumOpenGLTesterTestLib STATIC ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ ${PROJECT_SOURCE_DIR}/src/dummy.cpp) # XCode workaround, see file comment for details set_target_properties(MagnumOpenGLTesterTestLib PROPERTIES DEBUG_POSTFIX "-d") @@ -345,7 +345,7 @@ if(MAGNUM_BUILD_TESTS) endif() endif() - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum GL library target alias for superprojects diff --git a/src/Magnum/MaterialTools/CMakeLists.txt b/src/Magnum/MaterialTools/CMakeLists.txt index 6af44ba9c..f7305b40e 100644 --- a/src/Magnum/MaterialTools/CMakeLists.txt +++ b/src/Magnum/MaterialTools/CMakeLists.txt @@ -80,7 +80,7 @@ install(FILES ${MagnumMaterialTools_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTAL if(MAGNUM_BUILD_TESTS) # # Library with graceful assert for testing - # add_library(MagnumMaterialToolsTestLib ${SHARED_OR_STATIC} + # add_library(MagnumMaterialToolsTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} # $ # ${MagnumMaterialTools_GracefulAssert_SRCS}) # set_target_properties(MagnumMaterialToolsTestLib PROPERTIES DEBUG_POSTFIX "-d") @@ -93,7 +93,7 @@ if(MAGNUM_BUILD_TESTS) # Magnum # MagnumTrade) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum MaterialTools target alias for superprojects diff --git a/src/Magnum/Math/CMakeLists.txt b/src/Magnum/Math/CMakeLists.txt index 95cedd867..c759eb3e8 100644 --- a/src/Magnum/Math/CMakeLists.txt +++ b/src/Magnum/Math/CMakeLists.txt @@ -81,5 +81,5 @@ install(FILES ${MagnumMath_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Ma add_subdirectory(Algorithms) if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() diff --git a/src/Magnum/MeshTools/CMakeLists.txt b/src/Magnum/MeshTools/CMakeLists.txt index e0007bc77..338d27603 100644 --- a/src/Magnum/MeshTools/CMakeLists.txt +++ b/src/Magnum/MeshTools/CMakeLists.txt @@ -130,7 +130,7 @@ install(FILES ${MagnumMeshTools_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DI if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumMeshToolsTestLib ${SHARED_OR_STATIC} + add_library(MagnumMeshToolsTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ ${MagnumMeshTools_GracefulAssert_SRCS}) set_target_properties(MagnumMeshToolsTestLib PROPERTIES DEBUG_POSTFIX "-d") @@ -145,7 +145,7 @@ if(MAGNUM_BUILD_TESTS) target_link_libraries(MagnumMeshToolsTestLib PUBLIC MagnumGL) endif() - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum MeshTools target alias for superprojects diff --git a/src/Magnum/Platform/CMakeLists.txt b/src/Magnum/Platform/CMakeLists.txt index 907e3dc0f..87645bf9f 100644 --- a/src/Magnum/Platform/CMakeLists.txt +++ b/src/Magnum/Platform/CMakeLists.txt @@ -967,5 +967,5 @@ endif() add_custom_target(MagnumPlatform SOURCES ${MagnumPlatform_HEADERS} ${MagnumPlatform_FILES}) if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() diff --git a/src/Magnum/Primitives/CMakeLists.txt b/src/Magnum/Primitives/CMakeLists.txt index 93bae4cb6..854f741a5 100644 --- a/src/Magnum/Primitives/CMakeLists.txt +++ b/src/Magnum/Primitives/CMakeLists.txt @@ -93,7 +93,7 @@ install(TARGETS MagnumPrimitives install(FILES ${MagnumPrimitives_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Primitives) if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum Primitives target alias for superprojects diff --git a/src/Magnum/SceneGraph/CMakeLists.txt b/src/Magnum/SceneGraph/CMakeLists.txt index b01008fa5..9e96132e1 100644 --- a/src/Magnum/SceneGraph/CMakeLists.txt +++ b/src/Magnum/SceneGraph/CMakeLists.txt @@ -108,7 +108,7 @@ install(FILES ${MagnumSceneGraph_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_D if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumSceneGraphTestLib ${SHARED_OR_STATIC} + add_library(MagnumSceneGraphTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ ${MagnumSceneGraph_GracefulAssert_SRCS}) set_target_properties(MagnumSceneGraphTestLib PROPERTIES @@ -117,7 +117,7 @@ if(MAGNUM_BUILD_TESTS) "CORRADE_GRACEFUL_ASSERT" "MagnumSceneGraph_EXPORTS") target_link_libraries(MagnumSceneGraphTestLib MagnumMathTestLib) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum SceneGraph target alias for superprojects diff --git a/src/Magnum/SceneTools/CMakeLists.txt b/src/Magnum/SceneTools/CMakeLists.txt index 1f1d9ecae..1976dbac5 100644 --- a/src/Magnum/SceneTools/CMakeLists.txt +++ b/src/Magnum/SceneTools/CMakeLists.txt @@ -109,7 +109,7 @@ endif() if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumSceneToolsTestLib ${SHARED_OR_STATIC} + add_library(MagnumSceneToolsTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} #$ ${MagnumSceneTools_GracefulAssert_SRCS}) set_target_properties(MagnumSceneToolsTestLib PROPERTIES DEBUG_POSTFIX "-d") @@ -122,7 +122,7 @@ if(MAGNUM_BUILD_TESTS) Magnum MagnumTrade) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum SceneTools target alias for superprojects diff --git a/src/Magnum/ShaderTools/CMakeLists.txt b/src/Magnum/ShaderTools/CMakeLists.txt index 400af9302..f3bec2c0f 100644 --- a/src/Magnum/ShaderTools/CMakeLists.txt +++ b/src/Magnum/ShaderTools/CMakeLists.txt @@ -102,7 +102,7 @@ endif() if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumShaderToolsTestLib ${SHARED_OR_STATIC} + add_library(MagnumShaderToolsTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} # $ ${MagnumShaderTools_GracefulAssert_SRCS}) set_target_properties(MagnumShaderToolsTestLib PROPERTIES DEBUG_POSTFIX "-d") @@ -115,7 +115,7 @@ if(MAGNUM_BUILD_TESTS) Magnum Corrade::PluginManager) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum ShaderTools target alias for superprojects diff --git a/src/Magnum/Shaders/CMakeLists.txt b/src/Magnum/Shaders/CMakeLists.txt index 3c05a0d49..740522eba 100644 --- a/src/Magnum/Shaders/CMakeLists.txt +++ b/src/Magnum/Shaders/CMakeLists.txt @@ -116,7 +116,7 @@ install(FILES ${MagnumShaders_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR} if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumShadersTestLib ${SHARED_OR_STATIC} + add_library(MagnumShadersTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ ${MagnumShaders_GracefulAssert_SRCS}) set_target_properties(MagnumShadersTestLib PROPERTIES DEBUG_POSTFIX "-d") @@ -129,7 +129,7 @@ if(MAGNUM_BUILD_TESTS) Magnum MagnumGL) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum Shaders library for superprojects diff --git a/src/Magnum/Text/CMakeLists.txt b/src/Magnum/Text/CMakeLists.txt index 8dd3b71b0..eb857f2b4 100644 --- a/src/Magnum/Text/CMakeLists.txt +++ b/src/Magnum/Text/CMakeLists.txt @@ -140,7 +140,7 @@ endif() if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumTextTestLib ${SHARED_OR_STATIC} + add_library(MagnumTextTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ ${MagnumText_GracefulAssert_SRCS}) set_target_properties(MagnumTextTestLib PROPERTIES DEBUG_POSTFIX "-d") @@ -157,7 +157,7 @@ if(MAGNUM_BUILD_TESTS) target_link_libraries(MagnumText PUBLIC MagnumGL) endif() - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum Text target alias for superprojects diff --git a/src/Magnum/TextureTools/CMakeLists.txt b/src/Magnum/TextureTools/CMakeLists.txt index f701a6396..2c6aaf5f0 100644 --- a/src/Magnum/TextureTools/CMakeLists.txt +++ b/src/Magnum/TextureTools/CMakeLists.txt @@ -120,7 +120,7 @@ endif() if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumTextureToolsTestLib ${SHARED_OR_STATIC} + add_library(MagnumTextureToolsTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} ${MagnumTextureTools_GracefulAssert_SRCS}) set_target_properties(MagnumTextureToolsTestLib PROPERTIES DEBUG_POSTFIX "-d") target_compile_definitions(MagnumTextureToolsTestLib PRIVATE @@ -134,7 +134,7 @@ if(MAGNUM_BUILD_TESTS) target_link_libraries(MagnumTextureToolsTestLib PUBLIC MagnumGL) endif() - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum TextureTools target alias for superprojects diff --git a/src/Magnum/Trade/CMakeLists.txt b/src/Magnum/Trade/CMakeLists.txt index 547bed61a..9289dfdc6 100644 --- a/src/Magnum/Trade/CMakeLists.txt +++ b/src/Magnum/Trade/CMakeLists.txt @@ -171,7 +171,7 @@ endif() if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumTradeTestLib ${SHARED_OR_STATIC} + add_library(MagnumTradeTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ ${MagnumTrade_GracefulAssert_SRCS}) target_compile_definitions(MagnumTradeTestLib PRIVATE @@ -184,7 +184,7 @@ if(MAGNUM_BUILD_TESTS) Magnum Corrade::PluginManager) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum Trade target alias for superprojects diff --git a/src/Magnum/Vk/CMakeLists.txt b/src/Magnum/Vk/CMakeLists.txt index 613870bcc..10c548c34 100644 --- a/src/Magnum/Vk/CMakeLists.txt +++ b/src/Magnum/Vk/CMakeLists.txt @@ -230,7 +230,7 @@ endif() if(MAGNUM_BUILD_TESTS) # Library with graceful assert for testing - add_library(MagnumVkTestLib ${SHARED_OR_STATIC} + add_library(MagnumVkTestLib ${SHARED_OR_STATIC} ${EXCLUDE_FROM_ALL_IF_TEST_TARGET} $ $ ${MagnumVk_GracefulAssert_SRCS}) @@ -244,7 +244,7 @@ if(MAGNUM_BUILD_TESTS) Magnum Vulkan::Vulkan) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum Vk library target alias for superprojects diff --git a/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt b/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt index ddc8cf9ad..f7464c66a 100644 --- a/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt +++ b/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt @@ -55,7 +55,7 @@ if(MAGNUM_ANYAUDIOIMPORTER_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum AnyAudioImporter target alias for superprojects diff --git a/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt b/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt index 3cc09092a..b2f54c932 100644 --- a/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt +++ b/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt @@ -55,7 +55,7 @@ if(MAGNUM_ANYIMAGECONVERTER_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum AnyImageConverter target alias for superprojects diff --git a/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt b/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt index d4919f09c..a1368bab0 100644 --- a/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt +++ b/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt @@ -55,7 +55,7 @@ if(MAGNUM_ANYIMAGEIMPORTER_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum AnyImageImporter target alias for superprojects diff --git a/src/MagnumPlugins/AnySceneConverter/CMakeLists.txt b/src/MagnumPlugins/AnySceneConverter/CMakeLists.txt index 09b380357..f571ecbc4 100644 --- a/src/MagnumPlugins/AnySceneConverter/CMakeLists.txt +++ b/src/MagnumPlugins/AnySceneConverter/CMakeLists.txt @@ -55,7 +55,7 @@ if(MAGNUM_ANYSCENECONVERTER_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum AnySceneConverter target alias for superprojects diff --git a/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt b/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt index ebca1c542..068db9693 100644 --- a/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt +++ b/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt @@ -55,7 +55,7 @@ if(MAGNUM_ANYSCENEIMPORTER_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum AnySceneImporter target alias for superprojects diff --git a/src/MagnumPlugins/AnyShaderConverter/CMakeLists.txt b/src/MagnumPlugins/AnyShaderConverter/CMakeLists.txt index 340e0eb05..a65658f6f 100644 --- a/src/MagnumPlugins/AnyShaderConverter/CMakeLists.txt +++ b/src/MagnumPlugins/AnyShaderConverter/CMakeLists.txt @@ -55,7 +55,7 @@ if(MAGNUM_ANYSHADERCONVERTER_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum AnyShaderConverter target alias for superprojects diff --git a/src/MagnumPlugins/MagnumFont/CMakeLists.txt b/src/MagnumPlugins/MagnumFont/CMakeLists.txt index 77b1f8ef0..623cc0f22 100644 --- a/src/MagnumPlugins/MagnumFont/CMakeLists.txt +++ b/src/MagnumPlugins/MagnumFont/CMakeLists.txt @@ -66,7 +66,7 @@ if(MAGNUM_MAGNUMFONT_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum MagnumFont target alias for superprojects diff --git a/src/MagnumPlugins/MagnumFontConverter/CMakeLists.txt b/src/MagnumPlugins/MagnumFontConverter/CMakeLists.txt index f711ee886..f5698dfc5 100644 --- a/src/MagnumPlugins/MagnumFontConverter/CMakeLists.txt +++ b/src/MagnumPlugins/MagnumFontConverter/CMakeLists.txt @@ -60,7 +60,7 @@ if(MAGNUM_MAGNUMFONTCONVERTER_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum MagnumFontConverter target alias for superprojects diff --git a/src/MagnumPlugins/ObjImporter/CMakeLists.txt b/src/MagnumPlugins/ObjImporter/CMakeLists.txt index 6010cb41e..879cc7cd8 100644 --- a/src/MagnumPlugins/ObjImporter/CMakeLists.txt +++ b/src/MagnumPlugins/ObjImporter/CMakeLists.txt @@ -62,7 +62,7 @@ if(MAGNUM_OBJIMPORTER_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum ObjImporter library for superprojects diff --git a/src/MagnumPlugins/TgaImageConverter/CMakeLists.txt b/src/MagnumPlugins/TgaImageConverter/CMakeLists.txt index 001c0a3cf..88da8ea75 100644 --- a/src/MagnumPlugins/TgaImageConverter/CMakeLists.txt +++ b/src/MagnumPlugins/TgaImageConverter/CMakeLists.txt @@ -55,7 +55,7 @@ if(MAGNUM_TGAIMAGECONVERTER_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum TgaImageConverter target alias for superprojects diff --git a/src/MagnumPlugins/TgaImporter/CMakeLists.txt b/src/MagnumPlugins/TgaImporter/CMakeLists.txt index e5207aa88..9b89a3383 100644 --- a/src/MagnumPlugins/TgaImporter/CMakeLists.txt +++ b/src/MagnumPlugins/TgaImporter/CMakeLists.txt @@ -56,7 +56,7 @@ if(MAGNUM_TGAIMPORTER_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum TgaImporter target alias for superprojects diff --git a/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt b/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt index e04c1f87f..b17d6eaea 100644 --- a/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt +++ b/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt @@ -74,7 +74,7 @@ if(MAGNUM_WAVAUDIOIMPORTER_BUILD_STATIC) endif() if(MAGNUM_BUILD_TESTS) - add_subdirectory(Test) + add_subdirectory(Test ${EXCLUDE_FROM_ALL_IF_TEST_TARGET}) endif() # Magnum WavAudioImporter target alias for superprojects