From bcb96eba36c02afedaf860c26c205985a10226bc Mon Sep 17 00:00:00 2001 From: Hugo Amiard Date: Mon, 13 Jun 2022 15:57:02 +0200 Subject: [PATCH] CMake: Set each plugins output directory individually and per-config When for example only CMAKE_RUNTIME_OUTPUT_DIRECTORY is set, but not the others, the original code skipped overriding the locations altogether. This is a valid use case, as e.g. ARCHIVE and LIBRARY_OUTPUT_DIRECTORY tend to mess with the way Visual Studio produces and consumes *.lib files. Furthermore, this now also handles CMAKE_*_OUTPUT_DIRECTORY_ in a similar way, which is what Conan uses for example. --- .../AnyAudioImporter/CMakeLists.txt | 8 +------- .../AnyImageConverter/CMakeLists.txt | 8 +------- .../AnyImageImporter/CMakeLists.txt | 8 +------- .../AnySceneConverter/CMakeLists.txt | 8 +------- .../AnySceneImporter/CMakeLists.txt | 8 +------- .../AnyShaderConverter/CMakeLists.txt | 8 +------- src/MagnumPlugins/CMakeLists.txt | 16 +++++++++++++++- src/MagnumPlugins/MagnumFont/CMakeLists.txt | 8 +------- .../MagnumFontConverter/CMakeLists.txt | 8 +------- src/MagnumPlugins/ObjImporter/CMakeLists.txt | 8 +------- .../TgaImageConverter/CMakeLists.txt | 8 +------- src/MagnumPlugins/TgaImporter/CMakeLists.txt | 8 +------- .../WavAudioImporter/CMakeLists.txt | 8 +------- 13 files changed, 27 insertions(+), 85 deletions(-) diff --git a/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt b/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt index b2adc17c4..9d4c6dabd 100644 --- a/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt +++ b/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt @@ -34,6 +34,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake # AnyAudioImporter plugin add_plugin(AnyAudioImporter + audioimporters "${MAGNUM_PLUGINS_AUDIOIMPORTER_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_AUDIOIMPORTER_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_AUDIOIMPORTER_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_AUDIOIMPORTER_RELEASE_LIBRARY_INSTALL_DIR}" AnyAudioImporter.conf @@ -43,13 +44,6 @@ if(MAGNUM_ANYAUDIOIMPORTER_BUILD_STATIC AND MAGNUM_BUILD_STATIC_PIC) set_target_properties(AnyAudioImporter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_link_libraries(AnyAudioImporter PUBLIC Magnum MagnumAudio) -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(AnyAudioImporter PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/audioimporters - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/audioimporters - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/audioimporters) -endif() install(FILES AnyImporter.h ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnyAudioImporter) diff --git a/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt b/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt index edb015698..3cc09092a 100644 --- a/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt +++ b/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt @@ -34,6 +34,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake # AnyImageConverter plugin add_plugin(AnyImageConverter + imageconverters "${MAGNUM_PLUGINS_IMAGECONVERTER_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMAGECONVERTER_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_IMAGECONVERTER_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMAGECONVERTER_RELEASE_LIBRARY_INSTALL_DIR}" AnyImageConverter.conf @@ -43,13 +44,6 @@ if(MAGNUM_ANYIMAGECONVERTER_BUILD_STATIC AND MAGNUM_BUILD_STATIC_PIC) set_target_properties(AnyImageConverter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_link_libraries(AnyImageConverter PUBLIC MagnumTrade) -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(AnyImageConverter PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/imageconverters - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/imageconverters - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/imageconverters) -endif() install(FILES AnyImageConverter.h ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnyImageConverter) diff --git a/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt b/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt index 6afb50553..d4919f09c 100644 --- a/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt +++ b/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt @@ -34,6 +34,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake # AnyImageImporter plugin add_plugin(AnyImageImporter + importers "${MAGNUM_PLUGINS_IMPORTER_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMPORTER_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_IMPORTER_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMPORTER_RELEASE_LIBRARY_INSTALL_DIR}" AnyImageImporter.conf @@ -43,13 +44,6 @@ if(MAGNUM_ANYIMAGEIMPORTER_BUILD_STATIC AND MAGNUM_BUILD_STATIC_PIC) set_target_properties(AnyImageImporter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_link_libraries(AnyImageImporter PUBLIC MagnumTrade) -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(AnyImageImporter PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers) -endif() install(FILES AnyImageImporter.h ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnyImageImporter) diff --git a/src/MagnumPlugins/AnySceneConverter/CMakeLists.txt b/src/MagnumPlugins/AnySceneConverter/CMakeLists.txt index c4a1f2c76..09b380357 100644 --- a/src/MagnumPlugins/AnySceneConverter/CMakeLists.txt +++ b/src/MagnumPlugins/AnySceneConverter/CMakeLists.txt @@ -34,6 +34,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake # AnySceneConverter plugin add_plugin(AnySceneConverter + sceneconverters "${MAGNUM_PLUGINS_SCENECONVERTER_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_SCENECONVERTER_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_SCENECONVERTER_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_SCENECONVERTER_RELEASE_LIBRARY_INSTALL_DIR}" AnySceneConverter.conf @@ -43,13 +44,6 @@ if(MAGNUM_ANYSCENECONVERTER_BUILD_STATIC AND MAGNUM_BUILD_STATIC_PIC) set_target_properties(AnySceneConverter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_link_libraries(AnySceneConverter PUBLIC MagnumTrade) -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(AnySceneConverter PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/sceneconverters - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/sceneconverters - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/sceneconverters) -endif() install(FILES AnySceneConverter.h ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnySceneConverter) diff --git a/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt b/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt index 5106fe9d3..ebca1c542 100644 --- a/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt +++ b/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt @@ -34,6 +34,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake # AnySceneImporter plugin add_plugin(AnySceneImporter + importers "${MAGNUM_PLUGINS_IMPORTER_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMPORTER_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_IMPORTER_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMPORTER_RELEASE_LIBRARY_INSTALL_DIR}" AnySceneImporter.conf @@ -43,13 +44,6 @@ if(MAGNUM_ANYSCENEIMPORTER_BUILD_STATIC AND MAGNUM_BUILD_STATIC_PIC) set_target_properties(AnySceneImporter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_link_libraries(AnySceneImporter PUBLIC MagnumTrade) -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(AnySceneImporter PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers) -endif() install(FILES AnySceneImporter.h ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnySceneImporter) diff --git a/src/MagnumPlugins/AnyShaderConverter/CMakeLists.txt b/src/MagnumPlugins/AnyShaderConverter/CMakeLists.txt index 5aa9e87fa..781919f8b 100644 --- a/src/MagnumPlugins/AnyShaderConverter/CMakeLists.txt +++ b/src/MagnumPlugins/AnyShaderConverter/CMakeLists.txt @@ -34,6 +34,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake # AnyShaderConverter plugin add_plugin(AnyShaderConverter + shaderconverters "${MAGNUM_PLUGINS_SHADERCONVERTER_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_SHADERCONVERTER_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_SHADERCONVERTER_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_SHADERCONVERTER_RELEASE_LIBRARY_INSTALL_DIR}" AnyShaderConverter.conf @@ -43,13 +44,6 @@ if(MAGNUM_ANYSHADERCONVERTER_BUILD_STATIC AND MAGNUM_BUILD_STATIC_PIC) set_target_properties(AnyShaderConverter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_link_libraries(AnyShaderConverter PUBLIC MagnumShaderTools) -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(AnyShaderConverter PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/shaderconverters - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/shaderconverters - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/shaderconverters) -endif() install(FILES AnyConverter.h ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnyShaderConverter) diff --git a/src/MagnumPlugins/CMakeLists.txt b/src/MagnumPlugins/CMakeLists.txt index f3d916c6d..9ac70ce8e 100644 --- a/src/MagnumPlugins/CMakeLists.txt +++ b/src/MagnumPlugins/CMakeLists.txt @@ -24,7 +24,7 @@ # # Wrapper for creating given plugin type -macro(add_plugin plugin_name debug_install_dirs release_install_dirs metadata_file) +macro(add_plugin plugin_name plugin_folder debug_install_dirs release_install_dirs metadata_file) string(TOUPPER ${plugin_name} PLUGIN_NAME) if(NOT MAGNUM_${PLUGIN_NAME}_BUILD_STATIC) corrade_add_plugin(${plugin_name} "${debug_install_dirs}" "${release_install_dirs}" ${metadata_file} ${ARGN}) @@ -33,6 +33,20 @@ macro(add_plugin plugin_name debug_install_dirs release_install_dirs metadata_fi corrade_add_static_plugin(${plugin_name} "${release_install_dirs}" ${metadata_file} ${ARGN}) set_target_properties(${plugin_name} ${plugin_name}-dependencies PROPERTIES FOLDER "MagnumPlugins/${plugin_name}") endif() + # For each type of output directory and each configuration, append the plugin subfolder only if the global CMAKE_ variable was set + foreach(output RUNTIME LIBRARY ARCHIVE) + if(CMAKE_${output}_OUTPUT_DIRECTORY) + set_target_properties(${plugin_name} PROPERTIES + ${output}_OUTPUT_DIRECTORY ${CMAKE_${output}_OUTPUT_DIRECTORY}/magnum$<$:-d>/${plugin_folder}) + endif() + # This doesn't handle custom build types as there's no way to know their names + foreach(config DEBUG RELEASE RELWITHDEBINFO MINSIZEREL) + if(CMAKE_${output}_OUTPUT_DIRECTORY_${config}) + set_target_properties(${plugin_name} PROPERTIES + ${output}_OUTPUT_DIRECTORY_${config} ${CMAKE_${output}_OUTPUT_DIRECTORY_${config}}/magnum$<$:-d>/${plugin_folder}) + endif() + endforeach() + endforeach() endmacro() if(MAGNUM_WITH_ANYAUDIOIMPORTER) diff --git a/src/MagnumPlugins/MagnumFont/CMakeLists.txt b/src/MagnumPlugins/MagnumFont/CMakeLists.txt index 8bf859122..a26164f59 100644 --- a/src/MagnumPlugins/MagnumFont/CMakeLists.txt +++ b/src/MagnumPlugins/MagnumFont/CMakeLists.txt @@ -40,6 +40,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake # MagnumFont plugin add_plugin(MagnumFont + fonts "${MAGNUM_PLUGINS_FONT_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_FONT_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_FONT_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_FONT_RELEASE_LIBRARY_INSTALL_DIR}" MagnumFont.conf @@ -52,13 +53,6 @@ target_link_libraries(MagnumFont PUBLIC Magnum MagnumText MagnumTrade) if(CORRADE_TARGET_WINDOWS) target_link_libraries(MagnumFont PUBLIC TgaImporter) endif() -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(MagnumFont PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/fonts - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/fonts - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/fonts) -endif() install(FILES MagnumFont.h ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/MagnumFont) diff --git a/src/MagnumPlugins/MagnumFontConverter/CMakeLists.txt b/src/MagnumPlugins/MagnumFontConverter/CMakeLists.txt index 80cbbbf89..f711ee886 100644 --- a/src/MagnumPlugins/MagnumFontConverter/CMakeLists.txt +++ b/src/MagnumPlugins/MagnumFontConverter/CMakeLists.txt @@ -34,6 +34,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake # MagnumFontConverter plugin add_plugin(MagnumFontConverter + fontconverters "${MAGNUM_PLUGINS_FONTCONVERTER_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_FONTCONVERTER_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_FONTCONVERTER_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_FONTCONVERTER_RELEASE_LIBRARY_INSTALL_DIR}" MagnumFontConverter.conf @@ -48,13 +49,6 @@ if(CORRADE_TARGET_WINDOWS) elseif(MAGNUM_MAGNUMFONTCONVERTER_BUILD_STATIC) target_link_libraries(MagnumFontConverter INTERFACE TgaImageConverter) endif() -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(MagnumFontConverter PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/fontconverters - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/fontconverters - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/fontconverters) -endif() install(FILES MagnumFontConverter.h ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/MagnumFontConverter) diff --git a/src/MagnumPlugins/ObjImporter/CMakeLists.txt b/src/MagnumPlugins/ObjImporter/CMakeLists.txt index e6914ba8f..6010cb41e 100644 --- a/src/MagnumPlugins/ObjImporter/CMakeLists.txt +++ b/src/MagnumPlugins/ObjImporter/CMakeLists.txt @@ -34,6 +34,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake # ObjImporter plugin add_plugin(ObjImporter + importers "${MAGNUM_PLUGINS_IMPORTER_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMPORTER_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_IMPORTER_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMPORTER_RELEASE_LIBRARY_INSTALL_DIR}" ObjImporter.conf @@ -43,13 +44,6 @@ if(MAGNUM_OBJIMPORTER_BUILD_STATIC AND MAGNUM_BUILD_STATIC_PIC) set_target_properties(ObjImporter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_link_libraries(ObjImporter PUBLIC MagnumTrade MagnumMeshTools) -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(ObjImporter PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers) -endif() if(CORRADE_TARGET_EMSCRIPTEN) # Since 1.39.0, this needs to be enabled on the plugin. Before (on 1.38.44 # at least) this wasn't needed, at least for the test -- having it enabled diff --git a/src/MagnumPlugins/TgaImageConverter/CMakeLists.txt b/src/MagnumPlugins/TgaImageConverter/CMakeLists.txt index 5a22c8fe7..001c0a3cf 100644 --- a/src/MagnumPlugins/TgaImageConverter/CMakeLists.txt +++ b/src/MagnumPlugins/TgaImageConverter/CMakeLists.txt @@ -34,6 +34,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake # TgaImageConverter plugin add_plugin(TgaImageConverter + imageconverters "${MAGNUM_PLUGINS_IMAGECONVERTER_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMAGECONVERTER_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_IMAGECONVERTER_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMAGECONVERTER_RELEASE_LIBRARY_INSTALL_DIR}" TgaImageConverter.conf @@ -43,13 +44,6 @@ if(MAGNUM_TGAIMAGECONVERTER_BUILD_STATIC AND MAGNUM_BUILD_STATIC_PIC) set_target_properties(TgaImageConverter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_link_libraries(TgaImageConverter PUBLIC MagnumTrade) -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(TgaImageConverter PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/imageconverters - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/imageconverters - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/imageconverters) -endif() install(FILES TgaImageConverter.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/TgaImageConverter) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/TgaImageConverter) diff --git a/src/MagnumPlugins/TgaImporter/CMakeLists.txt b/src/MagnumPlugins/TgaImporter/CMakeLists.txt index 33f5db435..e5207aa88 100644 --- a/src/MagnumPlugins/TgaImporter/CMakeLists.txt +++ b/src/MagnumPlugins/TgaImporter/CMakeLists.txt @@ -34,6 +34,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake # TgaImporter plugin add_plugin(TgaImporter + importers "${MAGNUM_PLUGINS_IMPORTER_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMPORTER_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_IMPORTER_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_IMPORTER_RELEASE_LIBRARY_INSTALL_DIR}" TgaImporter.conf @@ -44,13 +45,6 @@ if(MAGNUM_TGAIMPORTER_BUILD_STATIC AND MAGNUM_BUILD_STATIC_PIC) set_target_properties(TgaImporter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_link_libraries(TgaImporter PUBLIC MagnumTrade) -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(TgaImporter PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/importers) -endif() install(FILES TgaImporter.h ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/TgaImporter) diff --git a/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt b/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt index 8af22a773..e153538fa 100644 --- a/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt +++ b/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt @@ -52,6 +52,7 @@ endif() # WavAudioImporter plugin add_plugin(WavAudioImporter + audioimporters "${MAGNUM_PLUGINS_AUDIOIMPORTER_DEBUG_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_AUDIOIMPORTER_DEBUG_LIBRARY_INSTALL_DIR}" "${MAGNUM_PLUGINS_AUDIOIMPORTER_RELEASE_BINARY_INSTALL_DIR};${MAGNUM_PLUGINS_AUDIOIMPORTER_RELEASE_LIBRARY_INSTALL_DIR}" WavAudioImporter.conf @@ -62,13 +63,6 @@ if(MAGNUM_WAVAUDIOIMPORTER_BUILD_STATIC AND MAGNUM_BUILD_STATIC_PIC) set_target_properties(WavAudioImporter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_link_libraries(WavAudioImporter PUBLIC Magnum MagnumAudio) -# Modify output location only if all are set, otherwise it makes no sense -if(CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_LIBRARY_OUTPUT_DIRECTORY AND CMAKE_ARCHIVE_OUTPUT_DIRECTORY) - set_target_properties(WavAudioImporter PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/magnum$<$:-d>/audioimporters - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/magnum$<$:-d>/audioimporters - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/magnum$<$:-d>/audioimporters) -endif() install(FILES WavImporter.h ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/WavAudioImporter)