diff --git a/src/MagnumPlugins/AnyAudioImporter/AnyImporter.h b/src/MagnumPlugins/AnyAudioImporter/AnyImporter.h index 155938b06..9e5165c79 100644 --- a/src/MagnumPlugins/AnyAudioImporter/AnyImporter.h +++ b/src/MagnumPlugins/AnyAudioImporter/AnyImporter.h @@ -44,11 +44,8 @@ This plugin is built if `WITH_ANYAUDIOIMPORTER` is enabled when building Magnum Plugins. To use dynamic plugin, you need to load `AnyAudioImporter` plugin from `MAGNUM_PLUGINS_IMPORTER_DIR`. To use static plugin, you need to request `AnyAudioImporter` component of `MagnumPlugins` package in CMake and -link to `${MAGNUMPLUGINS_ANYAUDIOIMPORTER_LIBRARIES}`. To use this as a -dependency of another plugin, you additionally need to add -`${MAGNUMPLUGINS_ANYAUDIOIMPORTER_INCLUDE_DIRS}` to include path. See -@ref building-plugins, @ref cmake-plugins and @ref plugins for more -information. +link to `MagnumPlugins::AnyAudioImporter` target. See @ref building-plugins, +@ref cmake-plugins and @ref plugins for more information. Supported formats: diff --git a/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt b/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt index 9b5fe6ab2..450b6633f 100644 --- a/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt +++ b/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt @@ -25,8 +25,6 @@ find_package(Magnum REQUIRED Audio) -include_directories(${MAGNUM_AUDIO_INCLUDE_DIRS}) - set(AnyAudioImporter_SRCS AnyImporter.cpp) @@ -37,6 +35,9 @@ set(AnyAudioImporter_HEADERS add_library(AnyAudioImporterObjects OBJECT ${AnyAudioImporter_SRCS} ${AnyAudioImporter_HEADERS}) +target_include_directories(AnyAudioImporterObjects PUBLIC + $ + ${PROJECT_SOURCE_DIR}/src) if(NOT BUILD_STATIC OR BUILD_STATIC_PIC) set_target_properties(AnyAudioImporterObjects PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() @@ -49,16 +50,17 @@ add_plugin(AnyAudioImporter ${MAGNUM_PLUGINS_AUDIOIMPORTER_DEBUG_INSTALL_DIR} ${ if(BUILD_STATIC_PIC) set_target_properties(AnyAudioImporter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() - -target_link_libraries(AnyAudioImporter ${MAGNUM_LIBRARIES} ${MAGNUM_AUDIO_LIBRARIES}) +target_include_directories(AnyAudioImporter PUBLIC ${PROJECT_SOURCE_DIR}/src) +target_link_libraries(AnyAudioImporter Magnum::Magnum Magnum::Audio) install(FILES ${AnyAudioImporter_HEADERS} DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnyAudioImporter) if(BUILD_TESTS) add_library(MagnumAnyAudioImporterTestLib STATIC $) - target_link_libraries(MagnumAnyAudioImporterTestLib ${MAGNUM_LIBRARIES} ${MAGNUM_AUDIO_LIBRARIES}) + target_include_directories(MagnumAnyAudioImporterTestLib PUBLIC ${PROJECT_SOURCE_DIR}/src) + target_link_libraries(MagnumAnyAudioImporterTestLib Magnum::Magnum Magnum::Audio) add_subdirectory(Test) endif() -# Magnum AnyAudioImporter library for superprojects -set(MAGNUMPLUGINS_ANYAUDIOIMPORTER_LIBRARY AnyAudioImporter CACHE INTERNAL "") +# MagnumPlugins AnyAudioImporter target alias for superprojects +add_library(MagnumPlugins::AnyAudioImporter ALIAS AnyAudioImporter) diff --git a/src/MagnumPlugins/AnyAudioImporter/Test/CMakeLists.txt b/src/MagnumPlugins/AnyAudioImporter/Test/CMakeLists.txt index 3be989e35..42ff4b549 100644 --- a/src/MagnumPlugins/AnyAudioImporter/Test/CMakeLists.txt +++ b/src/MagnumPlugins/AnyAudioImporter/Test/CMakeLists.txt @@ -23,8 +23,6 @@ # DEALINGS IN THE SOFTWARE. # -include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) - set(WAV_FILE ${CMAKE_CURRENT_SOURCE_DIR}/stereo8.wav) set(OGG_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/StbVorbisAudioImporter/Test/mono16.ogg) @@ -32,3 +30,4 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/configure.h) corrade_add_test(AnyAudioImporterTest Test.cpp LIBRARIES MagnumAnyAudioImporterTestLib) +target_include_directories(AnyAudioImporterTest PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/src/MagnumPlugins/AnyImageConverter/AnyImageConverter.h b/src/MagnumPlugins/AnyImageConverter/AnyImageConverter.h index 4f254d192..94080470e 100644 --- a/src/MagnumPlugins/AnyImageConverter/AnyImageConverter.h +++ b/src/MagnumPlugins/AnyImageConverter/AnyImageConverter.h @@ -43,11 +43,8 @@ This plugin is built if `WITH_ANYIMAGECONVERTER` is enabled when building Magnum Plugins. To use dynamic plugin, you need to load `AnyImageConverter` plugin from `MAGNUM_PLUGINS_IMPORTER_DIR`. To use static plugin, you need to request `AnyImageConverter` component of `MagnumPlugins` package in CMake and -link to `${MAGNUMPLUGINS_ANYIMAGECONVERTER_LIBRARIES}`. To use this as a -dependency of another plugin, you additionally need to add -`${MAGNUMPLUGINS_ANYIMAGECONVERTER_INCLUDE_DIRS}` to include path. See -@ref building-plugins, @ref cmake-plugins and @ref plugins for more -information. +link to `MagnumPlugins::AnyImageConverter` target. See @ref building-plugins, +@ref cmake-plugins and @ref plugins for more information. Supported formats for uncompressed data: diff --git a/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt b/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt index b9e0c8878..4fac8c16f 100644 --- a/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt +++ b/src/MagnumPlugins/AnyImageConverter/CMakeLists.txt @@ -33,6 +33,9 @@ set(AnyImageConverter_HEADERS add_library(AnyImageConverterObjects OBJECT ${AnyImageConverter_SRCS} ${AnyImageConverter_HEADERS}) +target_include_directories(AnyImageConverterObjects PUBLIC + $ + ${PROJECT_SOURCE_DIR}/src) if(NOT BUILD_STATIC OR BUILD_STATIC_PIC) set_target_properties(AnyImageConverterObjects PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() @@ -45,16 +48,17 @@ add_plugin(AnyImageConverter ${MAGNUM_PLUGINS_IMAGECONVERTER_DEBUG_INSTALL_DIR} if(BUILD_STATIC_PIC) set_target_properties(AnyImageConverter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() - -target_link_libraries(AnyImageConverter ${MAGNUM_LIBRARIES}) +target_include_directories(AnyImageConverter PUBLIC ${PROJECT_SOURCE_DIR}/src) +target_link_libraries(AnyImageConverter Magnum::Magnum) install(FILES ${AnyImageConverter_HEADERS} DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnyImageConverter) if(BUILD_TESTS) add_library(MagnumAnyImageConverterTestLib STATIC $) - target_link_libraries(MagnumAnyImageConverterTestLib ${MAGNUM_LIBRARIES}) + target_include_directories(MagnumAnyImageConverterTestLib PUBLIC ${PROJECT_SOURCE_DIR}/src) + target_link_libraries(MagnumAnyImageConverterTestLib Magnum::Magnum) add_subdirectory(Test) endif() -# Magnum AnyImageConverter library for superprojects -set(MAGNUMPLUGINS_ANYIMAGECONVERTER_LIBRARY AnyImageConverter CACHE INTERNAL "") +# MagnumPlugins AnyImageConverter target alias for superprojects +add_library(MagnumPlugins::AnyImageConverter ALIAS AnyImageConverter) diff --git a/src/MagnumPlugins/AnyImageConverter/Test/CMakeLists.txt b/src/MagnumPlugins/AnyImageConverter/Test/CMakeLists.txt index d5c1a94b1..b03048b44 100644 --- a/src/MagnumPlugins/AnyImageConverter/Test/CMakeLists.txt +++ b/src/MagnumPlugins/AnyImageConverter/Test/CMakeLists.txt @@ -23,11 +23,10 @@ # DEALINGS IN THE SOFTWARE. # -include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) - set(PNG_OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/output.png) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/configure.h) corrade_add_test(AnyImageConverterTest Test.cpp LIBRARIES MagnumAnyImageConverterTestLib) +target_include_directories(AnyImageConverterTest PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.h b/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.h index 593f65ada..706756974 100644 --- a/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.h +++ b/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.h @@ -58,11 +58,8 @@ This plugin is built if `WITH_ANYIMAGEIMPORTER` is enabled when building Magnum Plugins. To use dynamic plugin, you need to load `AnyImageImporter` plugin from `MAGNUM_PLUGINS_IMPORTER_DIR`. To use static plugin, you need to request `AnyImageImporter` component of `MagnumPlugins` package in CMake and -link to `${MAGNUMPLUGINS_ANYIMAGEIMPORTER_LIBRARIES}`. To use this as a -dependency of another plugin, you additionally need to add -`${MAGNUMPLUGINS_ANYIMAGEIMPORTER_INCLUDE_DIRS}` to include path. See -@ref building-plugins, @ref cmake-plugins and @ref plugins for more -information. +link to `MagnumPlugins::AnyImageImporter` target. See @ref building-plugins, +@ref cmake-plugins and @ref plugins for more information. Supported formats: diff --git a/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt b/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt index aa5d1692d..28c38de65 100644 --- a/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt +++ b/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt @@ -40,7 +40,11 @@ set(AnyImageImporter_HEADERS add_library(AnyImageImporterObjects OBJECT ${AnyImageImporter_SRCS} ${AnyImageImporter_HEADERS}) -set_target_properties(AnyImageImporterObjects PROPERTIES COMPILE_FLAGS "-DAnyImageImporterObjects_EXPORTS") +target_include_directories(AnyImageImporterObjects PUBLIC + $ + ${PROJECT_SOURCE_DIR}/src + ${PROJECT_BINARY_DIR}/src) +target_compile_definitions(AnyImageImporterObjects PRIVATE "AnyImageImporterObjects_EXPORTS") if(NOT BUILD_STATIC OR BUILD_STATIC_PIC) set_target_properties(AnyImageImporterObjects PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() @@ -53,17 +57,22 @@ add_plugin(AnyImageImporter ${MAGNUM_PLUGINS_IMPORTER_DEBUG_INSTALL_DIR} ${MAGNU if(BUILD_STATIC_PIC) set_target_properties(AnyImageImporter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() - -target_link_libraries(AnyImageImporter ${MAGNUM_LIBRARIES}) +target_include_directories(AnyImageImporter PUBLIC + ${PROJECT_SOURCE_DIR}/src + ${PROJECT_BINARY_DIR}/src) +target_link_libraries(AnyImageImporter Magnum::Magnum) install(FILES ${AnyImageImporter_HEADERS} DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnyImageImporter) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/configure.h DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnyImageImporter) if(BUILD_TESTS) add_library(MagnumAnyImageImporterTestLib STATIC $) - target_link_libraries(MagnumAnyImageImporterTestLib ${MAGNUM_LIBRARIES}) + target_include_directories(MagnumAnyImageImporterTestLib PUBLIC + ${PROJECT_SOURCE_DIR}/src + ${PROJECT_BINARY_DIR}/src) + target_link_libraries(MagnumAnyImageImporterTestLib Magnum::Magnum) add_subdirectory(Test) endif() -# Magnum AnyImageImporter library for superprojects -set(MAGNUMPLUGINS_ANYIMAGEIMPORTER_LIBRARY AnyImageImporter CACHE INTERNAL "") +# MagnumPlugins AnyImageImporter target alias for superprojects +add_library(MagnumPlugins::AnyImageImporter ALIAS AnyImageImporter) diff --git a/src/MagnumPlugins/AnyImageImporter/Test/CMakeLists.txt b/src/MagnumPlugins/AnyImageImporter/Test/CMakeLists.txt index 6a593351f..c17a984c8 100644 --- a/src/MagnumPlugins/AnyImageImporter/Test/CMakeLists.txt +++ b/src/MagnumPlugins/AnyImageImporter/Test/CMakeLists.txt @@ -23,8 +23,6 @@ # DEALINGS IN THE SOFTWARE. # -include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) - set(TGA_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/ColladaImporter/Test/ColladaImporterTestFiles/image.tga) set(JPEG_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/JpegImporter/Test/rgb.jpg) set(PNG_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/PngImporter/Test/rgb.png) @@ -33,10 +31,11 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/configure.h) corrade_add_test(AnyImageImporterTest Test.cpp LIBRARIES MagnumAnyImageImporterTestLib) +target_include_directories(AnyImageImporterTest PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) # On Win32 we need to avoid dllimporting AnyImageImporter symbols, because it # would search for the symbols in some DLL even when they were linked # statically. However it apparently doesn't matter that they were dllexported # when building the static library. EH. if(WIN32) - set_target_properties(AnyImageImporterTest PROPERTIES COMPILE_FLAGS "-DMAGNUM_ANYIMAGEIMPORTER_BUILD_STATIC") + target_compile_definitions(AnyImageImporterTest PRIVATE "MAGNUM_ANYIMAGEIMPORTER_BUILD_STATIC") endif() diff --git a/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.h b/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.h index 2df65d629..a5aafe694 100644 --- a/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.h +++ b/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.h @@ -43,11 +43,8 @@ This plugin is built if `WITH_ANYSCENEIMPORTER` is enabled when building Magnum Plugins. To use dynamic plugin, you need to load `AnySceneImporter` plugin from `MAGNUM_PLUGINS_IMPORTER_DIR`. To use static plugin, you need to request `AnySceneImporter` component of `MagnumPlugins` package in CMake and -link to `${MAGNUMPLUGINS_ANYSCENEIMPORTER_LIBRARIES}`. To use this as a -dependency of another plugin, you additionally need to add -`${MAGNUMPLUGINS_ANYSCENEIMPORTER_INCLUDE_DIRS}` to include path. See -@ref building-plugins, @ref cmake-plugins and @ref plugins for more -information. +link to `MagnumPlugins::AnySceneImporter` target. See @ref building-plugins, +@ref cmake-plugins and @ref plugins for more information. Supported formats: diff --git a/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt b/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt index 3a53da61e..2a78aece1 100644 --- a/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt +++ b/src/MagnumPlugins/AnySceneImporter/CMakeLists.txt @@ -33,7 +33,10 @@ set(AnySceneImporter_HEADERS add_library(AnySceneImporterObjects OBJECT ${AnySceneImporter_SRCS} ${AnySceneImporter_HEADERS}) -set_target_properties(AnySceneImporterObjects PROPERTIES COMPILE_FLAGS "-DAnySceneImporterObjects_EXPORTS") +target_include_directories(AnySceneImporterObjects PUBLIC + $ + ${PROJECT_SOURCE_DIR}/src) +target_compile_definitions(AnySceneImporterObjects PRIVATE "AnySceneImporterObjects_EXPORTS") if(NOT BUILD_STATIC OR BUILD_STATIC_PIC) set_target_properties(AnySceneImporterObjects PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() @@ -46,16 +49,17 @@ add_plugin(AnySceneImporter ${MAGNUM_PLUGINS_IMPORTER_DEBUG_INSTALL_DIR} ${MAGNU if(BUILD_STATIC_PIC) set_target_properties(AnySceneImporter PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() - -target_link_libraries(AnySceneImporter ${MAGNUM_LIBRARIES}) +target_include_directories(AnySceneImporter PUBLIC ${PROJECT_SOURCE_DIR}/src) +target_link_libraries(AnySceneImporter Magnum::Magnum) install(FILES ${AnySceneImporter_HEADERS} DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnySceneImporter) if(BUILD_TESTS) add_library(MagnumAnySceneImporterTestLib STATIC $) - target_link_libraries(MagnumAnySceneImporterTestLib ${MAGNUM_LIBRARIES}) + target_include_directories(MagnumAnySceneImporterTestLib PUBLIC ${PROJECT_SOURCE_DIR}/src) + target_link_libraries(MagnumAnySceneImporterTestLib Magnum::Magnum) add_subdirectory(Test) endif() -# Magnum AnySceneImporter library for superprojects -set(MAGNUMPLUGINS_ANYSCENEIMPORTER_LIBRARY AnySceneImporter CACHE INTERNAL "") +# MagnumPlugins AnySceneImporter target alias for superprojects +add_library(MagnumPlugins::AnySceneImporter ALIAS AnySceneImporter) diff --git a/src/MagnumPlugins/AnySceneImporter/Test/CMakeLists.txt b/src/MagnumPlugins/AnySceneImporter/Test/CMakeLists.txt index 64f5242ca..78988fa96 100644 --- a/src/MagnumPlugins/AnySceneImporter/Test/CMakeLists.txt +++ b/src/MagnumPlugins/AnySceneImporter/Test/CMakeLists.txt @@ -23,8 +23,6 @@ # DEALINGS IN THE SOFTWARE. # -include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) - set(OBJ_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/AnySceneImporter/Test/mesh.obj) set(PLY_FILE ${PROJECT_SOURCE_DIR}/src/MagnumPlugins/StanfordImporter/Test/common.ply) @@ -32,3 +30,4 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/configure.h) corrade_add_test(AnySceneImporterTest Test.cpp LIBRARIES MagnumAnySceneImporterTestLib) +target_include_directories(AnySceneImporterTest PRIVATE ${CMAKE_CURRENT_BINARY_DIR})