@ -1,12 +1,15 @@
# - F i n d M a g n u m
# . r s t :
# F i n d M a g n u m
# - - - - - - - - - - -
#
# B a s i c u s a g e :
# find_package ( Magnum [REQUIRED] )
# T h i s c o m m a n d t r i e s t o f i n d b a s e M a g n u m l i b r a r y a n d t h e n d e f i n e s :
# M A G N U M _ F O U N D - W h e t h e r t h e b a s e l i b r a r y w a s f o u n d
# M A G N U M _ L I B R A R I E S - M a g n u m l i b r a r y a n d d e p e n d e n t l i b r a r i e s
# M A G N U M _ I N C L U D E _ D I R S - R o o t i n c l u d e d i r a n d i n c l u d e d i r s o f
# d e p e n d e n c i e s
# F i n d s t h e M a g n u m l i b r a r y . B a s i c u s a g e : :
#
# find_package ( Magnum REQUIRED )
#
# T h i s m o d u l e t r i e s t o f i n d t h e b a s e M a g n u m l i b r a r y a n d t h e n d e f i n e s t h e
# f o l l o w i n g :
#
# M a g n u m _ F O U N D - W h e t h e r t h e b a s e l i b r a r y w a s f o u n d
# M A G N U M _ P L U G I N S _ D E B U G _ D I R - B a s e d i r e c t o r y w i t h d y n a m i c p l u g i n s f o r
# d e b u g b u i l d s , d e f a u l t s t o m a g n u m - d / s u b d i r e c t o r y o f d i r w h e r e M a g n u m
# l i b r a r y w a s f o u n d
@ -14,11 +17,11 @@
# r e l e a s e b u i l d s , d e f a u l t s t o m a g n u m / s u b d i r e c t o r y o f d i r w h e r e M a g n u m
# l i b r a r y w a s f o u n d
# M A G N U M _ P L U G I N S _ D I R - B a s e d i r e c t o r y w i t h d y n a m i c p l u g i n s , d e f a u l t s
# t o M A G N U M _ P L U G I N S _ R E L E A S E _ D I R i n r e l e a s e b u i l d s a n d m u l t i - c o n f i g u r a t i o n
# b u i l d s o r t o M A G N U M _ P L U G I N S _ D E B U G _ D I R i n d e b u g b u i l d s . Y o u c a n m o d i f y a l l
# t h r e e variable ( e.g. set them to . when deploying on Windows with plugins
# s t o r e d r e l a t i v e l y t o t h e e x e c u t a b l e ) , t h e f o l l o w i n g M A G N U M _ P L U G I N S _ * _ D I R
# v a r i a b l e s d e p e n d o n i t .
# t o : v a r i a b l e : ` M A G N U M _ P L U G I N S _ R E L E A S E _ D I R ` i n r e l e a s e b u i l d s a n d
# m u l t i - c o n f i g u r a t i o n b u i l d s o r t o : v a r i a b l e : ` M A G N U M _ P L U G I N S _ D E B U G _ D I R ` i n
# d e b u g b u i l d s . Y o u c a n m o d i f y a l l t h r e e variables ( e.g. set them to ``.``
# w h e n d e p l o y i n g o n W i n d o w s w i t h p l u g i n s s t o r e d r e l a t i v e l y t o t h e
# e x e c u t a b l e ) , t h e f o l l o w i n g ` ` M A G N U M _ P L U G I N S _ * _ D I R ` ` v a r i a b l e s d e p e n d o n i t .
# M A G N U M _ P L U G I N S _ F O N T [ | _ D E B U G | _ R E L E A S E ] _ D I R - D i r e c t o r y w i t h d y n a m i c f o n t
# p l u g i n s
# M A G N U M _ P L U G I N S _ F O N T C O N V E R T E R [ | _ D E B U G | _ R E L E A S E ] _ D I R - D i r e c t o r y w i t h d y n a m i c
@ -29,10 +32,12 @@
# i m p o r t e r p l u g i n s
# M A G N U M _ P L U G I N S _ A U D I O I M P O R T E R [ | _ D E B U G | _ R E L E A S E ] _ D I R - D i r e c t o r y w i t h d y n a m i c
# a u d i o i m p o r t e r p l u g i n s
#
# T h i s c o m m a n d w i l l t r y t o f i n d o n l y t h e b a s e l i b r a r y , n o t t h e o p t i o n a l
# c o m p o n e n t s . T h e b a s e l i b r a r y d e p e n d s o n C o r r a d e a n d O p e n G L libraries ( or
# O p e n G L E S l i b r a r i e s ) . A d d i t i o n a l d e p e n d e n c i e s a r e s p e c i f i e d b y t h e
# c o m p o n e n t s . T h e o p t i o n a l c o m p o n e n t s a r e :
#
# A u d i o - A u d i o l i b r a r y
# D e b u g T o o l s - D e b u g T o o l s l i b r a r y
# M e s h T o o l s - M e s h T o o l s l i b r a r y
@ -42,12 +47,6 @@
# S h a p e s - S h a p e s l i b r a r y
# T e x t - T e x t l i b r a r y
# T e x t u r e T o o l s - T e x t u r e T o o l s l i b r a r y
# M a g n u m F o n t - M a g n u m b i t m a p f o n t p l u g i n
# M a g n u m F o n t C o n v e r t e r - M a g n u m b i t m a p f o n t c o n v e r t e r p l u g i n
# O b j I m p o r t e r - O B J i m p o r t e r p l u g i n
# T g a I m a g e C o n v e r t e r - T G A i m a g e c o n v e r t e r p l u g i n
# T g a I m p o r t e r - T G A i m p o r t e r p l u g i n
# W a v A u d i o I m p o r t e r - W A V a u d i o i m p o r t e r p l u g i n
# G l u t A p p l i c a t i o n - G L U T a p p l i c a t i o n
# G l x A p p l i c a t i o n - G L X a p p l i c a t i o n
# N a C l A p p l i c a t i o n - N a C l a p p l i c a t i o n
@ -62,33 +61,44 @@
# E g l C o n t e x t - E G L c o n t e x t
# G l x C o n t e x t - G L X c o n t e x t
# W g l C o n t e x t - W G L c o n t e x t
# E x a m p l e u s a g e w i t h s p e c i f y i n g a d d i t i o n a l c o m p o n e n t s i s :
# find_package ( Magnum [REQUIRED|COMPONENTS]
# M e s h T o o l s P r i m i t i v e s G l u t A p p l i c a t i o n )
# M a g n u m F o n t - M a g n u m b i t m a p f o n t p l u g i n
# M a g n u m F o n t C o n v e r t e r - M a g n u m b i t m a p f o n t c o n v e r t e r p l u g i n
# O b j I m p o r t e r - O B J i m p o r t e r p l u g i n
# T g a I m a g e C o n v e r t e r - T G A i m a g e c o n v e r t e r p l u g i n
# T g a I m p o r t e r - T G A i m p o r t e r p l u g i n
# W a v A u d i o I m p o r t e r - W A V a u d i o i m p o r t e r p l u g i n
# d i s t a n c e f i e l d c o n v e r t e r - m a g n u m - d i s t a n c e f i e l d c o n v e r t e r e x e c u t a b l e
# f o n t c o n v e r t e r - m a g n u m - f o n t c o n v e r t e r e x e c u t a b l e
# i n f o - m a g n u m - i n f o e x e c u t a b l e
#
# E x a m p l e u s a g e w i t h s p e c i f y i n g a d d i t i o n a l c o m p o n e n t s i s : :
#
# find_package ( Magnum REQUIRED MeshTools Primitives GlutApplication )
#
# F o r e a c h c o m p o n e n t i s t h e n d e f i n e d :
# M A G N U M _ * _ F O U N D - W h e t h e r t h e c o m p o n e n t w a s f o u n d
# M A G N U M _ * _ L I B R A R I E S - C o m p o n e n t l i b r a r y a n d d e p e n d e n t l i b r a r i e s
# M A G N U M _ * _ I N C L U D E _ D I R S - I n c l u d e d i r s o f m o d u l e d e p e n d e n c i e s
# I f e x a c t l y o n e * A p p l i c a t i o n o r e x a c t l y o n e W i n d o w l e s s * A p p l i c a t i o n
# c o m p o n e n t i s r e q u e s t e d a n d f o u n d , i t s l i b r a r i e s a n d i n c l u d e d i r s a r e
# a v a i l a b l e i n c o n v e n i e n c e a l i a s e s M A G N U M _ A P P L I C A T I O N _ L I B R A R I E S /
# M A G N U M _ W I N D O W L E S S A P P L I C A T I O N _ L I B R A R I E S a n d M A G N U M _ A P P L I C A T I O N _ I N C L U D E _ D I R S
# / M A G N U M _ W I N D O W L E S S A P P L I C A T I O N _ I N C L U D E _ D I R S t o s i m p l i f y p o r t i n g . S i m i l a r l y ,
# i f e x a c t l y o n e * C o n t e x t c o m p o n e n t i s r e q u e s t e d a n d f o u n d , i t s l i b r a r i e s a n d
# i n c l u d e d i r s a r e a v a i l a b l e i n c o n v e n i e n c e a l i a s e s M A G N U M _ C O N T E X T _ L I B R A R I E S
# a n d M A G N U M _ C O N T E X T _ I N C L U D E _ D I R S .
#
# M a g n u m _ * _ F O U N D - W h e t h e r t h e c o m p o n e n t w a s f o u n d
# M a g n u m : : * - C o m p o n e n t i m p o r t e d t a r g e t
#
# I f e x a c t l y o n e ` ` * A p p l i c a t i o n ` ` o r e x a c t l y o n e ` ` W i n d o w l e s s * A p p l i c a t i o n ` `
# c o m p o n e n t i s r e q u e s t e d a n d f o u n d , i t s t a r g e t i s a v a i l a b l e i n c o n v e n i e n c e
# a l i a s ` ` M a g n u m : : A p p l i c a t i o n ` ` / ` ` M a g n u m : : W i n d o w l e s s A p p l i c a t i o n ` ` t o s i m p l i f y
# p o r t i n g . S i m i l a r l y , i f e x a c t l y o n e ` ` * C o n t e x t ` ` c o m p o n e n t i s r e q u e s t e d a n d
# f o u n d , i t s t a r g e t i s a v a i l a b l e i n c o n v e n i e n c e a l i a s ` ` M a g n u m : : C o n t e x t ` ` .
#
# T h e p a c k a g e i s f o u n d i f e i t h e r d e b u g o r r e l e a s e v e r s i o n o f e a c h r e q u e s t e d
# library ( or plugin ) i s f o u n d . I f b o t h d e b u g a n d r e l e a s e libraries ( or
# p l u g i n s ) a r e f o u n d , p r o p e r v e r s i o n i s c h o s e n b a s e d o n a c t u a l b u i l d
# c o n f i g u r a t i o n o f t h e project ( i.e. Debug build is linked to debug libraries,
# R e l e a s e b u i l d t o r e l e a s e l i b r a r i e s ) . N o t e t h a t t h i s a u t o d e t e c t i o n m i g h t f a i l
# f o r t h e M A G N U M _ P L U G I N S _ D I R v a r i a b l e , e s p e c i a l l y o n m u l t i - c o n f i g u r a t i o n b u i l d
# s y s t e m s . Y o u c a n m a k e u s e o f C O R R A D E _ I S _ D E B U G _ B U I L D p r e p r o c e s s o r v a r i a b l e
# a l o n g w i t h M A G N U M _ P L U G I N S _ * _ D E B U G _ D I R / M A G N U M _ P L U G I N S _ * _ R E L E A S E _ D I R
# v a r i a b l e s t o d e c i d e i n p r e p r o c e s s i n g s t e p .
# f o r t h e : v a r i a b l e : ` M A G N U M _ P L U G I N S _ D I R ` v a r i a b l e , e s p e c i a l l y o n
# m u l t i - c o n f i g u r a t i o n b u i l d s y s t e m s . Y o u c a n m a k e u s e o f
# ` ` C O R R A D E _ I S _ D E B U G _ B U I L D ` ` p r e p r o c e s s o r v a r i a b l e a l o n g w i t h
# ` ` M A G N U M _ P L U G I N S _ * _ D E B U G _ D I R ` ` / ` ` M A G N U M _ P L U G I N S _ * _ R E L E A S E _ D I R ` ` v a r i a b l e s
# t o d e c i d e i n p r e p r o c e s s i n g s t e p .
#
# F e a t u r e s o f f o u n d M a g n u m l i b r a r y a r e e x p o s e d i n t h e s e v a r i a b l e s :
#
# M A G N U M _ B U I L D _ D E P R E C A T E D - D e f i n e d i f c o m p i l e d w i t h d e p r e c a t e d A P I s
# i n c l u d e d
# M A G N U M _ B U I L D _ S T A T I C - D e f i n e d i f c o m p i l e d a s s t a t i c l i b r a r i e s
@ -100,6 +110,7 @@
# M A G N U M _ T A R G E T _ W E B G L - D e f i n e d i f c o m p i l e d f o r W e b G L
#
# A d d i t i o n a l l y t h e s e v a r i a b l e s a r e d e f i n e d f o r i n t e r n a l u s a g e :
#
# M A G N U M _ I N C L U D E _ D I R - R o o t i n c l u d e dir ( w/o dependencies )
# M A G N U M _ L I B R A R Y - M a g n u m library ( w/o dependencies )
# M A G N U M _ L I B R A R Y _ D E B U G - D e b u g v e r s i o n o f M a g n u m l i b r a r y , i f f o u n d
@ -124,6 +135,21 @@
# M A G N U M _ I N C L U D E _ I N S T A L L _ D I R - H e a d e r i n s t a l l a t i o n d i r e c t o r y
# M A G N U M _ P L U G I N S _ I N C L U D E _ I N S T A L L _ D I R - P l u g i n h e a d e r i n s t a l l a t i o n d i r e c t o r y
#
# W o r k f l o w s w i t h o u t i m p o r t e d t a r g e t s a r e d e p r e c a t e d a n d t h e f o l l o w i n g v a r i a b l e s
# a r e i n c l u d e d j u s t f o r b a c k w a r d s c o m p a t i b i l i t y a n d o n l y i f
# : v a r i a b l e : ` M A G N U M _ B U I L D _ D E P R E C A T E D ` i s e n a b l e d :
#
# M A G N U M _ L I B R A R I E S - E x p a n d s t o ` ` M a g n u m : : M a g n u m ` ` t a r g e t . U s e
# ` ` M a g n u m : : M a g n u m ` ` t a r g e t d i r e c t l y i n s t e a d .
# M A G N U M _ * _ L I B R A R I E S - E x p a n d s t o ` ` M a g n u m : : * ` ` t a r g e t . U s e
# ` ` M a g n u m : : * ` ` t a r g e t d i r e c t l y i n s t e a d .
# M A G N U M _ A P P L I C A T I O N _ L I B R A R I E S / M A G N U M _ W I N D O W L E S S A P P L I C A T I O N _ L I B R A R I E S
# - E x p a n d s t o ` ` M a g n u m : : A p p l i c a t i o n ` ` /
# ` ` M a g n u m : : W i n d o w l e s s A p p l i c a t i o n ` ` t a r g e t . U s e ` ` M a g n u m : : A p p l i c a t i o n ` ` /
# ` ` M a g n u m : : W i n d o w l e s s A p p l i c a t i o n ` ` t a r g e t d i r e c t l y i n s t e a d .
# M A G N U M _ C O N T E X T _ L I B R A R I E S - E x p a n d s t o ` ` M a g n u m : : C o n t e x t ` ` t a r g e t . U s e
# ` ` M a g n u m : : C o n t e x t ` ` t a r g e t d i r e c t l y i n s t e a d .
#
#
# T h i s f i l e i s p a r t o f M a g n u m .
@ -151,34 +177,12 @@
#
# D e p e n d e n c i e s
find_package ( Corrade REQUIRED )
# B a s e M a g n u m l i b r a r y
find_library ( MAGNUM_LIBRARY_DEBUG Magnum-d )
find_library ( MAGNUM_LIBRARY_RELEASE Magnum )
# S e t t h e M A G N U M _ L I B R A R Y v a r i a b l e b a s e d o n w h a t w a s f o u n d , u s e t h a t i n f o r m a t i o n
# t o g u e s s a l s o b u i l d t y p e o f d y n a m i c p l u g i n s
if ( MAGNUM_LIBRARY_DEBUG AND MAGNUM_LIBRARY_RELEASE )
set ( MAGNUM_LIBRARY
d e b u g $ { M A G N U M _ L I B R A R Y _ D E B U G }
o p t i m i z e d $ { M A G N U M _ L I B R A R Y _ R E L E A S E } )
get_filename_component ( _MAGNUM_LIBRARY_PATH ${ MAGNUM_LIBRARY_DEBUG } PATH )
if ( CMAKE_BUILD_TYPE STREQUAL "Debug" )
set ( _MAGNUM_PLUGINS_DIR_SUFFIX "-d" )
endif ( )
elseif ( MAGNUM_LIBRARY_DEBUG )
set ( MAGNUM_LIBRARY ${ MAGNUM_LIBRARY_DEBUG } )
get_filename_component ( _MAGNUM_LIBRARY_PATH ${ MAGNUM_LIBRARY_DEBUG } PATH )
set ( _MAGNUM_PLUGINS_DIR_SUFFIX "-d" )
elseif ( MAGNUM_LIBRARY_RELEASE )
set ( MAGNUM_LIBRARY ${ MAGNUM_LIBRARY_RELEASE } )
get_filename_component ( _MAGNUM_LIBRARY_PATH ${ MAGNUM_LIBRARY_RELEASE } PATH )
endif ( )
find_package ( Corrade REQUIRED Utility PluginManager )
# R o o t i n c l u d e d i r
find_path ( MAGNUM_INCLUDE_DIR
N A M E S M a g n u m / M a g n u m . h )
mark_as_advanced ( MAGNUM_INCLUDE_DIR )
# C o n f i g u r a t i o n f i l e
find_file ( _MAGNUM_CONFIGURE_FILE configure.h
@ -190,10 +194,10 @@ find_file(_MAGNUM_CONFIGURE_FILE configure.h
if ( NOT MAGNUM_INCLUDE_DIR )
include ( FindPackageHandleStandardArgs )
find_package_handle_standard_args ( Magnum
R E Q U I R E D _ V A R S M A G N U M _ L I B R A R Y M A G N U M _ I N C L U D E _ D I R _ M A G N U M _ C O N F I G U R E _ F I L E )
R E Q U I R E D _ V A R S M A G N U M _ I N C L U D E _ D I R _ M A G N U M _ C O N F I G U R E _ F I L E )
endif ( )
# C o n f i g u r a t i o n
# R e a d f l a g s f r o m c o n f i g u r a t i o n
file ( READ ${ _MAGNUM_CONFIGURE_FILE } _magnumConfigure )
set ( _magnumFlags
B U I L D _ D E P R E C A T E D
@ -210,62 +214,102 @@ foreach(_magnumFlag ${_magnumFlags})
endif ( )
endforeach ( )
# D e p e n d e n t l i b r a r i e s a n d i n c l u d e s
set ( MAGNUM_INCLUDE_DIRS ${ MAGNUM_INCLUDE_DIR }
$ { M A G N U M _ I N C L U D E _ D I R } / M a g n u m E x t e r n a l / O p e n G L
$ { C O R R A D E _ I N C L U D E _ D I R S } )
set ( MAGNUM_LIBRARIES ${ MAGNUM_LIBRARY }
$ { C O R R A D E _ U T I L I T Y _ L I B R A R I E S }
$ { C O R R A D E _ P L U G I N M A N A G E R _ L I B R A R I E S } )
if ( NOT MAGNUM_TARGET_GLES OR MAGNUM_TARGET_DESKTOP_GLES )
# B a s e M a g n u m l i b r a r y
if ( NOT TARGET Magnum::Magnum )
add_library ( Magnum::Magnum UNKNOWN IMPORTED )
# T r y t o f i n d b o t h d e b u g a n d r e l e a s e v e r s i o n
find_library ( MAGNUM_LIBRARY_DEBUG Magnum-d )
find_library ( MAGNUM_LIBRARY_RELEASE Magnum )
mark_as_advanced ( MAGNUM_LIBRARY_DEBUG
M A G N U M _ L I B R A R Y _ R E L E A S E )
# S e t t h e M A G N U M _ L I B R A R Y v a r i a b l e b a s e d o n w h a t w a s f o u n d , u s e t h a t
# i n f o r m a t i o n t o g u e s s a l s o b u i l d t y p e o f d y n a m i c p l u g i n s
if ( MAGNUM_LIBRARY_DEBUG AND MAGNUM_LIBRARY_RELEASE )
set ( MAGNUM_LIBRARY ${ MAGNUM_LIBRARY_RELEASE } )
get_filename_component ( _MAGNUM_LIBRARY_PATH ${ MAGNUM_LIBRARY_DEBUG } PATH )
if ( CMAKE_BUILD_TYPE STREQUAL "Debug" )
set ( _MAGNUM_PLUGINS_DIR_SUFFIX "-d" )
endif ( )
elseif ( MAGNUM_LIBRARY_DEBUG )
set ( MAGNUM_LIBRARY ${ MAGNUM_LIBRARY_DEBUG } )
get_filename_component ( _MAGNUM_LIBRARY_PATH ${ MAGNUM_LIBRARY_DEBUG } PATH )
set ( _MAGNUM_PLUGINS_DIR_SUFFIX "-d" )
elseif ( MAGNUM_LIBRARY_RELEASE )
set ( MAGNUM_LIBRARY ${ MAGNUM_LIBRARY_RELEASE } )
get_filename_component ( _MAGNUM_LIBRARY_PATH ${ MAGNUM_LIBRARY_RELEASE } PATH )
endif ( )
if ( MAGNUM_LIBRARY_RELEASE )
set_property ( TARGET Magnum::Magnum APPEND PROPERTY
I M P O R T E D _ C O N F I G U R A T I O N S R E L E A S E )
set_property ( TARGET Magnum::Magnum PROPERTY
I M P O R T E D _ L O C A T I O N _ R E L E A S E $ { M A G N U M _ L I B R A R Y _ R E L E A S E } )
endif ( )
if ( MAGNUM_LIBRARY_DEBUG )
set_property ( TARGET Magnum::Magnum APPEND PROPERTY
I M P O R T E D _ C O N F I G U R A T I O N S D E B U G )
set_property ( TARGET Magnum::Magnum PROPERTY
I M P O R T E D _ L O C A T I O N _ D E B U G $ { M A G N U M _ L I B R A R Y _ D E B U G } )
endif ( )
# I n c l u d e d i r e c t o r i e s
set_property ( TARGET Magnum::Magnum APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES
$ { M A G N U M _ I N C L U D E _ D I R }
$ { M A G N U M _ I N C L U D E _ D I R } / M a g n u m E x t e r n a l / O p e n G L )
# D e p e n d e n t l i b r a r i e s
set_property ( TARGET Magnum::Magnum APPEND PROPERTY INTERFACE_LINK_LIBRARIES
C o r r a d e : : U t i l i t y
C o r r a d e : : P l u g i n M a n a g e r )
# D e p e n d e n t l i b r a r i e s a n d i n c l u d e s
if ( NOT MAGNUM_TARGET_GLES OR MAGNUM_TARGET_DESKTOP_GLES )
find_package ( OpenGL REQUIRED )
set ( MAGNUM_LIBRARIES ${ MAGNUM_LIBRARIES } ${ OPENGL_gl_LIBRARY } )
elseif ( MAGNUM_TARGET_GLES2 )
set_property ( TARGET Magnum::Magnum APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S $ { O P E N G L _ g l _ L I B R A R Y } )
elseif ( MAGNUM_TARGET_GLES2 )
find_package ( OpenGLES2 REQUIRED )
set ( MAGNUM_LIBRARIES ${ MAGNUM_LIBRARIES } ${ OPENGLES2_LIBRARY } )
elseif ( MAGNUM_TARGET_GLES3 )
set_property ( TARGET Magnum::Magnum APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S O p e n G L E S 2 : : O p e n G L E S 2 )
elseif ( MAGNUM_TARGET_GLES3 )
find_package ( OpenGLES3 REQUIRED )
set ( MAGNUM_LIBRARIES ${ MAGNUM_LIBRARIES } ${ OPENGLES3_LIBRARY } )
endif ( )
# I f t h e c o n f i g u r e f i l e i s s o m e w h e r e e l s e t h a n i n r o o t i n c l u d e dir ( e.g. when
# u s i n g C M a k e s u b p r o j e c t ) , w e n e e d t o i n c l u d e t h a t d i r t o o
if ( NOT ${ MAGNUM_INCLUDE_DIR } /Magnum/configure.h STREQUAL ${ _MAGNUM_CONFIGURE_FILE } )
# G o t w o l e v e l s u p
get_filename_component ( _MAGNUM_CONFIGURE_FILE_INCLUDE_DIR ${ _MAGNUM_CONFIGURE_FILE } DIRECTORY )
get_filename_component ( _MAGNUM_CONFIGURE_FILE_INCLUDE_DIR ${ _MAGNUM_CONFIGURE_FILE_INCLUDE_DIR } DIRECTORY )
list ( APPEND MAGNUM_INCLUDE_DIRS ${ _MAGNUM_CONFIGURE_FILE_INCLUDE_DIR } )
endif ( )
set_property ( TARGET Magnum::Magnum APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S O p e n G L E S 3 : : O p e n G L E S 3 )
endif ( )
# E m s c r i p t e n n e e d s s p e c i a l f l a g t o u s e W e b G L 2
if ( CORRADE_TARGET_EMSCRIPTEN AND NOT MAGNUM_TARGET_GLES2 AND NOT CMAKE_EXE_LINKER_FLAGS MATCHES "USE_WEBGL2" )
# E m s c r i p t e n n e e d s s p e c i a l f l a g t o u s e W e b G L 2
if ( CORRADE_TARGET_EMSCRIPTEN AND NOT MAGNUM_TARGET_GLES2 )
# T O D O : g i v e m e I N T E R F A C E _ L I N K _ O P T I O N S o r s o m e t h i n g , p l e a s e
set ( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s USE_WEBGL2=1" )
endif ( )
endif ( )
# E n s u r e t h a t a l l i n t e r - c o m p o n e n t d e p e n d e n c i e s a r e s p e c i f i e d a s w e l l
set ( _MAGNUM_ADDITIONAL_COMPONENTS )
foreach ( component ${ Magnum_FIND_COMPONENTS } )
string ( TOUPPER ${ component } _COMPONENT )
foreach ( _ component ${ Magnum_FIND_COMPONENTS } )
string ( TOUPPER ${ _ component} _COMPONENT )
# T h e d e p e n d e n c i e s n e e d t o b e s o r t e d b y t h e i r d e p e n d e n c y o r d e r a s w e l l
if ( component STREQUAL Shapes )
if ( _component STREQUAL Shapes )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES SceneGraph )
elseif ( component STREQUAL Text )
elseif ( _ component STREQUAL Text )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES TextureTools )
elseif ( component STREQUAL DebugTools )
elseif ( _ component STREQUAL DebugTools )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES MeshTools Primitives SceneGraph Shaders Shapes )
elseif ( component STREQUAL MagnumFont )
elseif ( _ component STREQUAL MagnumFont )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES TgaImporter ) # a n d b e l o w
elseif ( component STREQUAL MagnumFontConverter )
elseif ( _ component STREQUAL MagnumFontConverter )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES TgaImageConverter ) # a n d b e l o w
elseif ( component STREQUAL ObjImporter )
elseif ( _ component STREQUAL ObjImporter )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES MeshTools )
endif ( )
if ( component MATCHES ".+AudioImporter" )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES ${ _MAGNUM_${ _COMPONENT} _DEPENDENCIES} Audio )
elseif ( component MATCHES ".+(Font|FontConverter)" )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES ${ _MAGNUM_${ _COMPONENT} _DEPENDENCIES} Text TextureTools )
if ( _ component MATCHES ".+AudioImporter" )
list ( APPEND _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES Audio )
elseif ( _ component MATCHES ".+(Font|FontConverter)" )
list ( APPEND _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES Text TextureTools )
endif ( )
list ( APPEND _MAGNUM_ADDITIONAL_COMPONENTS ${ _MAGNUM_${_COMPONENT } _DEPENDENCIES} )
@ -279,227 +323,222 @@ if(Magnum_FIND_COMPONENTS)
list ( REMOVE_DUPLICATES Magnum_FIND_COMPONENTS )
endif ( )
# C o m p o n e n t distinction ( listing them explicitly to avoid mistakes with finding
# c o m p o n e n t s f r o m o t h e r r e p o s i t o r i e s )
set ( _MAGNUM_LIBRARY_COMPONENTS "^(Audio|DebugTools|MeshTools|Primitives|SceneGraph|Shaders|Shapes|Text|TextureTools|GlutApplication|GlxApplication|NaClApplication|Sdl2Application|XEglApplication|WindowlessCglApplication|WindowlessGlxApplication|WindowlessNaClApplication|WindowlessWindowsEglApplication|CglContext|EglContext|GlxContext|WglContext)$" )
set ( _MAGNUM_PLUGIN_COMPONENTS "^(MagnumFont|MagnumFontConverter|ObjImporter|TgaImageConverter|TgaImporter|WavAudioImporter)$" )
set ( _MAGNUM_EXECUTABLE_COMPONENTS "^(distancefieldconverter|fontconverter|info)$" )
# F i n d a l l c o m p o n e n t s
foreach ( component ${ Magnum_FIND_COMPONENTS } )
string ( TOUPPER ${ component } _COMPONENT )
foreach ( _component ${ Magnum_FIND_COMPONENTS } )
string ( TOUPPER ${ _component } _COMPONENT )
# C r e a t e i m p o r t e d t a r g e t i n c a s e t h e l i b r a r y i s f o u n d . I f t h e p r o j e c t i s
# a d d e d a s s u b p r o j e c t t o C M a k e , t h e t a r g e t a l r e a d y e x i s t s a n d a l l t h e
# r e q u i r e d s e t u p i s a l r e a d y d o n e f r o m t h e b u i l d t r e e .
if ( TARGET Magnum:: ${ _component } )
set ( Magnum_ ${ _component } _FOUND TRUE )
else ( )
# L i b r a r y c o m p o n e n t s
if ( _component MATCHES ${ _MAGNUM_LIBRARY_COMPONENTS } )
add_library ( Magnum:: ${ _component } UNKNOWN IMPORTED )
# S e t l i b r a r y d e f a u l t s , f i n d t h e l i b r a r y
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_SUFFIX Magnum/ ${ _component } )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES ${ _component } .h )
# T r y t o f i n d b o t h d e b u g a n d r e l e a s e v e r s i o n
find_library ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG Magnum ${ _component } -d )
find_library ( MAGNUM_ ${ _COMPONENT } _LIBRARY_RELEASE Magnum ${ _component } )
mark_as_advanced ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG
M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y _ R E L E A S E )
endif ( )
# P l u g i n c o m p o n e n t s
if ( _component MATCHES ${ _MAGNUM_PLUGIN_COMPONENTS } )
add_library ( Magnum:: ${ _component } UNKNOWN IMPORTED )
# A u d i o I m p o r t e r p l u g i n s p e c i f i c n a m e s u f f i x e s
if ( ${ component } MATCHES ".+AudioImporter$" )
set ( _MAGNUM_ ${ _COMPONENT } _IS_PLUGIN 1 )
if ( _component MATCHES ".+AudioImporter$" )
set ( _MAGNUM_ ${ _COMPONENT } _PATH_SUFFIX audioimporters )
# A u d i o i m p o r t e r c l a s s i s A u d i o : : * I m p o r t e r , t h u s w e n e e d t o c o n v e r t
# * A u d i o I m p o r t e r . h t o * I m p o r t e r . h
string ( REPLACE "AudioImporter" "Importer" _MAGNUM_ ${ _COMPONENT } _HEADER_NAME "${component}" )
# A u d i o i m p o r t e r c l a s s i s A u d i o : : * I m p o r t e r , t h u s w e n e e d t o
# c o n v e r t * A u d i o I m p o r t e r . h t o * I m p o r t e r . h
string ( REPLACE "AudioImporter" "Importer" _MAGNUM_ ${ _COMPONENT } _HEADER_NAME "${_ component}" )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES ${ _MAGNUM_${_COMPONENT } _HEADER_NAME}.h )
# I m p o r t e r p l u g i n s p e c i f i c n a m e s u f f i x e s
elseif ( ${ component } MATCHES ".+Importer$" )
set ( _MAGNUM_ ${ _COMPONENT } _IS_PLUGIN 1 )
elseif ( _component MATCHES ".+Importer$" )
set ( _MAGNUM_ ${ _COMPONENT } _PATH_SUFFIX importers )
# F o n t p l u g i n s p e c i f i c n a m e s u f f i x e s
elseif ( ${ component } MATCHES ".+Font$" )
set ( _MAGNUM_ ${ _COMPONENT } _IS_PLUGIN 1 )
elseif ( _component MATCHES ".+Font$" )
set ( _MAGNUM_ ${ _COMPONENT } _PATH_SUFFIX fonts )
# I m a g e C o n v e r t e r p l u g i n s p e c i f i c n a m e s u f f i x e s
elseif ( ${ component } MATCHES ".+ImageConverter$" )
set ( _MAGNUM_ ${ _COMPONENT } _IS_PLUGIN 1 )
elseif ( _component MATCHES ".+ImageConverter$" )
set ( _MAGNUM_ ${ _COMPONENT } _PATH_SUFFIX imageconverters )
# F o n t C o n v e r t e r p l u g i n s p e c i f i c n a m e s u f f i x e s
elseif ( ${ component } MATCHES ".+FontConverter$" )
set ( _MAGNUM_ ${ _COMPONENT } _IS_PLUGIN 1 )
elseif ( _component MATCHES ".+FontConverter$" )
set ( _MAGNUM_ ${ _COMPONENT } _PATH_SUFFIX fontconverters )
endif ( )
# S e t p l u g i n d e f a u l t s , f i n d t h e p l u g i n
if ( _MAGNUM_ ${ _COMPONENT } _IS_PLUGIN )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_SUFFIX MagnumPlugins/ ${ component } )
# D o n ' t o v e r r i d e t h e o n e f o r * A u d i o I m p o r t e r p l u g i n s
# D o n ' t o v e r r i d e t h e e x c e p t i o n f o r * A u d i o I m p o r t e r p l u g i n s
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_SUFFIX MagnumPlugins/ ${ _component } )
if ( NOT _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES ${ component } .h )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES ${ _component } .h )
endif ( )
# D y n a m i c p l u g i n s d o n ' t h a v e a n y prefix ( e.g. `lib` on Linux ) , s e a r c h
# w i t h e m p t y p r e f i x a n d t h e n r e s e t t h a t b a c k s o w e d o n ' t a c c i d e n t a l y
# b r e a k s o m e t h i n g e l s e
# D y n a m i c p l u g i n s d o n ' t h a v e a n y prefix ( e.g. `lib` on Linux ) ,
# s e a r c h w i t h e m p t y p r e f i x a n d t h e n r e s e t t h a t b a c k s o w e d o n ' t
# a c c i d e n t a l y b r e a k s o m e t h i n g e l s e
set ( _tmp_prefixes ${ CMAKE_FIND_LIBRARY_PREFIXES } )
set ( CMAKE_FIND_LIBRARY_PREFIXES ${ CMAKE_FIND_LIBRARY_PREFIXES } "" )
find_library ( MAGNUM_ ${ _COMPONENT } _LIBRARY ${ component }
P A T H _ S U F F I X E S m a g n u m / $ { _ M A G N U M _ $ { _ C O M P O N E N T } _ P A T H _ S U F F I X } )
# T r y t o f i n d b o t h d e b u g a n d r e l e a s e v e r s i o n . D y n a m i c a n d s t a t i c d e b u g
# l i b r a r i e s a r e o n d i f f e r e n t p l a c e s .
find_library ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG ${ component }
# T r y t o f i n d b o t h d e b u g a n d r e l e a s e v e r s i o n . D y n a m i c a n d s t a t i c
# d e b u g l i b r a r i e s a r e i n d i f f e r e n t p l a c e s .
find_library ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG ${ _component }
P A T H _ S U F F I X E S m a g n u m - d / $ { _ M A G N U M _ $ { _ C O M P O N E N T } _ P A T H _ S U F F I X } )
find_library ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG ${ component } -d
find_library ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG ${ _component } -d
P A T H _ S U F F I X E S m a g n u m / $ { _ M A G N U M _ $ { _ C O M P O N E N T } _ P A T H _ S U F F I X } )
find_library ( MAGNUM_ ${ _COMPONENT } _LIBRARY_RELEASE ${ component }
find_library ( MAGNUM_ ${ _COMPONENT } _LIBRARY_RELEASE ${ _ component}
P A T H _ S U F F I X E S m a g n u m / $ { _ M A G N U M _ $ { _ C O M P O N E N T } _ P A T H _ S U F F I X } )
mark_as_advanced ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG
M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y _ R E L E A S E )
# S e t t h e _ L I B R A R Y v a r i a b l e b a s e d o n w h a t w a s f o u n d
if ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG AND MAGNUM_ ${ _COMPONENT } _LIBRARY_RELEASE )
set ( MAGNUM_ ${ _COMPONENT } _LIBRARY
d e b u g $ { M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y _ D E B U G }
o p t i m i z e d $ { M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y _ R E L E A S E } )
elseif ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG )
set ( MAGNUM_ ${ _COMPONENT } _LIBRARY ${ MAGNUM_${_COMPONENT } _LIBRARY_DEBUG} )
elseif ( MAGNUM_ ${ _COMPONENT } _LIBRARY_RELEASE )
set ( MAGNUM_ ${ _COMPONENT } _LIBRARY ${ MAGNUM_${_COMPONENT } _LIBRARY_RELEASE} )
# R e s e t b a c k
set ( CMAKE_FIND_LIBRARY_PREFIXES ${ _tmp_prefixes } )
endif ( )
set ( CMAKE_FIND_LIBRARY_PREFIXES ${ _tmp_prefixes } )
# L i b r a r y l o c a t i o n f o r l i b r a r i e s / p l u g i n s
if ( _component MATCHES ${ _MAGNUM_LIBRARY_COMPONENTS } OR _component MATCHES ${ _MAGNUM_PLUGIN_COMPONENTS } )
if ( MAGNUM_ ${ _COMPONENT } _LIBRARY_RELEASE )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I M P O R T E D _ C O N F I G U R A T I O N S R E L E A S E )
set_property ( TARGET Magnum:: ${ _component } PROPERTY
I M P O R T E D _ L O C A T I O N _ R E L E A S E $ { M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y _ R E L E A S E } )
endif ( )
# S e t l i b r a r y d e f a u l t s , f i n d t h e l i b r a r y
else ( )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_SUFFIX Magnum/ ${ component } )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES ${ component } .h )
if ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I M P O R T E D _ C O N F I G U R A T I O N S D E B U G )
set_property ( TARGET Magnum:: ${ _component } PROPERTY
I M P O R T E D _ L O C A T I O N _ D E B U G $ { M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y _ D E B U G } )
endif ( )
endif ( )
# T r y t o f i n d b o t h d e b u g a n d r e l e a s e v e r s i o n
find_library ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG Magnum ${ component } -d )
find_library ( MAGNUM_ ${ _COMPONENT } _LIBRARY_RELEASE Magnum ${ component } )
# E x e c u t a b l e s
if ( _component MATCHES ${ _MAGNUM_EXECUTABLE_COMPONENTS } )
add_executable ( Magnum:: ${ _component } IMPORTED )
find_program ( MAGNUM_ ${ _COMPONENT } _EXECUTABLE magnum- ${ _component } )
mark_as_advanced ( MAGNUM_ ${ _COMPONENT } _EXECUTABLE )
# S e t t h e _ L I B R A R Y v a r i a b l e b a s e d o n w h a t w a s f o u n d
if ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG AND MAGNUM_ ${ _COMPONENT } _LIBRARY_RELEASE )
set ( MAGNUM_ ${ _COMPONENT } _LIBRARY
d e b u g $ { M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y _ D E B U G }
o p t i m i z e d $ { M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y _ R E L E A S E } )
elseif ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG )
set ( MAGNUM_ ${ _COMPONENT } _LIBRARY ${ MAGNUM_${_COMPONENT } _LIBRARY_DEBUG} )
elseif ( MAGNUM_ ${ _COMPONENT } _LIBRARY_RELEASE )
set ( MAGNUM_ ${ _COMPONENT } _LIBRARY ${ MAGNUM_${_COMPONENT } _LIBRARY_RELEASE} )
if ( MAGNUM_ ${ _COMPONENT } _EXECUTABLE )
set_property ( TARGET Magnum:: ${ _component } PROPERTY
I M P O R T E D _ L O C A T I O N $ { M A G N U M _ $ { _ C O M P O N E N T } _ E X E C U T A B L E } )
endif ( )
endif ( )
# A p p l i c a t i o n s
if ( ${ component } MATCHES ".+Application" )
if ( _component MATCHES ".+Application" )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_SUFFIX Magnum/Platform )
# A n d r o i d a p p l i c a t i o n d e p e n d e n c i e s
if ( ${ component } STREQUAL AndroidApplication )
if ( _ component STREQUAL AndroidApplication )
find_package ( EGL )
if ( EGL_FOUND )
set ( _MAGNUM_ ${ _COMPONENT } _LIBRARIES android ${ EGL_LIBRARY } )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_DIRS ${ ANDROID_NATIVE_APP_GLUE_INCLUDE_DIR } )
else ( )
unset ( MAGNUM_ ${ _COMPONENT } _LIBRARY )
endif ( )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
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 $ { A N D R O I D _ N A T I V E _ A P P _ G L U E _ I N C L U D E _ D I R } )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S a n d r o i d E G L : : E G L )
# G L U T a p p l i c a t i o n d e p e n d e n c i e s
elseif ( ${ component } STREQUAL GlutApplication )
elseif ( _ component STREQUAL GlutApplication )
find_package ( GLUT )
if ( GLUT_FOUND )
set ( _MAGNUM_ ${ _COMPONENT } _LIBRARIES ${ GLUT_glut_LIBRARY } )
else ( )
unset ( MAGNUM_ ${ _COMPONENT } _LIBRARY )
endif ( )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
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 $ { G L U T _ I N C L U D E _ D I R } )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S $ { G L U T _ g l u t _ L I B R A R Y } )
# S D L 2 a p p l i c a t i o n d e p e n d e n c i e s
elseif ( ${ component } STREQUAL Sdl2Application )
elseif ( _ component STREQUAL Sdl2Application )
find_package ( SDL2 )
if ( SDL2_FOUND )
set ( _MAGNUM_ ${ _COMPONENT } _LIBRARIES ${ SDL2_LIBRARIES } )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_DIRS ${ SDL2_INCLUDE_DIRS } )
else ( )
unset ( MAGNUM_ ${ _COMPONENT } _LIBRARY )
endif ( )
# F i n d a l s o E G L l i b r a r y , i f o n ES ( and not on WebGL )
if ( MAGNUM_TARGET_GLES AND NOT MAGNUM_TARGET_DESKTOP_GLES AND NOT MAGNUM_TARGET_WEBGL )
find_package ( EGL )
if ( EGL_FOUND )
list ( APPEND _MAGNUM_ ${ _COMPONENT } _LIBRARIES ${ EGL_LIBRARY } )
else ( )
unset ( MAGNUM_ ${ _COMPONENT } _LIBRARY )
endif ( )
endif ( )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S S D L 2 : : S D L 2 )
# ( W i n d o w l e s s ) N a C l a p p l i c a t i o n d e p e n d e n c i e s
elseif ( ${ component } STREQUAL NaClApplication OR ${ component } STREQUAL WindowlessNaClApplication )
set ( _MAGNUM_ ${ _COMPONENT } _LIBRARIES ppapi_cpp ppapi )
elseif ( _component STREQUAL NaClApplication OR _component STREQUAL WindowlessNaClApplication )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S p p a p i _ c p p p p a p i )
# ( W i n d o w l e s s ) G L X a p p l i c a t i o n d e p e n d e n c i e s
elseif ( ${ component } STREQUAL GlxApplication OR ${ component } STREQUAL WindowlessGlxApplication )
elseif ( _component STREQUAL GlxApplication OR _component STREQUAL WindowlessGlxApplication )
find_package ( X11 )
if ( X11_FOUND )
set ( _MAGNUM_ ${ _COMPONENT } _LIBRARIES ${ X11_LIBRARIES } )
else ( )
unset ( MAGNUM_ ${ _COMPONENT } _LIBRARY )
endif ( )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
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 } )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S $ { X 1 1 _ L I B R A R I E S } )
# 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 a s n o a d d i t i o n a l d e p e n d e n c i e s
# 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 a s n o a d d i t i o n a l d e p e n d e n c i e s
# 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 d e p e n d e n c i e s
elseif ( ${ component } STREQUAL WindowlessWindowsEglApplication )
elseif ( _ component STREQUAL WindowlessWindowsEglApplication )
find_package ( EGL )
if ( EGL_FOUND )
set ( _MAGNUM_ ${ _COMPONENT } _LIBRARIES ${ EGL_LIBRARY } )
else ( )
unset ( MAGNUM_ ${ _COMPONENT } _LIBRARY )
endif ( )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S E G L : : E G L )
# X / E G L a p p l i c a t i o n d e p e n d e n c i e s
elseif ( ${ component } STREQUAL XEglApplication )
elseif ( _component STREQUAL XEglApplication )
find_package ( EGL )
find_package ( X11 )
if ( EGL_FOUND AND X11_FOUND )
set ( _MAGNUM_ ${ _COMPONENT } _LIBRARIES ${ EGL_LIBRARY } ${ X11_LIBRARIES } )
else ( )
unset ( MAGNUM_ ${ _COMPONENT } _LIBRARY )
endif ( )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
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 } )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S E G L : : E G L $ { X 1 1 _ L I B R A R I E S } )
endif ( )
# C o n t e x t l i b r a r i e s
elseif ( ${ component } MATCHES ".+Context" )
elseif ( _ component MATCHES ".+Context" )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_SUFFIX Magnum/Platform )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES Context.h )
# G L X c o n t e x t d e p e n d e n c i e s
if ( ${ component } STREQUAL GlxContext )
if ( _ component STREQUAL GlxContext )
find_package ( X11 )
if ( X11_FOUND )
set ( _MAGNUM_ ${ _COMPONENT } _LIBRARIES ${ X11_LIBRARIES } )
else ( )
unset ( MAGNUM_ ${ _COMPONENT } _LIBRARY )
endif ( )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
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 } )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S $ { X 1 1 _ L I B R A R I E S } )
endif ( )
# E G L c o n t e x t d e p e n d e n c i e s
if ( ${ component } STREQUAL EglContext )
if ( _ component STREQUAL EglContext )
find_package ( EGL )
if ( EGL_FOUND )
set ( _MAGNUM_ ${ _COMPONENT } _LIBRARIES ${ EGL_LIBRARIES } )
else ( )
unset ( MAGNUM_ ${ _COMPONENT } _LIBRARY )
endif ( )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S E G L : : E G L )
endif ( )
# N o a d d i t i o n a l d e p e n d e n c i e s f o r C G L c o n t e x t
# N o a d d i t i o n a l d e p e n d e n c i e s f o r W G L c o n t e x t
# A u d i o l i b r a r y
elseif ( ${ component } STREQUAL Audio )
elseif ( _ component STREQUAL Audio )
find_package ( OpenAL )
if ( OPENAL_FOUND )
set ( _MAGNUM_ ${ _COMPONENT } _LIBRARIES ${ OPENAL_LIBRARY } )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_DIRS ${ OPENAL_INCLUDE_DIR } )
else ( )
unset ( MAGNUM_ ${ _COMPONENT } _LIBRARY )
endif ( )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
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 $ { O P E N A L _ I N C L U D E _ D I R } )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S $ { O P E N A L _ L I B R A R Y } )
# N o s p e c i a l s e t u p f o r D e b u g T o o l s l i b r a r y
# M e s h t o o l s l i b r a r y
elseif ( ${ component } STREQUAL MeshTools )
elseif ( _ component STREQUAL MeshTools )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES CompressIndices.h )
# P r i m i t i v e s l i b r a r y
elseif ( ${ component } STREQUAL Primitives )
elseif ( _ component STREQUAL Primitives )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES Cube.h )
# N o s p e c i a l s e t u p f o r S c e n e G r a p h l i b r a r y
@ -508,94 +547,163 @@ foreach(component ${Magnum_FIND_COMPONENTS})
# N o s p e c i a l s e t u p f o r T e x t l i b r a r y
# T e x t u r e T o o l s l i b r a r y
elseif ( ${ component } STREQUAL TextureTools )
elseif ( _ component STREQUAL TextureTools )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES Atlas.h )
endif ( )
# N o s p e c i a l s e t u p f o r p l u g i n s
# T r y t o f i n d t h e i n c l u d e s
if ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES )
# F i n d l i b r a r y / p l u g i n i n c l u d e s
if ( _component MATCHES ${ _MAGNUM_LIBRARY_COMPONENTS } OR _component MATCHES ${ _MAGNUM_PLUGIN_COMPONENTS } )
find_path ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_DIR
N A M E S $ { _ M A G N U M _ $ { _ C O M P O N E N T } _ I N C L U D E _ P A T H _ N A M E S }
H I N T S $ { M A G N U M _ I N C L U D E _ D I R } / $ { _ M A G N U M _ $ { _ C O M P O N E N T } _ I N C L U D E _ P A T H _ S U F F I X } )
mark_as_advanced ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_DIR )
endif ( )
# A d d i n t e r - p r o j e c t d e p e n d e n c i e s , m a r k t h e c o m p o n e n t a s n o t f o u n d i f
# a n y d e p e n d e n c y i s n o t f o u n d
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCY_LIBRARIES )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCY_INCLUDE_DIRS )
foreach ( dependency ${ _MAGNUM_${_COMPONENT } _DEPENDENCIES} )
string ( TOUPPER ${ dependency } _DEPENDENCY )
if ( MAGNUM_ ${ _DEPENDENCY } _LIBRARY )
list ( APPEND _MAGNUM_ ${ _COMPONENT } _DEPENDENCY_LIBRARIES ${ MAGNUM_${_DEPENDENCY } _LIBRARY} ${ _MAGNUM_${_DEPENDENCY } _LIBRARIES} )
list ( APPEND _MAGNUM_ ${ _COMPONENT } _DEPENDENCY_INCLUDE_DIRS ${ _MAGNUM_${_DEPENDENCY } _INCLUDE_DIRS} )
else ( )
unset ( MAGNUM_ ${ _COMPONENT } _LIBRARY )
endif ( )
# L i n k t o c o r e M a g n u m l i b r a r y , a d d i n t e r - l i b r a r y d e p e n d e n c i e s
if ( _component MATCHES ${ _MAGNUM_LIBRARY_COMPONENTS } OR _component MATCHES ${ _MAGNUM_PLUGIN_COMPONENTS } )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S M a g n u m : : M a g n u m )
foreach ( _dependency ${ _MAGNUM_${_COMPONENT } _DEPENDENCIES} )
set_property ( TARGET Magnum:: ${ _component } APPEND PROPERTY
I N T E R F A C E _ L I N K _ L I B R A R I E S M a g n u m : : $ { _ d e p e n d e n c y } )
endforeach ( )
endif ( )
# D e c i d e i f t h e l i b r a r y w a s f o u n d
if ( MAGNUM_ ${ _COMPONENT } _LIBRARY AND _MAGNUM_ ${ _COMPONENT } _INCLUDE_DIR )
set ( MAGNUM_ ${ _COMPONENT } _LIBRARIES
$ { M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y }
$ { _ M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R I E S }
$ { _ M A G N U M _ $ { _ C O M P O N E N T } _ D E P E N D E N C Y _ L I B R A R I E S }
$ { M A G N U M _ L I B R A R I E S } )
set ( MAGNUM_ ${ _COMPONENT } _INCLUDE_DIRS
$ { _ M A G N U M _ $ { _ C O M P O N E N T } _ I N C L U D E _ D I R S }
$ { _ M A G N U M _ $ { _ C O M P O N E N T } _ D E P E N D E N C Y _ I N C L U D E _ D I R S } )
set ( Magnum_ ${ component } _FOUND TRUE )
# D o n ' t e x p o s e v a r i a b l e s w / o d e p e n d e n c i e s t o e n d u s e r s
mark_as_advanced ( FORCE
M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y _ D E B U G
M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y _ R E L E A S E
M A G N U M _ $ { _ C O M P O N E N T } _ L I B R A R Y
_ M A G N U M _ $ { _ C O M P O N E N T } _ I N C L U D E _ D I R )
# G l o b a l a l i a s e s f o r W i n d o w l e s s * A p p l i c a t i o n a n d * A p p l i c a t i o n
if ( ( ( _component MATCHES ${ _MAGNUM_LIBRARY_COMPONENTS } OR _component MATCHES ${ _MAGNUM_PLUGIN_COMPONENTS } ) AND _MAGNUM_ ${ _COMPONENT } _INCLUDE_DIR AND ( MAGNUM_ ${ _COMPONENT } _LIBRARY_DEBUG OR MAGNUM_ ${ _COMPONENT } _LIBRARY_RELEASE ) ) OR ( _component MATCHES ${ _MAGNUM_EXECUTABLE_COMPONENTS } AND MAGNUM_ ${ _COMPONENT } _EXECUTABLE ) )
set ( Magnum_ ${ _component } _FOUND TRUE )
else ( )
set ( Magnum_ ${ _component } _FOUND FALSE )
endif ( )
endif ( )
# G l o b a l a l i a s e s f o r W i n d o w l e s s * A p p l i c a t i o n , * A p p l i c a t i o n a n d * C o n t e x t
# c o m p o n e n t s . I f a l r e a d y s e t , u n s e t t h e m t o a v o i d a m b i g u i t y .
if ( ${ component } MATCHES "Windowless.+Application" )
if ( NOT DEFINED MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES AND NOT DEFINED MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS )
set ( MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES ${ MAGNUM_${_COMPONENT } _LIBRARIES} )
set ( MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS ${ MAGNUM_${_COMPONENT } _INCLUDE_DIRS} )
elseif ( NOT MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES STREQUAL MAGNUM_ ${ _COMPONENT } _LIBRARIES AND NOT MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS STREQUAL MAGNUM_ ${ _COMPONENT } _INCLUDE_DIRS )
set ( MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES-NOTFOUND )
set ( MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS-NOTFOUND )
endif ( )
elseif ( ${ component } MATCHES ".+Application" )
if ( NOT DEFINED MAGNUM_APPLICATION_LIBRARIES AND NOT DEFINED MAGNUM_APPLICATION_INCLUDE_DIRS )
set ( MAGNUM_APPLICATION_LIBRARIES ${ MAGNUM_${_COMPONENT } _LIBRARIES} )
set ( MAGNUM_APPLICATION_INCLUDE_DIRS ${ MAGNUM_${_COMPONENT } _INCLUDE_DIRS} )
else ( NOT MAGNUM_APPLICATION_LIBRARIES STREQUAL MAGNUM_ ${ _COMPONENT } _LIBRARIES AND NOT MAGNUM_APPLICATION_INCLUDE_DIRS STREQUAL MAGNUM_ ${ _COMPONENT } _INCLUDE_DIRS )
set ( MAGNUM_APPLICATION_LIBRARIES MAGNUM_APPLICATION_LIBRARIES-NOTFOUND )
set ( MAGNUM_APPLICATION_INCLUDE_DIRS MAGNUM_APPLICATION_INCLUDE_DIRS-NOTFOUND )
endif ( )
endif ( )
# G l o b a l a l i a s e s f o r * C o n t e x t c o m p o n e n t s . I f a l r e a d y s e t , u n s e t t h e m t o
# a v o i d a m b i g u i t y .
if ( ${ component } MATCHES ".+Context" )
if ( NOT DEFINED MAGNUM_CONTEXT_LIBRARIES AND NOT DEFINED MAGNUM_CONTEXT_INCLUDE_DIRS )
set ( MAGNUM_CONTEXT_LIBRARIES ${ MAGNUM_${_COMPONENT } _LIBRARIES} )
set ( MAGNUM_CONTEXT_INCLUDE_DIRS ${ MAGNUM_${_COMPONENT } _INCLUDE_DIRS} )
if ( _component MATCHES "Windowless.+Application" )
if ( NOT DEFINED _MAGNUM_WINDOWLESSAPPLICATION_ALIAS )
set ( _MAGNUM_WINDOWLESSAPPLICATION_ALIAS Magnum:: ${ _component } )
else ( )
unset ( MAGNUM_CONTEXT_LIBRARIES )
unset ( MAGNUM_CONTEXT_INCLUDE_DIRS )
unset ( _MAGNUM_WINDOWLESSAPPLICATION_ALIAS )
endif ( )
elseif ( _component MATCHES ".+Application" )
if ( NOT DEFINED _MAGNUM_APPLICATION_ALIAS )
set ( _MAGNUM_APPLICATION_ALIAS Magnum:: ${ _component } )
else ( )
unset ( _MAGNUM_APPLICATION_ALIAS )
endif ( )
elseif ( _component MATCHES ".+Context" )
if ( NOT DEFINED _MAGNUM_CONTEXT_ALIAS )
set ( _MAGNUM_CONTEXT_ALIAS Magnum:: ${ _component } )
else ( )
set ( Magnum_ ${ component } _FOUND FALSE )
unset ( _MAGNUM_CONTEXT_ALIAS )
endif ( )
endif ( )
# D e p r e c a t e d v a r i a b l e s
if ( MAGNUM_BUILD_DEPRECATED AND _component MATCHES ${ _MAGNUM_LIBRARY_COMPONENTS } OR _component MATCHES ${ _MAGNUM_PLUGIN_COMPONENTS } )
set ( MAGNUM_ ${ _COMPONENT } _LIBRARIES Magnum:: ${ _component } )
endif ( )
endforeach ( )
# C o m p l e t e t h e c h e c k w i t h a l s o a l l c o m p o n e n t s
include ( FindPackageHandleStandardArgs )
find_package_handle_standard_args ( Magnum
R E Q U I R E D _ V A R S M A G N U M _ L I B R A R Y M A G N U M _ I N C L U D E _ D I R
H A N D L E _ C O M P O N E N T S )
# C r e a t e W i n d o w l e s s * A p p l i c a t i o n , * A p p l i c a t i o n a n d * C o n t e x t a l i a s e s
# T O D O : u g h w h y c a n ' t I m a k e a n a l i a s o f I M P O R T E D t a r g e t ?
if ( _MAGNUM_WINDOWLESSAPPLICATION_ALIAS AND NOT TARGET Magnum::WindowlessApplication )
get_target_property ( _MAGNUM_WINDOWLESSAPPLICATION_ALIASED_TARGET ${ _MAGNUM_WINDOWLESSAPPLICATION_ALIAS } ALIASED_TARGET )
if ( _MAGNUM_WINDOWLESSAPPLICATION_ALIASED_TARGET )
add_library ( ${ _MAGNUM_WINDOWLESSAPPLICATION_ALIAS } ALIAS ${ _MAGNUM_WINDOWLESSAPPLICATION_ALIASED_TARGET } )
else ( )
add_library ( Magnum::WindowlessApplication UNKNOWN IMPORTED )
get_target_property ( _MAGNUM_WINDOWLESSAPPLICATION_IMPORTED_CONFIGURATIONS ${ _MAGNUM_WINDOWLESSAPPLICATION_ALIAS } IMPORTED_CONFIGURATIONS )
get_target_property ( _MAGNUM_WINDOWLESSAPPLICATION_IMPORTED_LOCATION_RELEASE ${ _MAGNUM_WINDOWLESSAPPLICATION_ALIAS } IMPORTED_LOCATION_RELEASE )
get_target_property ( _MAGNUM_WINDOWLESSAPPLICATION_IMPORTED_LOCATION_DEBUG ${ _MAGNUM_WINDOWLESSAPPLICATION_ALIAS } IMPORTED_LOCATION_DEBUG )
set_target_properties ( Magnum::WindowlessApplication PROPERTIES
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 _ W I N D O W L E S S A P P L I C A T I O N _ A L I A S } , 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 >
I N T E R F A C E _ C O M P I L E _ D E F I N I T I O N S $ < T A R G E T _ P R O P E R T Y : $ { _ M A G N U M _ W I N D O W L E S S A P P L I C A T I O N _ A L I A S } , I N T E R F A C E _ C O M P I L E _ D E F I N I T I O N S >
I N T E R F A C E _ C O M P I L E _ O P T I O N S $ < T A R G E T _ P R O P E R T Y : $ { _ M A G N U M _ W I N D O W L E S S A P P L I C A T I O N _ A L I A S } , I N T E R F A C E _ C O M P I L E _ O P T I O N S >
I N T E R F A C E _ L I N K _ L I B R A R I E S $ < T A R G E T _ P R O P E R T Y : $ { _ M A G N U M _ W I N D O W L E S S A P P L I C A T I O N _ A L I A S } , I N T E R F A C E _ L I N K _ L I B R A R I E S >
I M P O R T E D _ C O N F I G U R A T I O N S $ { _ M A G N U M _ W I N D O W L E S S A P P L I C A T I O N _ I M P O R T E D _ C O N F I G U R A T I O N S } )
if ( _MAGNUM_WINDOWLESSAPPLICATION_IMPORTED_LOCATION_RELEASE )
set_target_properties ( Magnum::WindowlessApplication PROPERTIES
I M P O R T E D _ L O C A T I O N _ R E L E A S E $ { _ M A G N U M _ W I N D O W L E S S A P P L I C A T I O N _ I M P O R T E D _ L O C A T I O N _ R E L E A S E } )
endif ( )
if ( _MAGNUM_WINDOWLESSAPPLICATION_IMPORTED_LOCATION_DEBUG )
set_target_properties ( Magnum::WindowlessApplication PROPERTIES
I M P O R T E D _ L O C A T I O N _ D E B U G $ { _ M A G N U M _ W I N D O W L E S S A P P L I C A T I O N _ I M P O R T E D _ L O C A T I O N _ D E B U G } )
endif ( )
endif ( )
if ( MAGNUM_BUILD_DEPRECATED )
set ( MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES Magnum::WindowlessApplication )
endif ( )
# P r e v e n t c r e a t i n g t h e a l i a s a g a i n
unset ( _MAGNUM_WINDOWLESSAPPLICATION_ALIAS )
endif ( )
if ( _MAGNUM_APPLICATION_ALIAS AND NOT TARGET Magnum::Application )
get_target_property ( _MAGNUM_APPLICATION_ALIASED_TARGET ${ _MAGNUM_APPLICATION_ALIAS } ALIASED_TARGET )
if ( _MAGNUM_APPLICATION_ALIASED_TARGET )
add_library ( ${ _MAGNUM_APPLICATION_ALIAS } ALIAS ${ _MAGNUM_APPLICATION_ALIASED_TARGET } )
else ( )
add_library ( Magnum::Application UNKNOWN IMPORTED )
get_target_property ( _MAGNUM_APPLICATION_IMPORTED_CONFIGURATIONS ${ _MAGNUM_APPLICATION_ALIAS } IMPORTED_CONFIGURATIONS )
get_target_property ( _MAGNUM_APPLICATION_IMPORTED_LOCATION_RELEASE ${ _MAGNUM_APPLICATION_ALIAS } IMPORTED_LOCATION_RELEASE )
get_target_property ( _MAGNUM_APPLICATION_IMPORTED_LOCATION_DEBUG ${ _MAGNUM_APPLICATION_ALIAS } IMPORTED_LOCATION_DEBUG )
set_target_properties ( Magnum::Application PROPERTIES
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 _ A P P L I C A T I O N _ A L I A S } , 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 >
I N T E R F A C E _ C O M P I L E _ D E F I N I T I O N S $ < T A R G E T _ P R O P E R T Y : $ { _ M A G N U M _ A P P L I C A T I O N _ A L I A S } , I N T E R F A C E _ C O M P I L E _ D E F I N I T I O N S >
I N T E R F A C E _ C O M P I L E _ O P T I O N S $ < T A R G E T _ P R O P E R T Y : $ { _ M A G N U M _ A P P L I C A T I O N _ A L I A S } , I N T E R F A C E _ C O M P I L E _ O P T I O N S >
I N T E R F A C E _ L I N K _ L I B R A R I E S $ < T A R G E T _ P R O P E R T Y : $ { _ M A G N U M _ A P P L I C A T I O N _ A L I A S } , I N T E R F A C E _ L I N K _ L I B R A R I E S >
I M P O R T E D _ C O N F I G U R A T I O N S $ { _ M A G N U M _ A P P L I C A T I O N _ I M P O R T E D _ C O N F I G U R A T I O N S } )
if ( _MAGNUM_APPLICATION_IMPORTED_LOCATION_RELEASE )
set_target_properties ( Magnum::Application PROPERTIES
I M P O R T E D _ L O C A T I O N _ R E L E A S E $ { _ M A G N U M _ A P P L I C A T I O N _ I M P O R T E D _ L O C A T I O N _ R E L E A S E } )
endif ( )
if ( _MAGNUM_APPLICATION_IMPORTED_LOCATION_DEBUG )
set_target_properties ( Magnum::Application PROPERTIES
I M P O R T E D _ L O C A T I O N _ D E B U G $ { _ M A G N U M _ A P P L I C A T I O N _ I M P O R T E D _ L O C A T I O N _ D E B U G } )
endif ( )
endif ( )
if ( MAGNUM_BUILD_DEPRECATED )
set ( MAGNUM_APPLICATION_LIBRARIES Magnum::Application )
endif ( )
# P r e v e n t c r e a t i n g t h e a l i a s a g a i n
unset ( _MAGNUM_APPLICATION_ALIAS )
endif ( )
if ( _MAGNUM_CONTEXT_ALIAS AND NOT TARGET Magnum::Context )
get_target_property ( _MAGNUM_CONTEXT_ALIASED_TARGET ${ _MAGNUM_CONTEXT_ALIAS } ALIASED_TARGET )
if ( _MAGNUM_CONTEXT_ALIASED_TARGET )
add_library ( ${ _MAGNUM_CONTEXT_ALIAS } ALIAS ${ _MAGNUM_CONTEXT_ALIASED_TARGET } )
else ( )
add_library ( Magnum::Context UNKNOWN IMPORTED )
get_target_property ( _MAGNUM_CONTEXT_IMPORTED_CONFIGURATIONS ${ _MAGNUM_CONTEXT_ALIAS } IMPORTED_CONFIGURATIONS )
get_target_property ( _MAGNUM_CONTEXT_IMPORTED_LOCATION_RELEASE ${ _MAGNUM_CONTEXT_ALIAS } IMPORTED_LOCATION_RELEASE )
get_target_property ( _MAGNUM_CONTEXT_IMPORTED_LOCATION_DEBUG ${ _MAGNUM_CONTEXT_ALIAS } IMPORTED_LOCATION_DEBUG )
set_target_properties ( Magnum::Context PROPERTIES
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 _ C O N T E X T _ A L I A S } , 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 >
I N T E R F A C E _ C O M P I L E _ D E F I N I T I O N S $ < T A R G E T _ P R O P E R T Y : $ { _ M A G N U M _ C O N T E X T _ A L I A S } , I N T E R F A C E _ C O M P I L E _ D E F I N I T I O N S >
I N T E R F A C E _ C O M P I L E _ O P T I O N S $ < T A R G E T _ P R O P E R T Y : $ { _ M A G N U M _ C O N T E X T _ A L I A S } , I N T E R F A C E _ C O M P I L E _ O P T I O N S >
I N T E R F A C E _ L I N K _ L I B R A R I E S $ < T A R G E T _ P R O P E R T Y : $ { _ M A G N U M _ C O N T E X T _ A L I A S } , I N T E R F A C E _ L I N K _ L I B R A R I E S >
I M P O R T E D _ C O N F I G U R A T I O N S $ { _ M A G N U M _ C O N T E X T _ I M P O R T E D _ C O N F I G U R A T I O N S } )
if ( _MAGNUM_CONTEXT_IMPORTED_LOCATION_RELEASE )
set_target_properties ( Magnum::Context PROPERTIES
I M P O R T E D _ L O C A T I O N _ R E L E A S E $ { _ M A G N U M _ C O N T E X T _ I M P O R T E D _ L O C A T I O N _ R E L E A S E } )
endif ( )
if ( _MAGNUM_CONTEXT_IMPORTED_LOCATION_DEBUG )
set_target_properties ( Magnum::Context PROPERTIES
I M P O R T E D _ L O C A T I O N _ D E B U G $ { _ M A G N U M _ C O N T E X T _ I M P O R T E D _ L O C A T I O N _ D E B U G } )
endif ( )
endif ( )
if ( MAGNUM_BUILD_DEPRECATED )
set ( MAGNUM_CONTEXT_LIBRARIES Magnum::Context )
endif ( )
# P r e v e n t c r e a t i n g t h e a l i a s a g a i n
unset ( _MAGNUM_CONTEXT_ALIAS )
endif ( )
# I n s t a l l a t i o n d i r s
include ( ${ CORRADE_LIB_SUFFIX_MODULE } )
set ( MAGNUM_BINARY_INSTALL_DIR ${ CMAKE_INSTALL_PREFIX } /bin )
@ -615,29 +723,6 @@ set(MAGNUM_PLUGINS_AUDIOIMPORTER_DEBUG_INSTALL_DIR ${MAGNUM_PLUGINS_DEBUG_INSTAL
set ( MAGNUM_PLUGINS_AUDIOIMPORTER_RELEASE_INSTALL_DIR ${ MAGNUM_PLUGINS_RELEASE_INSTALL_DIR } /audioimporters )
set ( MAGNUM_INCLUDE_INSTALL_DIR ${ CMAKE_INSTALL_PREFIX } /include/Magnum )
set ( MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR ${ CMAKE_INSTALL_PREFIX } /include/MagnumPlugins )
mark_as_advanced ( FORCE
M A G N U M _ L I B R A R Y _ D E B U G
M A G N U M _ L I B R A R Y _ R E L E A S E
M A G N U M _ L I B R A R Y
M A G N U M _ I N C L U D E _ D I R
M A G N U M _ B I N A R Y _ I N S T A L L _ D I R
M A G N U M _ L I B R A R Y _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ D E B U G _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ R E L E A S E _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ F O N T _ D E B U G _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ F O N T _ R E L E A S E _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ F O N T C O N V E R T E R _ D E B U G _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ F O N T C O N V E R T E R _ R E L E A S E _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ I M A G E C O N V E R T E R _ D E B U G _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ I M A G E C O N V E R T E R _ R E L E A S E _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ I M P O R T E R _ D E B U G _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ I M P O R T E R _ R E L E A S E _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ A U D I O I M P O R T E R _ D E B U G _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ A U D I O I M P O R T E R _ R E L E A S E _ I N S T A L L _ D I R
M A G N U M _ C M A K E _ M O D U L E _ I N S T A L L _ D I R
M A G N U M _ I N C L U D E _ I N S T A L L _ D I R
M A G N U M _ P L U G I N S _ I N C L U D E _ I N S T A L L _ D I R
_ M A G N U M _ C O N F I G U R E _ F I L E )
# G e t b a s e p l u g i n d i r e c t o r y f r o m m a i n l i b r a r y l o c a t i o n
set ( MAGNUM_PLUGINS_DEBUG_DIR ${ _MAGNUM_LIBRARY_PATH } /magnum-d
@ -663,3 +748,8 @@ set(MAGNUM_PLUGINS_IMPORTER_RELEASE_DIR ${MAGNUM_PLUGINS_RELEASE_DIR}/importers)
set ( MAGNUM_PLUGINS_AUDIOIMPORTER_DIR ${ MAGNUM_PLUGINS_DIR } /audioimporters )
set ( MAGNUM_PLUGINS_AUDIOIMPORTER_DEBUG_DIR ${ MAGNUM_PLUGINS_DEBUG_DIR } /audioimporters )
set ( MAGNUM_PLUGINS_AUDIOIMPORTER_RELEASE_DIR ${ MAGNUM_PLUGINS_RELEASE_DIR } /audioimporters )
# D e p r e c a t e d v a r i a b l e s
if ( MAGNUM_BUILD_DEPRECATED )
set ( MAGNUM_LIBRARIES Magnum::Magnum )
endif ( )