Browse Source

Split the OpenGL layer out, pt 6: adapted buildsystem of dependent libs.

Now the rest should build with a lot of deprecation warnings.
pull/233/head
Vladimír Vondruš 8 years ago
parent
commit
b1de952c13
  1. 12
      src/Magnum/DebugTools/CMakeLists.txt
  2. 2
      src/Magnum/MeshTools/CMakeLists.txt
  3. 60
      src/Magnum/Platform/CMakeLists.txt
  4. 4
      src/Magnum/Shaders/CMakeLists.txt
  5. 1
      src/Magnum/Text/CMakeLists.txt
  6. 4
      src/Magnum/TextureTools/CMakeLists.txt
  7. 1
      src/Magnum/Trade/CMakeLists.txt

12
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()

2
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_PROPERTY:Magnum,INTERFACE_INCLUDE_DIRECTORIES>)
target_include_directories(MagnumMeshToolsObjects PUBLIC $<TARGET_PROPERTY:MagnumGL,INTERFACE_INCLUDE_DIRECTORIES>)
if(NOT BUILD_STATIC)
target_compile_definitions(MagnumMeshToolsObjects PRIVATE "MagnumMeshToolsObjects_EXPORTS")
endif()

60
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_PROPERTY:Magnum,INTERFACE_INCLUDE_DIRECTORIES>)
target_include_directories(MagnumAbstractXApplication PUBLIC $<TARGET_PROPERTY:MagnumGL,INTERFACE_INCLUDE_DIRECTORIES>)
# 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
$<TARGET_PROPERTY:Magnum,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:MagnumGL,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:EGL::EGL,INTERFACE_INCLUDE_DIRECTORIES>)
# 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_PROPERTY:Magnum,INTERFACE_INCLUDE_DIRECTORIES>)
target_include_directories(MagnumCglContextObjects PUBLIC $<TARGET_PROPERTY:MagnumGL,INTERFACE_INCLUDE_DIRECTORIES>)
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_PROPERTY:Magnum,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:MagnumGL,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:EGL::EGL,INTERFACE_INCLUDE_DIRECTORIES>)
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
$<TARGET_PROPERTY:Magnum,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:MagnumGL,INTERFACE_INCLUDE_DIRECTORIES>
${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_PROPERTY:Magnum,INTERFACE_INCLUDE_DIRECTORIES>)
target_include_directories(MagnumWglContextObjects PUBLIC $<TARGET_PROPERTY:MagnumGL,INTERFACE_INCLUDE_DIRECTORIES>)
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.")

4
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}

1
src/Magnum/Text/CMakeLists.txt

@ -61,6 +61,7 @@ elseif(BUILD_STATIC_PIC)
endif()
target_link_libraries(MagnumText PUBLIC
Magnum
MagnumGL
MagnumTextureTools
Corrade::PluginManager)

4
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}

1
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

Loading…
Cancel
Save