From b1de952c131a0065c24bc512ecbe3d6b03f3597b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 21 Mar 2018 12:35:59 +0100 Subject: [PATCH] Split the OpenGL layer out, pt 6: adapted buildsystem of dependent libs. Now the rest should build with a lot of deprecation warnings. --- src/Magnum/DebugTools/CMakeLists.txt | 12 +++--- src/Magnum/MeshTools/CMakeLists.txt | 2 +- src/Magnum/Platform/CMakeLists.txt | 60 +++++++++++++------------- src/Magnum/Shaders/CMakeLists.txt | 4 +- src/Magnum/Text/CMakeLists.txt | 1 + src/Magnum/TextureTools/CMakeLists.txt | 4 +- src/Magnum/Trade/CMakeLists.txt | 1 + 7 files changed, 46 insertions(+), 38 deletions(-) diff --git a/src/Magnum/DebugTools/CMakeLists.txt b/src/Magnum/DebugTools/CMakeLists.txt index b018dff36..29b03a9e9 100644 --- a/src/Magnum/DebugTools/CMakeLists.txt +++ b/src/Magnum/DebugTools/CMakeLists.txt @@ -119,18 +119,20 @@ if(NOT BUILD_STATIC) elseif(BUILD_STATIC_PIC) set_target_properties(MagnumDebugTools PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() -target_link_libraries(MagnumDebugTools Magnum) +target_link_libraries(MagnumDebugTools PUBLIC + Magnum + MagnumGL) if(Corrade_TestSuite_FOUND) - target_link_libraries(MagnumDebugTools Corrade::TestSuite) + target_link_libraries(MagnumDebugTools PUBLIC Corrade::TestSuite) endif() if(WITH_SCENEGRAPH) - target_link_libraries(MagnumDebugTools MagnumSceneGraph) + target_link_libraries(MagnumDebugTools PUBLIC MagnumSceneGraph) endif() if(WITH_SHAPES) - target_link_libraries(MagnumDebugTools MagnumShapes MagnumPrimitives) + target_link_libraries(MagnumDebugTools PUBLIC MagnumShapes MagnumPrimitives) endif() if(WITH_SCENEGRAPH OR WITH_SHAPES) - target_link_libraries(MagnumDebugTools + target_link_libraries(MagnumDebugTools PUBLIC MagnumMeshTools MagnumShaders) endif() diff --git a/src/Magnum/MeshTools/CMakeLists.txt b/src/Magnum/MeshTools/CMakeLists.txt index 974f894c2..ff1797fd5 100644 --- a/src/Magnum/MeshTools/CMakeLists.txt +++ b/src/Magnum/MeshTools/CMakeLists.txt @@ -56,7 +56,7 @@ set(MagnumMeshTools_HEADERS add_library(MagnumMeshToolsObjects OBJECT ${MagnumMeshTools_SRCS} ${MagnumMeshTools_HEADERS}) -target_include_directories(MagnumMeshToolsObjects PUBLIC $) +target_include_directories(MagnumMeshToolsObjects PUBLIC $) if(NOT BUILD_STATIC) target_compile_definitions(MagnumMeshToolsObjects PRIVATE "MagnumMeshToolsObjects_EXPORTS") endif() diff --git a/src/Magnum/Platform/CMakeLists.txt b/src/Magnum/Platform/CMakeLists.txt index 9b9e7b8b7..80bfb6320 100644 --- a/src/Magnum/Platform/CMakeLists.txt +++ b/src/Magnum/Platform/CMakeLists.txt @@ -88,7 +88,7 @@ if(WITH_ANDROIDAPPLICATION) FOLDER "Magnum/Platform") # Assuming that PIC is not needed because the Application lib is always # linked to the executable and not to any intermediate shared lib - target_link_libraries(MagnumAndroidApplication Magnum) + target_link_libraries(MagnumAndroidApplication PUBLIC MagnumGL) install(FILES ${MagnumAndroidApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) install(TARGETS MagnumAndroidApplication @@ -120,7 +120,7 @@ if(WITH_GLFWAPPLICATION) FOLDER "Magnum/Platform") # Assuming that PIC is not needed because the Application lib is always # linked to the executable and not to any intermediate shared lib - target_link_libraries(MagnumGlfwApplication Magnum GLFW::GLFW) + target_link_libraries(MagnumGlfwApplication PUBLIC MagnumGL GLFW::GLFW) install(FILES ${MagnumGlfwApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) install(TARGETS MagnumGlfwApplication @@ -153,7 +153,7 @@ if(WITH_GLUTAPPLICATION) # Assuming that PIC is not needed because the Application lib is always # linked to the executable and not to any intermediate shared lib target_include_directories(MagnumGlutApplication PUBLIC ${GLUT_INCLUDE_DIR}) - target_link_libraries(MagnumGlutApplication Magnum ${GLUT_glut_LIBRARY}) + target_link_libraries(MagnumGlutApplication PUBLIC MagnumGL ${GLUT_glut_LIBRARY}) install(FILES ${MagnumGlutApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) install(TARGETS MagnumGlutApplication @@ -185,7 +185,7 @@ if(WITH_SDL2APPLICATION) FOLDER "Magnum/Platform") # Assuming that PIC is not needed because the Application lib is always # linked to the executable and not to any intermediate shared lib - target_link_libraries(MagnumSdl2Application Magnum SDL2::SDL2) + target_link_libraries(MagnumSdl2Application PUBLIC MagnumGL SDL2::SDL2) install(FILES ${MagnumSdl2Application_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) install(TARGETS MagnumSdl2Application @@ -235,7 +235,7 @@ if(WITH_GLXAPPLICATION) # Assuming that PIC is not needed because the Application lib is always # linked to the executable and not to any intermediate shared lib target_include_directories(MagnumGlxApplication PUBLIC ${X11_INCLUDE_DIR}) - target_link_libraries(MagnumGlxApplication Magnum ${X11_LIBRARIES}) + target_link_libraries(MagnumGlxApplication PUBLIC MagnumGL ${X11_LIBRARIES}) install(FILES ${MagnumGlxApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) install(TARGETS MagnumGlxApplication @@ -269,7 +269,7 @@ if(WITH_XEGLAPPLICATION) # Assuming that PIC is not needed because the Application lib is always # linked to the executable and not to any intermediate shared lib target_include_directories(MagnumXEglApplication PUBLIC ${X11_INCLUDE_DIR}) - target_link_libraries(MagnumXEglApplication Magnum ${X11_LIBRARIES}) + target_link_libraries(MagnumXEglApplication PUBLIC MagnumGL ${X11_LIBRARIES}) install(FILES ${MagnumXEglApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) install(TARGETS MagnumXEglApplication @@ -311,7 +311,7 @@ if(WITH_WINDOWLESSEGLAPPLICATION) if(BUILD_STATIC_PIC) set_target_properties(MagnumWindowlessEglApplication PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() - target_link_libraries(MagnumWindowlessEglApplication Magnum EGL::EGL) + target_link_libraries(MagnumWindowlessEglApplication PUBLIC MagnumGL EGL::EGL) install(FILES ${MagnumWindowlessEglApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) install(TARGETS MagnumWindowlessEglApplication @@ -344,7 +344,7 @@ if(WITH_WINDOWLESSGLXAPPLICATION) set_target_properties(MagnumWindowlessGlxApplication PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_include_directories(MagnumWindowlessGlxApplication PUBLIC ${X11_INCLUDE_DIR}) - target_link_libraries(MagnumWindowlessGlxApplication Magnum ${X11_LIBRARIES}) + target_link_libraries(MagnumWindowlessGlxApplication PUBLIC MagnumGL ${X11_LIBRARIES}) install(FILES ${MagnumWindowlessGlxApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) install(TARGETS MagnumWindowlessGlxApplication @@ -380,7 +380,7 @@ if(WITH_WINDOWLESSIOSAPPLICATION) set_target_properties(MagnumWindowlessIosApplication PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_link_libraries(MagnumWindowlessIosApplication - Magnum + MagnumGL EGL::EGL ${_MAGNUM_IOS_FOUNDATION_FRAMEWORK_LIBRARY}) @@ -413,7 +413,7 @@ if(WITH_WINDOWLESSWGLAPPLICATION) if(BUILD_STATIC_PIC) set_target_properties(MagnumWindowlessWglApplication PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() - target_link_libraries(MagnumWindowlessWglApplication Magnum) + target_link_libraries(MagnumWindowlessWglApplication PUBLIC MagnumGL) install(FILES ${MagnumWindowlessWglApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) install(TARGETS MagnumWindowlessWglApplication @@ -448,7 +448,7 @@ if(WITH_WINDOWLESSWINDOWSEGLAPPLICATION) if(BUILD_STATIC_PIC) set_target_properties(MagnumWindowlessWindowsEglApplication PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() - target_link_libraries(MagnumWindowlessWindowsEglApplication Magnum EGL::EGL) + target_link_libraries(MagnumWindowlessWindowsEglApplication PUBLIC MagnumGL EGL::EGL) install(FILES ${MagnumWindowlessWindowsEglApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) install(TARGETS MagnumWindowlessWindowsEglApplication @@ -478,7 +478,7 @@ if(WITH_WINDOWLESSCGLAPPLICATION) if(BUILD_STATIC_PIC) set_target_properties(MagnumWindowlessCglApplication PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() - target_link_libraries(MagnumWindowlessCglApplication Magnum) + target_link_libraries(MagnumWindowlessCglApplication PUBLIC MagnumGL) install(FILES ${MagnumWindowlessCglApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) install(TARGETS MagnumWindowlessCglApplication @@ -498,7 +498,7 @@ if(NEED_ABSTRACTXAPPLICATION) add_library(MagnumAbstractXApplication OBJECT ${MagnumAbstractXApplication_SRCS} ${MagnumAbstractXApplication_HEADERS}) - target_include_directories(MagnumAbstractXApplication PUBLIC $) + target_include_directories(MagnumAbstractXApplication PUBLIC $) # X11 macros are a mess, disable warnings for C-style casts target_compile_options(MagnumAbstractXApplication PRIVATE "-Wno-old-style-cast") # Assuming that PIC is not needed because the Application lib is always @@ -547,7 +547,7 @@ if(NEED_EGLCONTEXTHANDLER) ${MagnumEglContextHandler_SRCS} ${MagnumEglContextHandler_PRIVATE_HEADERS}) target_include_directories(MagnumEglContextHandler PUBLIC - $ + $ $) # X11 macros are a mess, disable warnings for C-style casts target_compile_options(MagnumEglContextHandler PRIVATE "-Wno-old-style-cast") @@ -585,7 +585,7 @@ endif() # CGL context if(NEED_CGLCONTEXT OR WITH_CGLCONTEXT) add_library(MagnumCglContextObjects OBJECT ${MagnumContext_SRCS}) - target_include_directories(MagnumCglContextObjects PUBLIC $) + target_include_directories(MagnumCglContextObjects PUBLIC $) if(BUILD_STATIC_PIC) set_target_properties(MagnumCglContextObjects PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() @@ -603,7 +603,7 @@ if(NEED_CGLCONTEXT OR WITH_CGLCONTEXT) if(BUILD_STATIC_PIC) set_target_properties(MagnumCglContext PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() - target_link_libraries(MagnumCglContext Magnum) + target_link_libraries(MagnumCglContext PUBLIC MagnumGL) install(TARGETS MagnumCglContext RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR} @@ -624,7 +624,7 @@ if(NEED_EGLCONTEXT OR WITH_EGLCONTEXT) add_library(MagnumEglContextObjects OBJECT ${MagnumContext_SRCS}) target_include_directories(MagnumEglContextObjects PUBLIC - $ + $ $) target_compile_definitions(MagnumEglContextObjects PRIVATE "MAGNUM_PLATFORM_USE_EGL") if(BUILD_STATIC_PIC) @@ -643,7 +643,7 @@ if(NEED_EGLCONTEXT OR WITH_EGLCONTEXT) if(BUILD_STATIC_PIC) set_target_properties(MagnumEglContext PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() - target_link_libraries(MagnumEglContext Magnum EGL::EGL) + target_link_libraries(MagnumEglContext PUBLIC MagnumGL EGL::EGL) install(TARGETS MagnumEglContext RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR} @@ -659,7 +659,7 @@ endif() if(NEED_GLXCONTEXT OR WITH_GLXCONTEXT) add_library(MagnumGlxContextObjects OBJECT ${MagnumContext_SRCS}) target_include_directories(MagnumGlxContextObjects PUBLIC - $ + $ ${X11_INCLUDE_DIR}) target_compile_definitions(MagnumGlxContextObjects PRIVATE "MAGNUM_PLATFORM_USE_GLX") if(BUILD_STATIC_PIC) @@ -677,7 +677,7 @@ if(NEED_GLXCONTEXT OR WITH_GLXCONTEXT) set_target_properties(MagnumGlxContext PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() target_include_directories(MagnumGlxContext PUBLIC ${X11_INCLUDE_DIR}) - target_link_libraries(MagnumGlxContext Magnum ${X11_LIBRARIES}) + target_link_libraries(MagnumGlxContext PUBLIC MagnumGL ${X11_LIBRARIES}) install(TARGETS MagnumGlxContext RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR} @@ -692,7 +692,7 @@ endif() # WGL context if(NEED_WGLCONTEXT OR WITH_WGLCONTEXT) add_library(MagnumWglContextObjects OBJECT ${MagnumContext_SRCS}) - target_include_directories(MagnumWglContextObjects PUBLIC $) + target_include_directories(MagnumWglContextObjects PUBLIC $) if(BUILD_STATIC_PIC) set_target_properties(MagnumWglContextObjects PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() @@ -707,7 +707,7 @@ if(NEED_WGLCONTEXT OR WITH_WGLCONTEXT) if(BUILD_STATIC_PIC) set_target_properties(MagnumWglContext PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() - target_link_libraries(MagnumWglContext Magnum) + target_link_libraries(MagnumWglContext PUBLIC MagnumGL) install(TARGETS MagnumWglContext RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR} @@ -722,24 +722,24 @@ endif() # Magnum Info if(WITH_MAGNUMINFO) add_executable(magnum-info info.cpp) - target_link_libraries(magnum-info Magnum) + target_link_libraries(magnum-info PRIVATE MagnumGL) if(MAGNUM_TARGET_HEADLESS OR CORRADE_TARGET_EMSCRIPTEN OR CORRADE_TARGET_ANDROID) - target_link_libraries(magnum-info MagnumWindowlessEglApplication) + target_link_libraries(magnum-info PRIVATE MagnumWindowlessEglApplication) elseif(CORRADE_TARGET_IOS) - target_link_libraries(magnum-info MagnumWindowlessIosApplication) + target_link_libraries(magnum-info PRIVATE MagnumWindowlessIosApplication) elseif(CORRADE_TARGET_APPLE) - target_link_libraries(magnum-info MagnumWindowlessCglApplication) + target_link_libraries(magnum-info PRIVATE MagnumWindowlessCglApplication) elseif(CORRADE_TARGET_UNIX) if(MAGNUM_TARGET_GLES AND NOT MAGNUM_TARGET_DESKTOP_GLES) - target_link_libraries(magnum-info MagnumWindowlessEglApplication) + target_link_libraries(magnum-info PRIVATE MagnumWindowlessEglApplication) else() - target_link_libraries(magnum-info MagnumWindowlessGlxApplication) + target_link_libraries(magnum-info PRIVATE MagnumWindowlessGlxApplication) endif() elseif(CORRADE_TARGET_WINDOWS) if(MAGNUM_TARGET_GLES AND NOT MAGNUM_TARGET_DESKTOP_GLES) - target_link_libraries(magnum-info MagnumWindowlessWindowsEglApplication) + target_link_libraries(magnum-info PRIVATE MagnumWindowlessWindowsEglApplication) else() - target_link_libraries(magnum-info MagnumWindowlessWglApplication) + target_link_libraries(magnum-info PRIVATE MagnumWindowlessWglApplication) endif() else() message(FATAL_ERROR "magnum-info is not available on this platform. Set WITH_MAGNUMINFO to OFF to skip building it.") diff --git a/src/Magnum/Shaders/CMakeLists.txt b/src/Magnum/Shaders/CMakeLists.txt index fda09dbdd..b119bdac8 100644 --- a/src/Magnum/Shaders/CMakeLists.txt +++ b/src/Magnum/Shaders/CMakeLists.txt @@ -66,7 +66,9 @@ if(NOT BUILD_STATIC) elseif(BUILD_STATIC_PIC) set_target_properties(MagnumShaders PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() -target_link_libraries(MagnumShaders Magnum) +target_link_libraries(MagnumShaders PUBLIC + Magnum + MagnumGL) install(TARGETS MagnumShaders RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR} diff --git a/src/Magnum/Text/CMakeLists.txt b/src/Magnum/Text/CMakeLists.txt index 046d661d2..4a40a270a 100644 --- a/src/Magnum/Text/CMakeLists.txt +++ b/src/Magnum/Text/CMakeLists.txt @@ -61,6 +61,7 @@ elseif(BUILD_STATIC_PIC) endif() target_link_libraries(MagnumText PUBLIC Magnum + MagnumGL MagnumTextureTools Corrade::PluginManager) diff --git a/src/Magnum/TextureTools/CMakeLists.txt b/src/Magnum/TextureTools/CMakeLists.txt index 50878260b..1ef8c736b 100644 --- a/src/Magnum/TextureTools/CMakeLists.txt +++ b/src/Magnum/TextureTools/CMakeLists.txt @@ -49,7 +49,9 @@ if(NOT BUILD_STATIC) elseif(BUILD_STATIC_PIC) set_target_properties(MagnumTextureTools PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() -target_link_libraries(MagnumTextureTools Magnum) +target_link_libraries(MagnumTextureTools PUBLIC + Magnum + MagnumGL) install(TARGETS MagnumTextureTools RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR} diff --git a/src/Magnum/Trade/CMakeLists.txt b/src/Magnum/Trade/CMakeLists.txt index 16ecc006f..67eed167f 100644 --- a/src/Magnum/Trade/CMakeLists.txt +++ b/src/Magnum/Trade/CMakeLists.txt @@ -78,6 +78,7 @@ elseif(BUILD_STATIC_PIC) endif() target_link_libraries(MagnumTrade PUBLIC Magnum + MagnumGL Corrade::PluginManager) install(TARGETS MagnumTrade