#
# This file is part of Magnum.
#
# Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018
# Vladimír Vondruš <mosra@centrum.cz>
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
# Headers
set ( MagnumPlatform_HEADERS
G L C o n t e x t . h
P l a t f o r m . h
S c r e e n . h
S c r e e n e d A p p l i c a t i o n . h
S c r e e n e d A p p l i c a t i o n . h p p )
if ( BUILD_DEPRECATED AND TARGET_GL )
list ( APPEND MagnumPlatform_HEADERS Context.h )
endif ( )
# Files to display in project view of IDEs only (filled in below)
set ( MagnumPlatform_FILES )
install ( FILES ${ MagnumPlatform_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
# Decide about platform-specific context for cross-platform toolkits
if ( ( WITH_GLFWAPPLICATION OR WITH_GLUTAPPLICATION OR WITH_SDL2APPLICATION ) AND TARGET_GL )
if ( CORRADE_TARGET_APPLE AND NOT MAGNUM_TARGET_GLES )
set ( NEED_CGLCONTEXT 1 )
set ( MagnumSomeContext_OBJECTS $< TARGET_OBJECTS:MagnumCglContextObjects > )
elseif ( CORRADE_TARGET_WINDOWS AND ( NOT MAGNUM_TARGET_GLES OR MAGNUM_TARGET_DESKTOP_GLES ) )
set ( NEED_WGLCONTEXT 1 )
set ( MagnumSomeContext_OBJECTS $< TARGET_OBJECTS:MagnumWglContextObjects > )
elseif ( CORRADE_TARGET_UNIX AND ( NOT MAGNUM_TARGET_GLES OR MAGNUM_TARGET_DESKTOP_GLES ) )
set ( NEED_GLXCONTEXT 1 )
set ( MagnumSomeContext_OBJECTS $< TARGET_OBJECTS:MagnumGlxContextObjects > )
elseif ( MAGNUM_TARGET_GLES AND NOT CORRADE_TARGET_EMSCRIPTEN )
set ( NEED_EGLCONTEXT 1 )
set ( MagnumSomeContext_OBJECTS $< TARGET_OBJECTS:MagnumEglContextObjects > )
endif ( )
endif ( )
# Android application
if ( WITH_ANDROIDAPPLICATION )
if ( NOT ${ CMAKE_SYSTEM_NAME } STREQUAL Android )
message ( FATAL_ERROR "AndroidApplication is available only when targeting Android. Set WITH_ANDROIDAPPLICATION to OFF to skip building it." )
endif ( )
set ( NEED_EGLCONTEXT 1 )
set ( MagnumAndroidApplication_SRCS
A n d r o i d A p p l i c a t i o n . c p p
I m p l e m e n t a t i o n / E g l . c p p
$ < T A R G E T _ O B J E C T S : M a g n u m E g l C o n t e x t O b j e c t s > )
set ( MagnumAndroidApplication_HEADERS
A n d r o i d A p p l i c a t i o n . h )
set ( MagnumAndroidApplication_PRIVATE_HEADERS
I m p l e m e n t a t i o n / E g l . h )
add_library ( MagnumAndroidApplicationGlue OBJECT
" $ { C M A K E _ A N D R O I D _ N D K } / s o u r c e s / a n d r o i d / n a t i v e _ a p p _ g l u e / a n d r o i d _ n a t i v e _ a p p _ g l u e . c " )
set_target_properties ( MagnumAndroidApplicationGlue PROPERTIES
C O R R A D E _ U S E _ P E D A N T I C _ F L A G S O F F
F O L D E R " M a g n u m / P l a t f o r m " )
add_library ( MagnumAndroidApplication STATIC
$ { M a g n u m A n d r o i d A p p l i c a t i o n _ S R C S }
$ { M a g n u m A n d r o i d A p p l i c a t i o n _ H E A D E R S }
$ { M a g n u m A n d r o i d A p p l i c a t i o n _ P R I V A T E _ H E A D E R S }
$ < T A R G E T _ O B J E C T S : M a g n u m A n d r o i d A p p l i c a t i o n G l u e > )
target_include_directories ( MagnumAndroidApplication PUBLIC
" $ { C M A K E _ A N D R O I D _ N D K } / s o u r c e s / a n d r o i d / n a t i v e _ a p p _ g l u e / " )
set_target_properties ( MagnumAndroidApplication PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
# 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 PUBLIC MagnumGL )
install ( FILES ${ MagnumAndroidApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumAndroidApplication
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum AndroidApplication target alias for superprojects
add_library ( Magnum::AndroidApplication ALIAS MagnumAndroidApplication )
endif ( )
# GLFW application
if ( WITH_GLFWAPPLICATION )
find_package ( GLFW )
if ( NOT GLFW_FOUND )
message ( FATAL_ERROR "GLFW library, required by GlfwApplication, was not found. Set WITH_GLFWAPPLICATION to OFF to skip building it." )
endif ( )
set ( MagnumGlfwApplication_SRCS GlfwApplication.cpp )
set ( MagnumGlfwApplication_HEADERS GlfwApplication.h )
if ( TARGET_GL )
list ( APPEND MagnumGlfwApplication_SRCS ${ MagnumSomeContext_OBJECTS } )
endif ( )
add_library ( MagnumGlfwApplication STATIC
$ { M a g n u m G l f w A p p l i c a t i o n _ S R C S }
$ { M a g n u m G l f w A p p l i c a t i o n _ H E A D E R S } )
set_target_properties ( MagnumGlfwApplication PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
# 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 PUBLIC Magnum GLFW::GLFW )
if ( TARGET_GL )
target_link_libraries ( MagnumGlfwApplication PUBLIC MagnumGL )
endif ( )
install ( FILES ${ MagnumGlfwApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumGlfwApplication
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum GlfwApplication target alias for superprojects
add_library ( Magnum::GlfwApplication ALIAS MagnumGlfwApplication )
endif ( )
# GLUT application
if ( WITH_GLUTAPPLICATION )
find_package ( GLUT )
if ( NOT GLUT_FOUND )
message ( FATAL_ERROR "GLUT library, required by GlutApplication, was not found. Set WITH_GLUTAPPLICATION to OFF to skip building it." )
endif ( )
set ( MagnumGlutApplication_SRCS
G l u t A p p l i c a t i o n . c p p
$ { M a g n u m S o m e C o n t e x t _ O B J E C T S } )
set ( MagnumGlutApplication_HEADERS GlutApplication.h )
add_library ( MagnumGlutApplication STATIC
$ { M a g n u m G l u t A p p l i c a t i o n _ S R C S }
$ { M a g n u m G l u t A p p l i c a t i o n _ H E A D E R S } )
set_target_properties ( MagnumGlutApplication PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
# 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 PUBLIC MagnumGL ${ GLUT_glut_LIBRARY } )
install ( FILES ${ MagnumGlutApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumGlutApplication
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum GlutApplication target alias for superprojects
add_library ( Magnum::GlutApplication ALIAS MagnumGlutApplication )
endif ( )
# SDL2 application
if ( WITH_SDL2APPLICATION )
find_package ( SDL2 )
if ( NOT SDL2_FOUND )
message ( FATAL_ERROR "SDL2 library, required by Sdl2Application, was not found. Set WITH_SDL2APPLICATION to OFF to skip building it." )
endif ( )
set ( MagnumSdl2Application_SRCS Sdl2Application.cpp )
set ( MagnumSdl2Application_HEADERS Sdl2Application.h )
if ( TARGET_GL )
list ( APPEND MagnumSdl2Application_SRCS ${ MagnumSomeContext_OBJECTS } )
endif ( )
add_library ( MagnumSdl2Application STATIC
$ { M a g n u m S d l 2 A p p l i c a t i o n _ S R C S }
$ { M a g n u m S d l 2 A p p l i c a t i o n _ H E A D E R S } )
set_target_properties ( MagnumSdl2Application PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
# 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 PUBLIC Magnum SDL2::SDL2 )
if ( TARGET_GL )
target_link_libraries ( MagnumSdl2Application PUBLIC MagnumGL )
endif ( )
install ( FILES ${ MagnumSdl2Application_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumSdl2Application
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum Sdl2Application target alias for superprojects
add_library ( Magnum::Sdl2Application ALIAS MagnumSdl2Application )
endif ( )
# JavaScript and CSS stuff for Emscripten
if ( CORRADE_TARGET_EMSCRIPTEN )
set ( MagnumEmscriptenApplication_FILES )
if ( WITH_SDL2APPLICATION )
list ( APPEND MagnumEmscriptenApplication_FILES EmscriptenApplication.js )
endif ( )
if ( WITH_WINDOWLESSEGLAPPLICATION )
list ( APPEND MagnumEmscriptenApplication_FILES WindowlessEmscriptenApplication.js )
endif ( )
if ( WITH_SDL2APPLICATION OR WITH_WINDOWLESSEGLAPPLICATION )
list ( APPEND MagnumEmscriptenApplication_FILES WebApplication.css )
list ( APPEND MagnumPlatform_FILES ${ MagnumEmscriptenApplication_FILES } )
install ( FILES ${ MagnumEmscriptenApplication_FILES } DESTINATION ${ MAGNUM_DATA_INSTALL_DIR } )
endif ( )
endif ( )
# GLX application
if ( WITH_GLXAPPLICATION )
set ( NEED_ABSTRACTXAPPLICATION 1 )
set ( NEED_GLXCONTEXTHANDLER 1 )
set ( NEED_GLXCONTEXT 1 )
set ( MagnumGlxApplication_SRCS
G l x A p p l i c a t i o n . c p p
$ < T A R G E T _ O B J E C T S : M a g n u m A b s t r a c t X A p p l i c a t i o n >
$ < T A R G E T _ O B J E C T S : M a g n u m G l x C o n t e x t H a n d l e r >
$ < T A R G E T _ O B J E C T S : M a g n u m G l x C o n t e x t O b j e c t s > )
set ( MagnumGlxApplication_HEADERS GlxApplication.h )
add_library ( MagnumGlxApplication STATIC
$ { M a g n u m G l x A p p l i c a t i o n _ S R C S }
$ { M a g n u m G l x A p p l i c a t i o n _ H E A D E R S } )
set_target_properties ( MagnumGlxApplication PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
# 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 PUBLIC MagnumGL ${ X11_LIBRARIES } )
install ( FILES ${ MagnumGlxApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumGlxApplication
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum GlxApplication target alias for superprojects
add_library ( Magnum::GlxApplication ALIAS MagnumGlxApplication )
endif ( )
# X/EGL application
if ( WITH_XEGLAPPLICATION )
set ( NEED_ABSTRACTXAPPLICATION 1 )
set ( NEED_EGLCONTEXTHANDLER 1 )
set ( NEED_EGLCONTEXT 1 )
set ( MagnumXEglApplication_SRCS
X E g l A p p l i c a t i o n . c p p
$ < T A R G E T _ O B J E C T S : M a g n u m A b s t r a c t X A p p l i c a t i o n >
$ < T A R G E T _ O B J E C T S : M a g n u m E g l C o n t e x t H a n d l e r >
$ < T A R G E T _ O B J E C T S : M a g n u m E g l C o n t e x t O b j e c t s > )
set ( MagnumXEglApplication_HEADERS XEglApplication.h )
add_library ( MagnumXEglApplication STATIC
$ { M a g n u m X E g l A p p l i c a t i o n _ S R C S }
$ { M a g n u m X E g l A p p l i c a t i o n _ H E A D E R S } )
set_target_properties ( MagnumXEglApplication PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
# 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 PUBLIC MagnumGL ${ X11_LIBRARIES } )
install ( FILES ${ MagnumXEglApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumXEglApplication
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum XEglApplication target alias for superprojects
add_library ( Magnum::XEglApplication ALIAS MagnumXEglApplication )
endif ( )
if ( WITH_WINDOWLESSGLXAPPLICATION OR NEED_ABSTRACTXAPPLICATION )
find_package ( X11 )
if ( NOT X11_FOUND )
message ( FATAL_ERROR "X11 library, required by some contexts, was not found. Set WITH_*X*APPLICATION to OFF to skip building them." )
endif ( )
endif ( )
# Windowless EGL application
if ( WITH_WINDOWLESSEGLAPPLICATION )
set ( NEED_EGLCONTEXT 1 )
set ( MagnumWindowlessEglApplication_SRCS
W i n d o w l e s s E g l A p p l i c a t i o n . c p p
I m p l e m e n t a t i o n / E g l . c p p
$ < T A R G E T _ O B J E C T S : M a g n u m E g l C o n t e x t O b j e c t s > )
set ( MagnumWindowlessEglApplication_HEADERS
W i n d o w l e s s E g l A p p l i c a t i o n . h )
set ( MagnumWindowlessEglApplication_PRIVATE_HEADERS
I m p l e m e n t a t i o n / E g l . h )
add_library ( MagnumWindowlessEglApplication STATIC
$ { M a g n u m W i n d o w l e s s E g l A p p l i c a t i o n _ S R C S }
$ { M a g n u m W i n d o w l e s s E g l A p p l i c a t i o n _ H E A D E R S }
$ { M a g n u m W i n d o w l e s s E g l A p p l i c a t i o n _ P R I V A T E _ H E A D E R S } )
set_target_properties ( MagnumWindowlessEglApplication PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumWindowlessEglApplication PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
target_link_libraries ( MagnumWindowlessEglApplication PUBLIC MagnumGL EGL::EGL )
install ( FILES ${ MagnumWindowlessEglApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumWindowlessEglApplication
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum WindowlessEglApplication target alias for superprojects
add_library ( Magnum::WindowlessEglApplication ALIAS MagnumWindowlessEglApplication )
endif ( )
# Windowless GLX application
if ( WITH_WINDOWLESSGLXAPPLICATION )
set ( NEED_GLXCONTEXT 1 )
set ( MagnumWindowlessGlxApplication_SRCS
W i n d o w l e s s G l x A p p l i c a t i o n . c p p
$ < T A R G E T _ O B J E C T S : M a g n u m G l x C o n t e x t O b j e c t s > )
set ( MagnumWindowlessGlxApplication_HEADERS WindowlessGlxApplication.h )
add_library ( MagnumWindowlessGlxApplication STATIC
$ { M a g n u m W i n d o w l e s s G l x A p p l i c a t i o n _ S R C S }
$ { M a g n u m W i n d o w l e s s G l x A p p l i c a t i o n _ H E A D E R S } )
set_target_properties ( MagnumWindowlessGlxApplication PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
# X11 macros are a mess, disable warnings for C-style casts
target_compile_options ( MagnumWindowlessGlxApplication PRIVATE "-Wno-old-style-cast" )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumWindowlessGlxApplication PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
target_include_directories ( MagnumWindowlessGlxApplication PUBLIC ${ X11_INCLUDE_DIR } )
target_link_libraries ( MagnumWindowlessGlxApplication PUBLIC MagnumGL ${ X11_LIBRARIES } )
install ( FILES ${ MagnumWindowlessGlxApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumWindowlessGlxApplication
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum WindowlessGlxApplication target alias for superprojects
add_library ( Magnum::WindowlessGlxApplication ALIAS MagnumWindowlessGlxApplication )
endif ( )
# Windowless iOS application
if ( WITH_WINDOWLESSIOSAPPLICATION )
set ( NEED_EGLCONTEXT 1 )
# We need to link to Foundation framework to use ObjC
find_library ( _MAGNUM_IOS_FOUNDATION_FRAMEWORK_LIBRARY Foundation )
mark_as_advanced ( _MAGNUM_IOS_FOUNDATION_FRAMEWORK_LIBRARY )
set ( MagnumWindowlessIosApplication_SRCS
W i n d o w l e s s I o s A p p l i c a t i o n . m m
$ < T A R G E T _ O B J E C T S : M a g n u m E g l C o n t e x t O b j e c t s > )
set ( MagnumWindowlessIosApplication_HEADERS
W i n d o w l e s s I o s A p p l i c a t i o n . h )
add_library ( MagnumWindowlessIosApplication STATIC
$ { M a g n u m W i n d o w l e s s I o s A p p l i c a t i o n _ S R C S }
$ { M a g n u m W i n d o w l e s s I o s A p p l i c a t i o n _ H E A D E R S } )
set_target_properties ( MagnumWindowlessIosApplication PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumWindowlessIosApplication PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
target_link_libraries ( MagnumWindowlessIosApplication
M a g n u m G L
E G L : : E G L
$ { _ M A G N U M _ I O S _ F O U N D A T I O N _ F R A M E W O R K _ L I B R A R Y } )
install ( FILES ${ MagnumWindowlessIosApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumWindowlessIosApplication
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum WindowlessIosApplication target alias for superprojects
add_library ( Magnum::WindowlessIosApplication ALIAS MagnumWindowlessIosApplication )
endif ( )
# Windowless WGL application
if ( WITH_WINDOWLESSWGLAPPLICATION )
set ( NEED_WGLCONTEXT 1 )
set ( MagnumWindowlessWglApplication_SRCS
W i n d o w l e s s W g l A p p l i c a t i o n . c p p
$ < T A R G E T _ O B J E C T S : M a g n u m W g l C o n t e x t O b j e c t s > )
set ( MagnumWindowlessWglApplication_HEADERS WindowlessWglApplication.h )
add_library ( MagnumWindowlessWglApplication STATIC
$ { M a g n u m W i n d o w l e s s W g l A p p l i c a t i o n _ S R C S }
$ { M a g n u m W i n d o w l e s s W g l A p p l i c a t i o n _ H E A D E R S } )
set_target_properties ( MagnumWindowlessWglApplication PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
target_compile_definitions ( MagnumWindowlessWglApplication PRIVATE "UNICODE" )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumWindowlessWglApplication PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
target_link_libraries ( MagnumWindowlessWglApplication PUBLIC MagnumGL )
install ( FILES ${ MagnumWindowlessWglApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumWindowlessWglApplication
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum WindowlessWglApplication target alias for superprojects
add_library ( Magnum::WindowlessWglApplication ALIAS MagnumWindowlessWglApplication )
endif ( )
# Windowless Windows/EGL application
if ( WITH_WINDOWLESSWINDOWSEGLAPPLICATION )
set ( NEED_EGLCONTEXT 1 )
set ( MagnumWindowlessWindowsEglApplication_SRCS
W i n d o w l e s s W i n d o w s E g l A p p l i c a t i o n . c p p
I m p l e m e n t a t i o n / E g l . c p p
$ < T A R G E T _ O B J E C T S : M a g n u m E g l C o n t e x t O b j e c t s > )
set ( MagnumWindowlessWindowsEglApplication_HEADERS
W i n d o w l e s s W i n d o w s E g l A p p l i c a t i o n . h )
set ( MagnumWindowlessWindowsEglApplication_PRIVATE_HEADERS
I m p l e m e n t a t i o n / E g l . h )
add_library ( MagnumWindowlessWindowsEglApplication STATIC
$ { M a g n u m W i n d o w l e s s W i n d o w s E g l A p p l i c a t i o n _ S R C S }
$ { M a g n u m W i n d o w l e s s W i n d o w s E g l A p p l i c a t i o n _ H E A D E R S }
$ { M a g n u m W i n d o w l e s s W i n d o w s E g l A p p l i c a t i o n _ P R I V A T E _ H E A D E R S } )
set_target_properties ( MagnumWindowlessWindowsEglApplication PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumWindowlessWindowsEglApplication PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
target_link_libraries ( MagnumWindowlessWindowsEglApplication PUBLIC MagnumGL EGL::EGL )
install ( FILES ${ MagnumWindowlessWindowsEglApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumWindowlessWindowsEglApplication
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum WindowlessWindowsEglApplication target alias for superprojects
add_library ( Magnum::WindowlessWindowsEglApplication ALIAS MagnumWindowlessWindowsEglApplication )
endif ( )
# Windowless CGL application
if ( WITH_WINDOWLESSCGLAPPLICATION )
set ( NEED_CGLCONTEXT 1 )
set ( MagnumWindowlessCglApplication_SRCS
W i n d o w l e s s C g l A p p l i c a t i o n . c p p
$ < T A R G E T _ O B J E C T S : M a g n u m C g l C o n t e x t O b j e c t s > )
set ( MagnumWindowlessCglApplication_HEADERS WindowlessCglApplication.h )
add_library ( MagnumWindowlessCglApplication STATIC
$ { M a g n u m W i n d o w l e s s C g l A p p l i c a t i o n _ S R C S }
$ { M a g n u m W i n d o w l e s s C g l A p p l i c a t i o n _ H E A D E R S } )
set_target_properties ( MagnumWindowlessCglApplication PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumWindowlessCglApplication PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
target_link_libraries ( MagnumWindowlessCglApplication PUBLIC MagnumGL )
install ( FILES ${ MagnumWindowlessCglApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
install ( TARGETS MagnumWindowlessCglApplication
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum WindowlessCglApplication library for superprojects
add_library ( Magnum::WindowlessCglApplication ALIAS MagnumWindowlessCglApplication )
endif ( )
# Abstract X application
if ( NEED_ABSTRACTXAPPLICATION )
set ( MagnumAbstractXApplication_SRCS AbstractXApplication.cpp )
set ( MagnumAbstractXApplication_HEADERS AbstractXApplication.h )
add_library ( MagnumAbstractXApplication OBJECT
$ { M a g n u m A b s t r a c t X A p p l i c a t i o n _ S R C S }
$ { M a g n u m A b s t r a c t X A p p l i c a t i o n _ H E A D E R S } )
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
# linked to the executable and not to any intermediate shared lib
set_target_properties ( MagnumAbstractXApplication PROPERTIES FOLDER "Magnum/Platform" )
install ( FILES ${ MagnumAbstractXApplication_HEADERS } DESTINATION ${ MAGNUM_INCLUDE_INSTALL_DIR } /Platform )
endif ( )
# GLX context handler
if ( NEED_GLXCONTEXTHANDLER )
set ( MagnumGlxContextHandler_SRCS
I m p l e m e n t a t i o n / G l x C o n t e x t H a n d l e r . c p p )
set ( MagnumGlxContextHandler_PRIVATE_HEADERS
I m p l e m e n t a t i o n / A b s t r a c t C o n t e x t H a n d l e r . h
I m p l e m e n t a t i o n / G l x C o n t e x t H a n d l e r . h )
add_library ( MagnumGlxContextHandler OBJECT
$ { M a g n u m G l x C o n t e x t H a n d l e r _ S R C S }
$ { M a g n u m G l x C o n t e x t H a n d l e r _ P R I V A T E _ H E A D E R S } )
target_include_directories ( MagnumGlxContextHandler PUBLIC $< TARGET_PROPERTY:Magnum,INTERFACE_INCLUDE_DIRECTORIES > )
# X11 macros are a mess, disable warnings for C-style casts
target_compile_options ( MagnumGlxContextHandler PRIVATE "-Wno-old-style-cast" )
# Assuming that PIC is not needed because this is part of Application lib,
# which is always linked to the executable and not to any intermediate
# shared lib
set_target_properties ( MagnumGlxContextHandler PROPERTIES FOLDER "Magnum/Platform" )
endif ( )
# EGL context handler
if ( NEED_EGLCONTEXTHANDLER )
find_package ( EGL )
if ( NOT EGL_FOUND )
message ( FATAL_ERROR "EGL library, required by some contexts, was not found. Set WITH_*EGL*APPLICATION to OFF to skip building them." )
endif ( )
set ( MagnumEglContextHandler_SRCS
I m p l e m e n t a t i o n / E g l C o n t e x t H a n d l e r . c p p
I m p l e m e n t a t i o n / E g l . c p p )
set ( MagnumEglContextHandler_PRIVATE_HEADERS
I m p l e m e n t a t i o n / A b s t r a c t C o n t e x t H a n d l e r . h
I m p l e m e n t a t i o n / E g l C o n t e x t H a n d l e r . h
I m p l e m e n t a t i o n / E g l . h )
add_library ( MagnumEglContextHandler OBJECT
$ { M a g n u m E g l C o n t e x t H a n d l e r _ S R C S }
$ { M a g n u m E g l C o n t e x t H a n d l e r _ P R I V A T E _ H E A D E R S } )
target_include_directories ( MagnumEglContextHandler PUBLIC
$ < T A R G E T _ P R O P E R T Y : M a g n u m G L , I N T E R F A C E _ I N C L U D E _ D I R E C T O R I E S >
$ < T A R G E T _ P R O P E R T Y : E G L : : E G L , I N T E R F A C E _ I N C L U D E _ D I R E C T O R I E S > )
# X11 macros are a mess, disable warnings for C-style casts
target_compile_options ( MagnumEglContextHandler PRIVATE "-Wno-old-style-cast" )
# Assuming that PIC is not needed because this is part of Application lib,
# which is always linked to the executable and not to any intermediate
# shared lib
set_target_properties ( MagnumEglContextHandler PROPERTIES FOLDER "Magnum/Platform" )
endif ( )
# Platform-specific sources for context library
set ( MagnumContext_SRCS )
if ( NOT CORRADE_TARGET_IOS )
list ( APPEND MagnumContext_SRCS Implementation/OpenGLFunctionLoader.cpp )
endif ( )
if ( NOT MAGNUM_TARGET_GLES )
list ( APPEND MagnumContext_SRCS ../../MagnumExternal/OpenGL/GL/flextGLPlatform.cpp )
elseif ( MAGNUM_TARGET_GLES AND MAGNUM_TARGET_GLES2 )
if ( CORRADE_TARGET_WINDOWS AND MAGNUM_TARGET_DESKTOP_GLES )
list ( APPEND MagnumContext_SRCS ../../MagnumExternal/OpenGL/GLES2/flextGLPlatformWindowsDesktop.cpp )
elseif ( CORRADE_TARGET_IOS )
list ( APPEND MagnumContext_SRCS ../../MagnumExternal/OpenGL/GLES2/flextGLPlatformIOS.cpp )
else ( )
list ( APPEND MagnumContext_SRCS ../../MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp )
endif ( )
elseif ( MAGNUM_TARGET_GLES AND NOT MAGNUM_TARGET_GLES2 )
if ( CORRADE_TARGET_WINDOWS AND MAGNUM_TARGET_DESKTOP_GLES )
list ( APPEND MagnumContext_SRCS ../../MagnumExternal/OpenGL/GLES3/flextGLPlatformWindowsDesktop.cpp )
elseif ( CORRADE_TARGET_IOS )
list ( APPEND MagnumContext_SRCS ../../MagnumExternal/OpenGL/GLES3/flextGLPlatformIOS.cpp )
else ( )
list ( APPEND MagnumContext_SRCS ../../MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp )
endif ( )
endif ( )
# CGL context
if ( NEED_CGLCONTEXT OR WITH_CGLCONTEXT )
add_library ( MagnumCglContextObjects OBJECT ${ MagnumContext_SRCS } )
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 ( )
set_target_properties ( MagnumCglContextObjects PROPERTIES FOLDER "Magnum/Platform" )
# Also create proper static library, if requested
if ( WITH_CGLCONTEXT )
# CMake-generated XCode projects had some problems when library
# consisted only of $<TARGET_OBJECTS> entries, thus compiling the
# sources again in this case
add_library ( MagnumCglContext STATIC ${ MagnumContext_SRCS } )
set_target_properties ( MagnumCglContext PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumCglContext PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
target_link_libraries ( MagnumCglContext PUBLIC MagnumGL )
install ( TARGETS MagnumCglContext
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum CglContext target alias for superprojects
add_library ( Magnum::CglContext ALIAS MagnumCglContext )
endif ( )
endif ( )
# EGL context
if ( NEED_EGLCONTEXT OR WITH_EGLCONTEXT )
find_package ( EGL )
if ( NOT EGL_FOUND )
message ( FATAL_ERROR "EGL library, required by some contexts, was not found. Set WITH_*APPLICATION and/or WITH_EGLCONTEXT to OFF to skip building them." )
endif ( )
add_library ( MagnumEglContextObjects OBJECT ${ MagnumContext_SRCS } )
target_include_directories ( MagnumEglContextObjects PUBLIC
$ < T A R G E T _ P R O P E R T Y : M a g n u m G L , I N T E R F A C E _ I N C L U D E _ D I R E C T O R I E S >
$ < T A R G E T _ P R O P E R T Y : E G L : : E G L , I N T E R F A C E _ I N C L U D E _ D I R E C T O R I E S > )
target_compile_definitions ( MagnumEglContextObjects PRIVATE "MAGNUM_PLATFORM_USE_EGL" )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumEglContextObjects PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
set_target_properties ( MagnumEglContextObjects PROPERTIES FOLDER "Magnum/Platform" )
# Also create proper static library, if requested
if ( WITH_EGLCONTEXT )
add_library ( MagnumEglContext STATIC
$ < T A R G E T _ O B J E C T S : M a g n u m E g l C o n t e x t O b j e c t s >
$ { P R O J E C T _ S O U R C E _ D I R } / s r c / d u m m y . c p p ) # XCode workaround, see file comment for details
set_target_properties ( MagnumEglContext PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumEglContext PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
target_link_libraries ( MagnumEglContext PUBLIC MagnumGL EGL::EGL )
install ( TARGETS MagnumEglContext
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum EglContext target alias for superprojects
add_library ( Magnum::EglContext ALIAS MagnumEglContext )
endif ( )
endif ( )
# GLX context
if ( NEED_GLXCONTEXT OR WITH_GLXCONTEXT )
add_library ( MagnumGlxContextObjects OBJECT ${ MagnumContext_SRCS } )
target_include_directories ( MagnumGlxContextObjects PUBLIC
$ < T A R G E T _ P R O P E R T Y : M a g n u m G L , I N T E R F A C E _ I N C L U D E _ D I R E C T O R I E S >
$ { X 1 1 _ I N C L U D E _ D I R } )
target_compile_definitions ( MagnumGlxContextObjects PRIVATE "MAGNUM_PLATFORM_USE_GLX" )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumGlxContextObjects PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
set_target_properties ( MagnumGlxContextObjects PROPERTIES FOLDER "Magnum/Platform" )
# Also create proper static library, if requested
if ( WITH_GLXCONTEXT )
add_library ( MagnumGlxContext STATIC $< TARGET_OBJECTS:MagnumGlxContextObjects > )
set_target_properties ( MagnumGlxContext PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumGlxContext PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
target_include_directories ( MagnumGlxContext PUBLIC ${ X11_INCLUDE_DIR } )
target_link_libraries ( MagnumGlxContext PUBLIC MagnumGL ${ X11_LIBRARIES } )
install ( TARGETS MagnumGlxContext
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum GlxContext target alias for superprojects
add_library ( Magnum::GlxContext ALIAS MagnumGlxContext )
endif ( )
endif ( )
# WGL context
if ( NEED_WGLCONTEXT OR WITH_WGLCONTEXT )
add_library ( MagnumWglContextObjects OBJECT ${ MagnumContext_SRCS } )
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 ( )
set_target_properties ( MagnumWglContextObjects PROPERTIES FOLDER "Magnum/Platform" )
# Also create proper static library, if requested
if ( WITH_WGLCONTEXT )
add_library ( MagnumWglContext STATIC $< TARGET_OBJECTS:MagnumWglContextObjects > )
set_target_properties ( MagnumWglContext PROPERTIES
D E B U G _ P O S T F I X " - d "
F O L D E R " M a g n u m / P l a t f o r m " )
if ( BUILD_STATIC_PIC )
set_target_properties ( MagnumWglContext PROPERTIES POSITION_INDEPENDENT_CODE ON )
endif ( )
target_link_libraries ( MagnumWglContext PUBLIC MagnumGL )
install ( TARGETS MagnumWglContext
R U N T I M E D E S T I N A T I O N $ { M A G N U M _ B I N A R Y _ I N S T A L L _ D I R }
L I B R A R Y D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R }
A R C H I V E D E S T I N A T I O N $ { M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R } )
# Magnum WglContext target alias for superprojects
add_library ( Magnum::WglContext ALIAS MagnumWglContext )
endif ( )
endif ( )
# Magnum GL Info
if ( WITH_GL_INFO )
add_executable ( magnum-gl-info gl-info.cpp )
target_link_libraries ( magnum-gl-info PRIVATE MagnumGL )
if ( MAGNUM_TARGET_HEADLESS OR CORRADE_TARGET_EMSCRIPTEN OR CORRADE_TARGET_ANDROID )
target_link_libraries ( magnum-gl-info PRIVATE MagnumWindowlessEglApplication )
elseif ( CORRADE_TARGET_IOS )
target_link_libraries ( magnum-gl-info PRIVATE MagnumWindowlessIosApplication )
elseif ( CORRADE_TARGET_APPLE )
target_link_libraries ( magnum-gl-info PRIVATE MagnumWindowlessCglApplication )
elseif ( CORRADE_TARGET_UNIX )
if ( MAGNUM_TARGET_GLES AND NOT MAGNUM_TARGET_DESKTOP_GLES )
target_link_libraries ( magnum-gl-info PRIVATE MagnumWindowlessEglApplication )
else ( )
target_link_libraries ( magnum-gl-info PRIVATE MagnumWindowlessGlxApplication )
endif ( )
elseif ( CORRADE_TARGET_WINDOWS )
if ( MAGNUM_TARGET_GLES AND NOT MAGNUM_TARGET_DESKTOP_GLES )
target_link_libraries ( magnum-gl-info PRIVATE MagnumWindowlessWindowsEglApplication )
else ( )
target_link_libraries ( magnum-gl-info PRIVATE MagnumWindowlessWglApplication )
endif ( )
else ( )
message ( FATAL_ERROR "magnum-gl-info is not available on this platform. Set WITH_GL_INFO to OFF to skip building it." )
endif ( )
set_target_properties ( magnum-gl-info PROPERTIES FOLDER "Magnum/Platform" )
if ( NOT CORRADE_TARGET_EMSCRIPTEN )
install ( TARGETS magnum-gl-info DESTINATION ${ MAGNUM_BINARY_INSTALL_DIR } )
endif ( )
if ( CORRADE_TARGET_IOS )
set_target_properties ( magnum-gl-info PROPERTIES
M A C O S X _ B U N D L E O N
M A C O S X _ B U N D L E _ I N F O _ P L I S T $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / M a c O S X B u n d l e I n f o . p l i s t . i n
X C O D E _ A T T R I B U T E _ C O D E _ S I G N I N G _ R E Q U I R E D " Y E S " )
elseif ( CORRADE_TARGET_EMSCRIPTEN )
install ( FILES gl-info.html DESTINATION ${ MAGNUM_DEPLOY_PREFIX } /magnum-gl-info RENAME index.html )
install ( TARGETS magnum-gl-info DESTINATION ${ MAGNUM_DEPLOY_PREFIX } /magnum-gl-info )
install ( FILES
W e b A p p l i c a t i o n . c s s
W i n d o w l e s s E m s c r i p t e n A p p l i c a t i o n . j s
D E S T I N A T I O N $ { M A G N U M _ D E P L O Y _ P R E F I X } / m a g n u m - g l - i n f o )
install ( FILES
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / m a g n u m - g l - i n f o . j s . m e m
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / m a g n u m - g l - i n f o . w a s m
D E S T I N A T I O N $ { M A G N U M _ D E P L O Y _ P R E F I X } / m a g n u m - g l - i n f o O P T I O N A L )
endif ( )
# Magnum info target alias for superprojects
add_executable ( Magnum::gl-info ALIAS magnum-gl-info )
endif ( )
# Force IDEs display also all header files and additional files in project view
add_custom_target ( MagnumPlatform SOURCES ${ MagnumPlatform_HEADERS } ${ MagnumPlatform_FILES } )
set_target_properties ( MagnumPlatform PROPERTIES FOLDER "Magnum/Platform" )