From d0f88a6ed225d4e324ff1e0b2b37604206cfdd0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 26 Jun 2020 19:49:58 +0200 Subject: [PATCH] modules: updated FindCorrade.cmake and FindMagnum.cmake. --- modules/FindCorrade.cmake | 55 +++++++++++++----- modules/FindMagnum.cmake | 118 ++++++++++++++++++++++++-------------- 2 files changed, 117 insertions(+), 56 deletions(-) diff --git a/modules/FindCorrade.cmake b/modules/FindCorrade.cmake index ab78763..8a5fd6f 100644 --- a/modules/FindCorrade.cmake +++ b/modules/FindCorrade.cmake @@ -75,6 +75,9 @@ # included # CORRADE_BUILD_STATIC - Defined if compiled as static libraries. # Default are shared libraries. +# CORRADE_BUILD_STATIC_UNIQUE_GLOBALS - Defined if static libraries keep their +# globals unique even across different shared libraries. Enabled by default +# for static builds. # CORRADE_BUILD_MULTITHREADED - Defined if compiled in a way that makes it # possible to safely use certain Corrade features simultaenously in multiple # threads @@ -88,6 +91,16 @@ # CORRADE_TARGET_WINDOWS_RT - Defined if compiled for Windows RT # CORRADE_TARGET_EMSCRIPTEN - Defined if compiled for Emscripten # CORRADE_TARGET_ANDROID - Defined if compiled for Android +# CORRADE_TARGET_GCC - Defined if compiling with GCC or GCC- +# compatible Clang +# CORRADE_TARGET_CLANG - Defined if compiling with Clang or any of its +# variants +# CORRADE_TARGET_APPLE_CLANG - Defined if compiling with Apple's Clang +# CORRADE_TARGET_CLANG_CL - Defined if compiling with Clang-CL (Clang +# with a MSVC frontend) +# CORRADE_TARGET_MSVC - Defined if compiling with MSVC or Clang with +# a MSVC frontend +# CORRADE_TARGET_MINGW - Defined if compiling under MinGW # CORRADE_PLUGINMANAGER_NO_DYNAMIC_PLUGIN_SUPPORT - Defined if PluginManager # doesn't support dynamic plugin loading due to platform limitations # CORRADE_TESTSUITE_TARGET_XCTEST - Defined if TestSuite is targetting Xcode @@ -183,13 +196,19 @@ # # ...) # -# The macro adds preprocessor directive ``CORRADE_DYNAMIC_PLUGIN``. Additional -# libraries can be linked in via :command:`target_link_libraries(plugin_name ...) `. +# The macro adds a preprocessor directive ``CORRADE_DYNAMIC_PLUGIN`` when +# compiling ````. Additional libraries can be linked in via +# :command:`target_link_libraries(plugin_name ...) `. # On DLL platforms, the plugin DLLs and metadata files are put into -# ````/```` and the -# ``*.lib`` files into ````/````. -# On non-DLL platforms everything is put into ````/ -# ````. +# ```` / ```` and the +# ``*.lib`` files into ```` / +# ````. On non-DLL platforms everything is put +# into ```` / ````. +# +# If the plugin interface disables plugin metadata files, the +# ```` can be set to ``""``, in which case no metadata file is +# copied anywhere. Otherwise the metadata file is copied and renamed to +# ````, retaining its original extension. # # corrade_add_plugin( # @@ -214,8 +233,9 @@ # # ...) # -# The macro adds preprocessor directive ``CORRADE_STATIC_PLUGIN``. Additional -# libraries can be linked in via :command:`target_link_libraries(plugin_name ...) `. +# The macro adds a preprocessor directive ``CORRADE_STATIC_PLUGIN`` when +# compiling ````. Additional libraries can be linked in via +# :command:`target_link_libraries(plugin_name ...) `. # The ```` is ignored and included just for compatibility # with the :command:`corrade_add_plugin` command, everything is installed into # ````. Note that plugins built in debug configuration @@ -223,6 +243,11 @@ # suffix to make it possible to have both debug and release plugins installed # alongside each other. # +# If the plugin interface disables plugin metadata files, the +# ```` can be set to ``""``, in which case no metadata file is +# used. Otherwise the metadata file is bundled and renamed to +# ````, retaining its original extension. +# # corrade_add_static_plugin( # # @@ -247,7 +272,7 @@ # This file is part of Corrade. # # Copyright © 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, -# 2017, 2018, 2019 Vladimír Vondruš +# 2017, 2018, 2019, 2020 Vladimír Vondruš # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), @@ -289,15 +314,15 @@ endif() # Read flags from configuration file(READ ${_CORRADE_CONFIGURE_FILE} _corradeConfigure) +string(REGEX REPLACE ";" "\\\\;" _corradeConfigure "${_corradeConfigure}") +string(REGEX REPLACE "\n" ";" _corradeConfigure "${_corradeConfigure}") set(_corradeFlags - # WARNING: CAREFUL HERE, the string(FIND) succeeds even if a subset is - # found -- so e.g. looking for TARGET_GL will match TARGET_GLES2 as well. - # So far that's not a problem, but might become an issue for new flags. MSVC2015_COMPATIBILITY MSVC2017_COMPATIBILITY MSVC2019_COMPATIBILITY BUILD_DEPRECATED BUILD_STATIC + BUILD_STATIC_UNIQUE_GLOBALS BUILD_MULTITHREADED TARGET_UNIX TARGET_APPLE @@ -307,11 +332,15 @@ set(_corradeFlags TARGET_WINDOWS_RT TARGET_EMSCRIPTEN TARGET_ANDROID + # TARGET_X86 etc and TARGET_LIBCXX are not exposed to CMake as the meaning + # is unclear on platforms with multi-arch binaries or when mixing different + # STL implementations. TARGET_GCC etc are figured out via UseCorrade.cmake, + # as the compiler can be different when compiling the lib & when using it. PLUGINMANAGER_NO_DYNAMIC_PLUGIN_SUPPORT TESTSUITE_TARGET_XCTEST UTILITY_USE_ANSI_COLORS) foreach(_corradeFlag ${_corradeFlags}) - string(FIND "${_corradeConfigure}" "#define CORRADE_${_corradeFlag}" _corrade_${_corradeFlag}) + list(FIND _corradeConfigure "#define CORRADE_${_corradeFlag}" _corrade_${_corradeFlag}) if(NOT _corrade_${_corradeFlag} EQUAL -1) set(CORRADE_${_corradeFlag} 1) endif() diff --git a/modules/FindMagnum.cmake b/modules/FindMagnum.cmake index f471cd7..8761448 100644 --- a/modules/FindMagnum.cmake +++ b/modules/FindMagnum.cmake @@ -32,6 +32,8 @@ # font converter plugins # MAGNUM_PLUGINS_IMAGECONVERTER[|_DEBUG|_RELEASE]_DIR - Directory with dynamic # image converter plugins +# MAGNUM_PLUGINS_SCENECONVERTER[|_DEBUG|_RELEASE]_DIR - Directory with dynamic +# scene converter plugins # MAGNUM_PLUGINS_IMPORTER[|_DEBUG|_RELEASE]_DIR - Directory with dynamic # importer plugins # MAGNUM_PLUGINS_AUDIOIMPORTER[|_DEBUG|_RELEASE]_DIR - Directory with dynamic @@ -53,6 +55,7 @@ # AnyAudioImporter - Any audio importer # AnyImageConverter - Any image converter # AnyImageImporter - Any image importer +# AnySceneConverter - Any scene converter # AnySceneImporter - Any scene importer # Audio - Audio library # DebugTools - DebugTools library @@ -91,6 +94,7 @@ # distancefieldconverter - magnum-distancefieldconverter executable # fontconverter - magnum-fontconverter executable # imageconverter - magnum-imageconverter executable +# sceneconverterter - magnum-sceneconverter executable # gl-info - magnum-gl-info executable # al-info - magnum-al-info executable # @@ -125,6 +129,8 @@ # MAGNUM_BUILD_DEPRECATED - Defined if compiled with deprecated APIs # included # MAGNUM_BUILD_STATIC - Defined if compiled as static libraries +# MAGNUM_BUILD_STATIC_UNIQUE_GLOBALS - Defined if static libraries keep the +# globals unique even across different shared libraries # MAGNUM_TARGET_GL - Defined if compiled with OpenGL interop # MAGNUM_TARGET_GLES - Defined if compiled for OpenGL ES # MAGNUM_TARGET_GLES2 - Defined if compiled for OpenGL ES 2.0 @@ -174,6 +180,10 @@ # plugin binary installation directory # MAGNUM_PLUGINS_IMPORTER_[DEBUG|RELEASE]_LIBRARY_INSTALL_DIR - Importer # plugin library installation directory +# MAGNUM_PLUGINS_SCENECONVERTER_[DEBUG|RELEASE]_BINARY_INSTALL_DIR - Scene +# converter plugin binary installation directory +# MAGNUM_PLUGINS_SCENECONVERTER_[DEBUG|RELEASE]_LIBRARY_INSTALL_DIR - Scene +# converter plugin library installation directory # MAGNUM_PLUGINS_AUDIOIMPORTER_[DEBUG|RELEASE]_BINARY_INSTALL_DIR - Audio # importer plugin binary installation directory # MAGNUM_PLUGINS_AUDIOIMPORTER_[DEBUG|RELEASE]_LIBRARY_INSTALL_DIR - Audio @@ -185,8 +195,8 @@ # # This file is part of Magnum. # -# Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 -# Vladimír Vondruš +# Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, +# 2020 Vladimír Vondruš # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), @@ -243,12 +253,12 @@ endif() # Read flags from configuration file(READ ${_MAGNUM_CONFIGURE_FILE} _magnumConfigure) +string(REGEX REPLACE ";" "\\\\;" _magnumConfigure "${_magnumConfigure}") +string(REGEX REPLACE "\n" ";" _magnumConfigure "${_magnumConfigure}") set(_magnumFlags - # WARNING: CAREFUL HERE, the string(FIND) succeeds even if a subset is - # found -- so e.g. looking for TARGET_GL will match TARGET_GLES2 as well. - # So far that's not a problem, but might become an issue for new flags. BUILD_DEPRECATED BUILD_STATIC + BUILD_STATIC_UNIQUE_GLOBALS TARGET_GL TARGET_GLES TARGET_GLES2 @@ -258,7 +268,7 @@ set(_magnumFlags TARGET_HEADLESS TARGET_VK) foreach(_magnumFlag ${_magnumFlags}) - string(FIND "${_magnumConfigure}" "#define MAGNUM_${_magnumFlag}" _magnum_${_magnumFlag}) + list(FIND _magnumConfigure "#define MAGNUM_${_magnumFlag}" _magnum_${_magnumFlag}) if(NOT _magnum_${_magnumFlag} EQUAL -1) set(MAGNUM_${_magnumFlag} 1) endif() @@ -354,33 +364,35 @@ set(_MAGNUM_LIBRARY_COMPONENT_LIST CglContext EglContext GlxContext WglContext OpenGLTester) set(_MAGNUM_PLUGIN_COMPONENT_LIST - AnyAudioImporter AnyImageConverter AnyImageImporter AnySceneImporter - MagnumFont MagnumFontConverter ObjImporter TgaImageConverter TgaImporter - WavAudioImporter) + AnyAudioImporter AnyImageConverter AnyImageImporter AnySceneConverter + AnySceneImporter MagnumFont MagnumFontConverter ObjImporter + TgaImageConverter TgaImporter WavAudioImporter) set(_MAGNUM_EXECUTABLE_COMPONENT_LIST - distancefieldconverter fontconverter imageconverter gl-info al-info) + distancefieldconverter fontconverter imageconverter sceneconverter gl-info + al-info) # Inter-component dependencies set(_MAGNUM_Audio_DEPENDENCIES ) -set(_MAGNUM_DebugTools_DEPENDENCIES ) +# Trade is used by CompareImage. If Trade is not enabled, CompareImage is not +# compiled at all. +set(_MAGNUM_DebugTools_DEPENDENCIES Trade) +set(_MAGNUM_DebugTools_Trade_DEPENDENCY_IS_OPTIONAL ON) +# MeshTools, Primitives, SceneGraph and Shaders are used only for GL renderers +# in DebugTools. All of this is optional, compiled in only if the base library +# was selected. if(MAGNUM_TARGET_GL) - # MeshTools, Primitives, SceneGraph and Shaders are used only for GL - # renderers. All of this is optional, compiled in only if the base library - # was selected. - list(APPEND _MAGNUM_DebugTools_DEPENDENCIES MeshTools Primitives SceneGraph Shaders Trade GL) + list(APPEND _MAGNUM_DebugTools_DEPENDENCIES MeshTools Primitives SceneGraph Shaders GL) set(_MAGNUM_DebugTools_MeshTools_DEPENDENCY_IS_OPTIONAL ON) set(_MAGNUM_DebugTools_Primitives_DEPENDENCY_IS_OPTIONAL ON) set(_MAGNUM_DebugTools_SceneGraph_DEPENDENCY_IS_OPTIONAL ON) set(_MAGNUM_DebugTools_Shaders_DEPENDENCY_IS_OPTIONAL ON) - set(_MAGNUM_DebugTools_Trade_DEPENDENCY_IS_OPTIONAL ON) set(_MAGNUM_DebugTools_GL_DEPENDENCY_IS_OPTIONAL ON) endif() -set(_MAGNUM_MeshTools_DEPENDENCIES ) +set(_MAGNUM_MeshTools_DEPENDENCIES Trade) if(MAGNUM_TARGET_GL) - # Trade is used only in compile(), which needs GL as well - list(APPEND _MAGNUM_MeshTools_DEPENDENCIES Trade GL) + list(APPEND _MAGNUM_MeshTools_DEPENDENCIES GL) endif() set(_MAGNUM_OpenGLTester_DEPENDENCIES GL) @@ -404,7 +416,11 @@ elseif(CORRADE_TARGET_WINDOWS) endif() endif() -set(_MAGNUM_Primitives_DEPENDENCIES Trade) +set(_MAGNUM_Primitives_DEPENDENCIES MeshTools Trade) +if(MAGNUM_TARGET_GL) + # GL not required by Primitives themselves, but transitively by MeshTools + list(APPEND _MAGNUM_Primitives_DEPENDENCIES GL) +endif() set(_MAGNUM_SceneGraph_DEPENDENCIES ) set(_MAGNUM_Shaders_DEPENDENCIES GL) set(_MAGNUM_Text_DEPENDENCIES TextureTools) @@ -454,7 +470,7 @@ set(_MAGNUM_ObjImporter_DEPENDENCIES MeshTools) # and below foreach(_component ${_MAGNUM_PLUGIN_COMPONENT_LIST}) if(_component MATCHES ".+AudioImporter") list(APPEND _MAGNUM_${_component}_DEPENDENCIES Audio) - elseif(_component MATCHES ".+(Importer|ImageConverter)") + elseif(_component MATCHES ".+(Importer|ImageConverter|SceneConverter)") list(APPEND _MAGNUM_${_component}_DEPENDENCIES Trade) elseif(_component MATCHES ".+(Font|FontConverter)") list(APPEND _MAGNUM_${_component}_DEPENDENCIES Text TextureTools) @@ -545,6 +561,10 @@ foreach(_component ${Magnum_FIND_COMPONENTS}) elseif(_component MATCHES ".+ImageConverter$") set(_MAGNUM_${_COMPONENT}_PATH_SUFFIX imageconverters) + # SceneConverter plugin specific name suffixes + elseif(_component MATCHES ".+SceneConverter$") + set(_MAGNUM_${_COMPONENT}_PATH_SUFFIX sceneconverters) + # FontConverter plugin specific name suffixes elseif(_component MATCHES ".+FontConverter$") set(_MAGNUM_${_COMPONENT}_PATH_SUFFIX fontconverters) @@ -797,9 +817,7 @@ foreach(_component ${Magnum_FIND_COMPONENTS}) elseif(_component STREQUAL Audio) find_package(OpenAL) set_property(TARGET Magnum::${_component} APPEND PROPERTY - INTERFACE_INCLUDE_DIRECTORIES ${OPENAL_INCLUDE_DIR}) - set_property(TARGET Magnum::${_component} APPEND PROPERTY - INTERFACE_LINK_LIBRARIES ${OPENAL_LIBRARY} Corrade::PluginManager) + INTERFACE_LINK_LIBRARIES Corrade::PluginManager OpenAL::OpenAL) # No special setup for DebugTools library @@ -1113,6 +1131,10 @@ set(MAGNUM_PLUGINS_IMPORTER_DEBUG_BINARY_INSTALL_DIR ${MAGNUM_PLUGINS_DEBUG_BINA set(MAGNUM_PLUGINS_IMPORTER_DEBUG_LIBRARY_INSTALL_DIR ${MAGNUM_PLUGINS_DEBUG_LIBRARY_INSTALL_DIR}/importers) set(MAGNUM_PLUGINS_IMPORTER_RELEASE_BINARY_INSTALL_DIR ${MAGNUM_PLUGINS_RELEASE_BINARY_INSTALL_DIR}/importers) set(MAGNUM_PLUGINS_IMPORTER_RELEASE_LIBRARY_INSTALL_DIR ${MAGNUM_PLUGINS_RELEASE_LIBRARY_INSTALL_DIR}/importers) +set(MAGNUM_PLUGINS_SCENECONVERTER_DEBUG_BINARY_INSTALL_DIR ${MAGNUM_PLUGINS_DEBUG_BINARY_INSTALL_DIR}/sceneconverters) +set(MAGNUM_PLUGINS_SCENECONVERTER_DEBUG_LIBRARY_INSTALL_DIR ${MAGNUM_PLUGINS_DEBUG_LIBRARY_INSTALL_DIR}/sceneconverters) +set(MAGNUM_PLUGINS_SCENECONVERTER_RELEASE_LIBRARY_INSTALL_DIR ${MAGNUM_PLUGINS_RELEASE_LIBRARY_INSTALL_DIR}/sceneconverters) +set(MAGNUM_PLUGINS_SCENECONVERTER_RELEASE_BINARY_INSTALL_DIR ${MAGNUM_PLUGINS_RELEASE_BINARY_INSTALL_DIR}/sceneconverters) set(MAGNUM_PLUGINS_AUDIOIMPORTER_DEBUG_BINARY_INSTALL_DIR ${MAGNUM_PLUGINS_DEBUG_BINARY_INSTALL_DIR}/audioimporters) set(MAGNUM_PLUGINS_AUDIOIMPORTER_DEBUG_LIBRARY_INSTALL_DIR ${MAGNUM_PLUGINS_DEBUG_LIBRARY_INSTALL_DIR}/audioimporters) set(MAGNUM_PLUGINS_AUDIOIMPORTER_RELEASE_BINARY_INSTALL_DIR ${MAGNUM_PLUGINS_RELEASE_BINARY_INSTALL_DIR}/audioimporters) @@ -1125,26 +1147,36 @@ set(MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR ${MAGNUM_INCLUDE_INSTALL_PREFIX}/include/ # because CMake always converts the path to an absolute location internally, # making it impossible to specify relative paths there. Sorry in advance for # not having the dir selection button in CMake GUI. -set(MAGNUM_PLUGINS_DEBUG_DIR ${_MAGNUM_PLUGINS_DIR_PREFIX}/magnum-d +set(MAGNUM_PLUGINS_DEBUG_DIR "" CACHE STRING "Base directory where to look for Magnum plugins for debug builds") -set(MAGNUM_PLUGINS_RELEASE_DIR ${_MAGNUM_PLUGINS_DIR_PREFIX}/magnum +set(MAGNUM_PLUGINS_RELEASE_DIR "" CACHE STRING "Base directory where to look for Magnum plugins for release builds") -set(MAGNUM_PLUGINS_DIR ${_MAGNUM_PLUGINS_DIR_PREFIX}/magnum${_MAGNUM_PLUGINS_DIR_SUFFIX} +set(MAGNUM_PLUGINS_DIR "" CACHE STRING "Base directory where to look for Magnum plugins") -# Plugin directories -set(MAGNUM_PLUGINS_FONT_DIR ${MAGNUM_PLUGINS_DIR}/fonts) -set(MAGNUM_PLUGINS_FONT_DEBUG_DIR ${MAGNUM_PLUGINS_DEBUG_DIR}/fonts) -set(MAGNUM_PLUGINS_FONT_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/fonts) -set(MAGNUM_PLUGINS_FONTCONVERTER_DIR ${MAGNUM_PLUGINS_DIR}/fontconverters) -set(MAGNUM_PLUGINS_FONTCONVERTER_DEBUG_DIR ${MAGNUM_PLUGINS_DEBUG_DIR}/fontconverters) -set(MAGNUM_PLUGINS_FONTCONVERTER_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/fontconverters) -set(MAGNUM_PLUGINS_IMAGECONVERTER_DIR ${MAGNUM_PLUGINS_DIR}/imageconverters) -set(MAGNUM_PLUGINS_IMAGECONVERTER_DEBUG_DIR ${MAGNUM_PLUGINS_DEBUG_DIR}/imageconverters) -set(MAGNUM_PLUGINS_IMAGECONVERTER_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/imageconverters) -set(MAGNUM_PLUGINS_IMPORTER_DIR ${MAGNUM_PLUGINS_DIR}/importers) -set(MAGNUM_PLUGINS_IMPORTER_DEBUG_DIR ${MAGNUM_PLUGINS_DEBUG_DIR}/importers) -set(MAGNUM_PLUGINS_IMPORTER_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/importers) -set(MAGNUM_PLUGINS_AUDIOIMPORTER_DIR ${MAGNUM_PLUGINS_DIR}/audioimporters) -set(MAGNUM_PLUGINS_AUDIOIMPORTER_DEBUG_DIR ${MAGNUM_PLUGINS_DEBUG_DIR}/audioimporters) -set(MAGNUM_PLUGINS_AUDIOIMPORTER_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/audioimporters) +# Plugin directories. Set only if the above are non-empty. otherwise empty as +# well. +if(MAGNUM_PLUGINS_DIR) + set(MAGNUM_PLUGINS_FONT_DIR ${MAGNUM_PLUGINS_DIR}/fonts) + set(MAGNUM_PLUGINS_FONTCONVERTER_DIR ${MAGNUM_PLUGINS_DIR}/fontconverters) + set(MAGNUM_PLUGINS_IMAGECONVERTER_DIR ${MAGNUM_PLUGINS_DIR}/imageconverters) + set(MAGNUM_PLUGINS_IMPORTER_DIR ${MAGNUM_PLUGINS_DIR}/importers) + set(MAGNUM_PLUGINS_SCENECONVERTER_DIR ${MAGNUM_PLUGINS_DIR}/sceneconverters) + set(MAGNUM_PLUGINS_AUDIOIMPORTER_DIR ${MAGNUM_PLUGINS_DIR}/audioimporters) +endif() +if(MAGNUM_PLUGINS_DEBUG_DIR) + set(MAGNUM_PLUGINS_FONT_DEBUG_DIR ${MAGNUM_PLUGINS_DEBUG_DIR}/fonts) + set(MAGNUM_PLUGINS_FONTCONVERTER_DEBUG_DIR ${MAGNUM_PLUGINS_DEBUG_DIR}/fontconverters) + set(MAGNUM_PLUGINS_IMAGECONVERTER_DEBUG_DIR ${MAGNUM_PLUGINS_DEBUG_DIR}/imageconverters) + set(MAGNUM_PLUGINS_IMPORTER_DEBUG_DIR ${MAGNUM_PLUGINS_DEBUG_DIR}/importers) + set(MAGNUM_PLUGINS_FONT_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/fonts) + set(MAGNUM_PLUGINS_SCENECONVERTER_DEBUG_DIR ${MAGNUM_PLUGINS_DEBUG_DIR}/sceneconverters) + set(MAGNUM_PLUGINS_AUDIOIMPORTER_DEBUG_DIR ${MAGNUM_PLUGINS_DEBUG_DIR}/audioimporters) +endif() +if(MAGNUM_PLUGINS_RELEASE_DIR) + set(MAGNUM_PLUGINS_FONTCONVERTER_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/fontconverters) + set(MAGNUM_PLUGINS_IMAGECONVERTER_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/imageconverters) + set(MAGNUM_PLUGINS_IMPORTER_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/importers) + set(MAGNUM_PLUGINS_SCENECONVERTER_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/sceneconverters) + set(MAGNUM_PLUGINS_AUDIOIMPORTER_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/audioimporters) +endif()