Browse Source

Install External/OpenGL when building deprecated even without GL

Some deprecated APIs use headers (but not externally defined symbols)
from the GL library, link those includes as well


Signed-off-by: Squareys <squareys@googlemail.com>
pull/255/head
Squareys 8 years ago
parent
commit
9ff298b84f
  1. 6
      src/Magnum/CMakeLists.txt
  2. 5
      src/MagnumExternal/CMakeLists.txt
  3. 23
      src/MagnumExternal/OpenGL/GL/CMakeLists.txt

6
src/Magnum/CMakeLists.txt

@ -185,7 +185,9 @@ endif()
target_include_directories(Magnum PUBLIC
${PROJECT_SOURCE_DIR}/src
${PROJECT_BINARY_DIR}/src)
if(BUILD_DEPRECATED AND TARGET_GL) # TODO: remove once compat gets dropped
if(BUILD_DEPRECATED) # TODO: remove once compat gets dropped
# Some deprecated APIs use headers (but not externally defined symbols)
# from the GL library, link those includes as well
target_include_directories(Magnum PUBLIC
${PROJECT_SOURCE_DIR}/src/MagnumExternal/OpenGL)
endif()
@ -272,7 +274,7 @@ if(BUILD_TESTS)
target_include_directories(MagnumTestLib PUBLIC
${PROJECT_SOURCE_DIR}/src
${PROJECT_BINARY_DIR}/src)
if(BUILD_DEPRECATED AND TARGET_GL) # TODO: remove once compat gets dropped
if(BUILD_DEPRECATED) # TODO: remove once compat gets dropped
target_include_directories(MagnumTestLib PUBLIC
${PROJECT_SOURCE_DIR}/src/MagnumExternal/OpenGL)
endif()

5
src/MagnumExternal/CMakeLists.txt vendored

@ -26,7 +26,10 @@
if(WITH_AUDIO)
add_subdirectory(OpenAL)
endif()
if(WITH_GL)
# Some deprecated APIs use headers (but not externally defined symbols)
# from the GL library, link those includes as well
# TODO: remove once compat gets dropped
if(WITH_GL OR MAGNUM_BUILD_DEPRECATED)
add_subdirectory(OpenGL)
endif()
if(WITH_VK)

23
src/MagnumExternal/OpenGL/GL/CMakeLists.txt vendored

@ -23,15 +23,20 @@
# DEALINGS IN THE SOFTWARE.
#
# flextGLPlatform.cpp is compiled as part of Magnum*Context libraries in Platform
add_library(MagnumFlextGLObjects OBJECT flextGL.cpp)
target_include_directories(MagnumFlextGLObjects PUBLIC $<TARGET_PROPERTY:MagnumGL,INTERFACE_INCLUDE_DIRECTORIES>)
if(NOT BUILD_STATIC)
target_compile_definitions(MagnumFlextGLObjects PRIVATE "FlextGL_EXPORTS")
# Some deprecated APIs use headers (but not externally defined symbols)
# from the GL library, link those includes as well
# TODO: remove once compat gets dropped (condition only)
if(WITH_GL)
# flextGLPlatform.cpp is compiled as part of Magnum*Context libraries in Platform
add_library(MagnumFlextGLObjects OBJECT flextGL.cpp)
target_include_directories(MagnumFlextGLObjects PUBLIC $<TARGET_PROPERTY:MagnumGL,INTERFACE_INCLUDE_DIRECTORIES>)
if(NOT BUILD_STATIC)
target_compile_definitions(MagnumFlextGLObjects PRIVATE "FlextGL_EXPORTS")
endif()
if(NOT BUILD_STATIC OR BUILD_STATIC_PIC)
set_target_properties(MagnumFlextGLObjects PROPERTIES POSITION_INDEPENDENT_CODE ON)
endif()
set_target_properties(MagnumFlextGLObjects PROPERTIES FOLDER "MagnumExternal/OpenGL")
endif()
if(NOT BUILD_STATIC OR BUILD_STATIC_PIC)
set_target_properties(MagnumFlextGLObjects PROPERTIES POSITION_INDEPENDENT_CODE ON)
endif()
set_target_properties(MagnumFlextGLObjects PROPERTIES FOLDER "MagnumExternal/OpenGL")
install(FILES flextGL.h DESTINATION ${MAGNUM_EXTERNAL_INCLUDE_INSTALL_DIR}/OpenGL/GL)

Loading…
Cancel
Save