@ -249,15 +249,29 @@ if(WITH_OPENGLTESTER)
set ( MagnumOpenGLTester_SRCS OpenGLTester.cpp )
set ( MagnumOpenGLTester_HEADERS OpenGLTester.h )
add_library ( MagnumOpenGLTester STATIC
# W e n e e d a s e p a r a t e l i b r a r y f o r t e s t s t h a t l i n k s e x c l u s i v e l y t o
# M a g n u m G L T e s t L i b i n s t e a d o f M a g n u m G L o t h e r w i s e t h e r e a r e p r o b l e m s o n
# W i n d o w s w i t h g l o b a l s t a t e l i k e G L : : C o n t e x t : : current ( ) . S o b u i l d a n o b j e c t
# l i b r a r y a n d t h e n i n c l u d e i t i n M a g n u m O p e n G L T e s t e r a n d
# M a g n u m O p e n G L T e s t e r T e s t L i b . S e e t h e M a g n u m O p e n G L T e s t e r T e s t L i b t a r g e t f o r
# f u r t h e r i n f o .
add_library ( MagnumOpenGLTesterObjects OBJECT
$ { M a g n u m O p e n G L T e s t e r _ S R C S }
$ { M a g n u m O p e n G L T e s t e r _ H E A D E R S } )
set_target_properties ( MagnumOpenGLTester 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 / G L " )
# A s s u m i n g t h a t P I C i s n o t n e e d e d b e c a u s e t h e T e s t e r l i b i s a l w a y s l i n k e d
# t o t h e e x e c u t a b l e a n d n o t t o a n y i n t e r m e d i a t e s h a r e d l i b
set_target_properties ( MagnumOpenGLTesterObjects PROPERTIES FOLDER "Magnum/GL" )
target_include_directories ( MagnumOpenGLTesterObjects PUBLIC
$ < T A R G E T _ P R O P E R T Y : C o r r a d e : : T e s t S u i t e , 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 : 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 : $ { O P E N G L T E S T E R _ A P P L I C A T I O N } , 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 > )
add_library ( MagnumOpenGLTester STATIC
$ < T A R G E T _ O B J E C T S : M a g n u m O p e n G L T e s t e r 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 ) # X C o d e w o r k a r o u n d , s e e f i l e c o m m e n t f o r d e t a i l s
set_target_properties ( MagnumOpenGLTester 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 / G L " )
# O P E N G L T E S T E R _ A P P L I C A T I O N d e f i n e d i n t h e r o o t C M a k e L i s t s , b e c a u s e i t a l s o
# e n a b l e s t h e a p p l i c a t i o n l i b r a r y d e p e n d e n c i e s
target_link_libraries ( MagnumOpenGLTester PUBLIC Magnum Corrade::TestSuite ${ OPENGLTESTER_APPLICATION } )
@ -315,6 +329,38 @@ if(BUILD_TESTS)
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 } )
endif ( )
if ( BUILD_GL_TESTS )
add_library ( MagnumOpenGLTesterTestLib STATIC
$ < T A R G E T _ O B J E C T S : M a g n u m O p e n G L T e s t e r 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 ) # X C o d e w o r k a r o u n d , s e e f i l e c o m m e n t f o r d e t a i l s
set_target_properties ( MagnumOpenGLTesterTestLib 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 / G L " )
target_link_libraries ( MagnumOpenGLTesterTestLib PUBLIC Magnum Corrade::TestSuite )
# O n W i n d o w s t h e $ { O P E N G L T E S T E R _ A P P L I C A T I O N } l i n k s t o M a g n u m G L , w h i c h
# i s c a u s i n g a s s e r t s i n G L : : C o n t e x t : : current ( ) d u e t o t w o d i f f e r e n t
# i n s t a n c e s o f t h e g l o b a l v a r i a b l e g e t t i n g u s e d . W e c i r c u m v e n t t h a t b y
# u s i n g j u s t t h e l i b r a r y f i l e f r o m $ { O P E N G L T E S T E R _ A P P L I C A T I O N } a n d
# l i n k i n g t o M a g n u m G L T e s t L i b e x p l i c i t l y . I t ' s n o t a p r o b l e m o n o t h e r
# p l a t f o r m s a n d I d o n ' t w a n t t o g o t h r o u g h t h e t r o u b l e o f c o r r e c t l y
# p a s s i n g t h r o u g h a l l d e p e n d e n c i e s l i k e X 1 1 , C G L e t c . , s o I d o i t f o r
# W i n d o w s o n l y a n d e l s e w h e r e I j u s t l i n k t h e s a m e w a y a s w i t h
# M a g n u m O p e n G L T e s t e r .
if ( CORRADE_TARGET_WINDOWS )
if ( MAGNUM_TARGET_GLES AND NOT MAGNUM_TARGET_DESKTOP_GLES )
# O t h e r w i s e i t c o m p l a i n s t h a t E G L : : E G L d o e s n o t e x i s t h e r e
find_package ( EGL )
endif ( )
target_link_libraries ( MagnumOpenGLTesterTestLib PUBLIC
$ < T A R G E T _ F I L E : $ { O P E N G L T E S T E R _ A P P L I C A T I O N } >
M a g n u m G L T e s t L i b ) # t h i s i s d i f f e r e n t
target_include_directories ( MagnumOpenGLTesterTestLib PUBLIC
$ < T A R G E T _ P R O P E R T Y : $ { O P E N G L T E S T E R _ A P P L I C A T I O N } , 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 > )
else ( )
target_link_libraries ( MagnumOpenGLTesterTestLib PUBLIC Magnum Corrade::TestSuite MagnumGLTestLib ${ OPENGLTESTER_APPLICATION } )
endif ( )
endif ( )
add_subdirectory ( Test )
endif ( )