@ -57,6 +57,7 @@
# 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
# T r a d e - T r a d e l i b r a r y
# G l f w A p p l i c a t i o n - G L F W 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 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
@ -87,7 +88,7 @@
#
# 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 )
# find_package ( Magnum REQUIRED Trade 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 :
#
@ -206,8 +207,20 @@
# D E A L I N G S I N T H E S O F T W A R E .
#
# D e p e n d e n c i e s
find_package ( Corrade REQUIRED Utility PluginManager )
# C o r r a d e l i b r a r y d e p e n d e n c i e s
set ( _MAGNUM_CORRADE_DEPENDENCIES )
foreach ( _component ${ Magnum_FIND_COMPONENTS } )
string ( TOUPPER ${ _component } _COMPONENT )
# U n r o l l i n g t h e t r a n s i t i v e d e p e n d e n c i e s h e r e s o t h i s d o e s n ' t n e e d t o b e
# a f t e r r e s o l v i n g 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 . L i s t i n g a l s o a l l p l u g i n s .
if ( _component MATCHES "^(Audio|DebugTools|MeshTools|Primitives|Text|TextureTools|Trade|.+Importer|.+ImageConverter|.+Font)$" )
set ( _MAGNUM_ ${ _COMPONENT } _CORRADE_DEPENDENCIES PluginManager )
endif ( )
list ( APPEND _MAGNUM_CORRADE_DEPENDENCIES ${ _MAGNUM_${_COMPONENT } _CORRADE_DEPENDENCIES} )
endforeach ( )
find_package ( Corrade REQUIRED Utility ${ _MAGNUM_CORRADE_DEPENDENCIES } )
# R o o t i n c l u d e d i r
find_path ( MAGNUM_INCLUDE_DIR
@ -302,8 +315,7 @@ if(NOT TARGET Magnum::Magnum)
# 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 )
C o r r a d e : : U t i l i t y )
# 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 )
@ -339,7 +351,9 @@ foreach(_component ${Magnum_FIND_COMPONENTS})
elseif ( _component STREQUAL Text )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES TextureTools )
elseif ( _component STREQUAL DebugTools )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES MeshTools Primitives SceneGraph Shaders Shapes )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES MeshTools Primitives SceneGraph Shaders Shapes Trade )
elseif ( _component STREQUAL MeshTools )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES Trade )
elseif ( _component STREQUAL OpenGLTester )
if ( MAGNUM_TARGET_HEADLESS OR CORRADE_TARGET_EMSCRIPTEN OR CORRADE_TARGET_ANDROID )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES WindowlessEglApplication )
@ -360,16 +374,20 @@ foreach(_component ${Magnum_FIND_COMPONENTS})
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES WindowlessWindowsEglApplication )
endif ( )
endif ( )
elseif ( _component STREQUAL Primitives )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES Trade )
elseif ( _component STREQUAL MagnumFont )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES TgaImporter ) # a n d b e l o w
elseif ( _component STREQUAL MagnumFontConverter )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES TgaImageConverter ) # a n d b e l o w
elseif ( _component STREQUAL ObjImporter )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES MeshTools )
set ( _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES MeshTools ) # a n d b e l o w
endif ( )
if ( _component MATCHES ".+AudioImporter" )
list ( APPEND _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES Audio )
elseif ( _component MATCHES ".+(Importer|ImageConverter)" )
list ( APPEND _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES Trade )
elseif ( _component MATCHES ".+(Font|FontConverter)" )
list ( APPEND _MAGNUM_ ${ _COMPONENT } _DEPENDENCIES Text TextureTools )
endif ( )
@ -394,7 +412,7 @@ 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|AndroidApplication|GlfwApplication|GlutApplication|GlxApplication|Sdl2Application|XEglApplication|WindowlessCglApplication|WindowlessEglApplication|WindowlessGlxApplication|WindowlessIosApplication|WindowlessWglApplication|WindowlessWindowsEglApplication|CglContext|EglContext|GlxContext|WglContext|OpenGLTester)$" )
set ( _MAGNUM_LIBRARY_COMPONENTS "^(Audio|DebugTools|MeshTools|Primitives|SceneGraph|Shaders|Shapes|Text|TextureTools|Trade| AndroidApplication|GlfwApplication|GlutApplication|GlxApplication|Sdl2Application|XEglApplication|WindowlessCglApplication|WindowlessEglApplication|WindowlessGlxApplication|WindowlessIosApplication|WindowlessWglApplication|WindowlessWindowsEglApplication|CglContext|EglContext|GlxContext|WglContext|OpenGLTester)$" )
set ( _MAGNUM_PLUGIN_COMPONENTS "^(AnyAudioImporter|AnyImageConverter|AnyImageImporter|AnySceneImporter|MagnumFont|MagnumFontConverter|ObjImporter|TgaImageConverter|TgaImporter|WavAudioImporter)$" )
set ( _MAGNUM_EXECUTABLE_COMPONENTS "^(distancefieldconverter|fontconverter|imageconverter|info|al-info)$" )
@ -612,7 +630,7 @@ foreach(_component ${Magnum_FIND_COMPONENTS})
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 } )
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 } C o r r a d e : : P l u g i n M a n a g e r )
# 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
@ -631,11 +649,20 @@ foreach(_component ${Magnum_FIND_COMPONENTS})
# 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
# N o s p e c i a l s e t u p f o r S h a d e r s l i b r a r y
# N o s p e c i a l s e t u p f o r S h a p e s l i b r a r y
# 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 l i b r a r y
elseif ( _component STREQUAL Text )
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 C o r r a d e : : P l u g i n M a n a g e r )
# T e x t u r e T o o l s l i b r a r y
elseif ( _component STREQUAL TextureTools )
set ( _MAGNUM_ ${ _COMPONENT } _INCLUDE_PATH_NAMES Atlas.h )
# T r a d e l i b r a r y
elseif ( _component STREQUAL Trade )
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 C o r r a d e : : P l u g i n M a n a g e r )
endif ( )
# N o s p e c i a l s e t u p f o r A n y A u d i o I m p o r t e r p l u g i n