@ -118,8 +118,13 @@
# C O R R A D E _ * _ 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 g i v e n l i b r a r y , i f f o u n d
# C O R R A D E _ * _ L I B R A R Y _ R E L E A S E - R e l e a s e v e r s i o n o f g i v e n l i b r a r y , i f f o u n d
# C O R R A D E _ * _ E X E C U T A B L E - L o c a t i o n o f g i v e n e x e c u t a b l e , i f f o u n d
# C O R R A D E _ * _ E X E C U T A B L E _ E M U L A T O R - E m u l a t o r t o r u n C O R R A D E _ * _ E X E C U T A B L E , i f a
# n o n - n a t i v e v e r s i o n w a s f o u n d w h e n c r o s s - c o m p i l i n g
# C O R R A D E _ U S E _ M O D U L E - P a t h t o U s e C o r r a d e . c m a k e module ( included
# a u t o m a t i c a l l y )
# C O R R A D E _ D E P E N D E N C Y _ M O D U L E _ D I R - P a t h t o F i n d m o d u l e s f o r d e p e n d e n c i e s u s e d
# i n t e r n a l l y b y C o r r a d e . D e f i n e d o n l y i f a n y s u c h m o d u l e s a r e e x p e c t e d t o
# e x i s t o n g i v e n p l a t f o r m .
# C O R R A D E _ T E S T S U I T E _ X C T E S T _ R U N N E R - P a t h t o X C T e s t R u n n e r . m m . i n f i l e
# C O R R A D E _ T E S T S U I T E _ A D B _ R U N N E R - P a t h t o A d b R u n n e r . s h f i l e
# C O R R A D E _ U T I L I T Y _ J S - P a t h t o C o r r a d e U t i l i t y . j s f i l e
@ -272,7 +277,7 @@
# T h i s f i l e i s p a r t o f C o r r a d e .
#
# C o p y r i g h t © 2 0 0 7 , 2 0 0 8 , 2 0 0 9 , 2 0 1 0 , 2 0 1 1 , 2 0 1 2 , 2 0 1 3 , 2 0 1 4 , 2 0 1 5 , 2 0 1 6 ,
# 2 0 1 7 , 2 0 1 8 , 2 0 1 9 , 2 0 2 0 , 2 0 2 1 , 2 0 2 2 , 2 0 2 3
# 2 0 1 7 , 2 0 1 8 , 2 0 1 9 , 2 0 2 0 , 2 0 2 1 , 2 0 2 2 , 2 0 2 3 , 2 0 2 4
# V l a d i m í r V o n d r u š < m o s r a @ c e n t r u m . c z >
#
# P e r m i s s i o n i s h e r e b y g r a n t e d , f r e e o f c h a r g e , t o a n y p e r s o n o b t a i n i n g a
@ -355,6 +360,12 @@ find_path(_CORRADE_MODULE_DIR
N A M E S U s e C o r r a d e . c m a k e C o r r a d e L i b S u f f i x . c m a k e
P A T H _ S U F F I X E S s h a r e / c m a k e / C o r r a d e )
mark_as_advanced ( _CORRADE_MODULE_DIR )
if ( CORRADE_TARGET_EMSCRIPTEN )
find_path ( CORRADE_DEPENDENCY_MODULE_DIR
N A M E S F i n d N o d e J s . c m a k e
P A T H _ S U F F I X E S s h a r e / c m a k e / C o r r a d e / d e p e n d e n c i e s )
mark_as_advanced ( CORRADE_DEPENDENCY_MODULE_DIR )
endif ( )
set ( CORRADE_USE_MODULE ${ _CORRADE_MODULE_DIR } /UseCorrade.cmake )
set ( CORRADE_LIB_SUFFIX_MODULE ${ _CORRADE_MODULE_DIR } /CorradeLibSuffix.cmake )
@ -407,6 +418,11 @@ if(Corrade_FIND_COMPONENTS)
list ( REMOVE_DUPLICATES Corrade_FIND_COMPONENTS )
endif ( )
# S p e c i a l c a s e s o f i n c l u d e p a t h s . L i b r a r i e s n o t l i s t e d h e r e h a v e a p a t h s u f f i x
# a n d i n c l u d e n a m e d e r i v e d f r o m t h e l i b r a r y n a m e i n t h e l o o p b e l o w .
set ( _CORRADE_MAIN_INCLUDE_PATH_SUFFIX Corrade )
set ( _CORRADE_MAIN_INCLUDE_PATH_NAMES Corrade.h )
# F i n d a l l c o m p o n e n t s
foreach ( _component ${ Corrade_FIND_COMPONENTS } )
string ( TOUPPER ${ _component } _COMPONENT )
@ -417,7 +433,16 @@ foreach(_component ${Corrade_FIND_COMPONENTS})
if ( TARGET Corrade:: ${ _component } )
set ( Corrade_ ${ _component } _FOUND TRUE )
else ( )
unset ( Corrade_ ${ _component } _FOUND )
# D e f a u l t i n c l u d e p a t h n a m e s t o l o o k f o r f o r l i b r a r y / h e a d e r - o n l y
# c o m p o n e n t s , u n l e s s s e t a b o v e a l r e a d y
if ( _component IN_LIST _CORRADE_LIBRARY_COMPONENTS )
if ( NOT _CORRADE_ ${ _COMPONENT } _INCLUDE_PATH_SUFFIX )
set ( _CORRADE_ ${ _COMPONENT } _INCLUDE_PATH_SUFFIX Corrade/ ${ _component } )
endif ( )
if ( NOT _CORRADE_ ${ _COMPONENT } _INCLUDE_PATH_NAMES )
set ( _CORRADE_ ${ _COMPONENT } _INCLUDE_PATH_NAMES ${ _component } .h )
endif ( )
endif ( )
# Library ( and not header-only ) c o m p o n e n t s
if ( _component IN_LIST _CORRADE_LIBRARY_COMPONENTS AND NOT _component IN_LIST _CORRADE_HEADER_ONLY_COMPONENTS )
@ -428,20 +453,6 @@ foreach(_component ${Corrade_FIND_COMPONENTS})
find_library ( CORRADE_ ${ _COMPONENT } _LIBRARY_RELEASE Corrade ${ _component } )
mark_as_advanced ( CORRADE_ ${ _COMPONENT } _LIBRARY_DEBUG
C O R R A D E _ $ { _ C O M P O N E N T } _ L I B R A R Y _ R E L E A S E )
if ( CORRADE_ ${ _COMPONENT } _LIBRARY_RELEASE )
set_property ( TARGET Corrade:: ${ _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 Corrade:: ${ _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 $ { C O R R A D E _ $ { _ C O M P O N E N T } _ L I B R A R Y _ R E L E A S E } )
endif ( )
if ( CORRADE_ ${ _COMPONENT } _LIBRARY_DEBUG )
set_property ( TARGET Corrade:: ${ _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 Corrade:: ${ _component } PROPERTY
I M P O R T E D _ L O C A T I O N _ D E B U G $ { C O R R A D E _ $ { _ C O M P O N E N T } _ L I B R A R Y _ D E B U G } )
endif ( )
endif ( )
# H e a d e r - o n l y l i b r a r y c o m p o n e n t s
@ -449,13 +460,6 @@ foreach(_component ${Corrade_FIND_COMPONENTS})
add_library ( Corrade:: ${ _component } INTERFACE IMPORTED )
endif ( )
# D e f a u l t i n c l u d e p a t h n a m e s t o l o o k f o r f o r l i b r a r y / h e a d e r - o n l y
# c o m p o n e n t s
if ( _component IN_LIST _CORRADE_LIBRARY_COMPONENTS )
set ( _CORRADE_ ${ _COMPONENT } _INCLUDE_PATH_SUFFIX Corrade/ ${ _component } )
set ( _CORRADE_ ${ _COMPONENT } _INCLUDE_PATH_NAMES ${ _component } .h )
endif ( )
# E x e c u t a b l e c o m p o n e n t s
if ( _component IN_LIST _CORRADE_EXECUTABLE_COMPONENTS )
add_executable ( Corrade:: ${ _component } IMPORTED )
@ -463,12 +467,72 @@ foreach(_component ${Corrade_FIND_COMPONENTS})
find_program ( CORRADE_ ${ _COMPONENT } _EXECUTABLE corrade- ${ _component } )
mark_as_advanced ( CORRADE_ ${ _COMPONENT } _EXECUTABLE )
# I f t h e e x e c u t a b l e w a s n ' t f o u n d , w e ' r e c r o s s - c o m p i l i n g , a n
# e m u l a t o r i s s e t a n d w e ' r e o n C M a k e 3 . 6 + t h a t a c t u a l l y u s e s
# C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R i n add_custom_command ( ( ) , try to
# f i n d t h e c r o s s - c o m p i l e d v e r s i o n a s a ( slower ) f a l l b a c k . T h i s
# a s s u m e s t h e t o o l c h a i n s e t s C M A K E _ F I N D _ R O O T _ P A T H _ M O D E _ P R O G R A M t o
# N E V E R , i . e . t h a t t h e s e a r c h i s r e s t r i c t e d t o n a t i v e e x e c u t a b l e s
# b y d e f a u l t .
if ( NOT CORRADE_ ${ _COMPONENT } _EXECUTABLE AND CMAKE_CROSSCOMPILING AND CMAKE_CROSSCOMPILING_EMULATOR AND NOT CMAKE_VERSION VERSION_LESS 3.6 )
# A d d i t i o n a l l y , t h e r e a r e n o C M A K E _ F I N D _ P R O G R A M _ S U F F I X E S a k i n
# t o C M A K E _ F I N D _ L I B R A R Y _ S U F F I X E S f o r l i b r a r i e s , s o w e h a v e t o
# t r y m a n u a l l y .
if ( CORRADE_TARGET_EMSCRIPTEN )
set ( _CORRADE_PROGRAM_EXTENSION .js )
endif ( )
find_program ( CORRADE_ ${ _COMPONENT } _EXECUTABLE
N A M E S
c o r r a d e - $ { _ c o m p o n e n t }
c o r r a d e - $ { _ c o m p o n e n t } $ { _ C O R R A D E _ P R O G R A M _ E X T E N S I O N }
O N L Y _ C M A K E _ F I N D _ R O O T _ P A T H )
if ( CORRADE_ ${ _COMPONENT } _EXECUTABLE )
set ( CORRADE_ ${ _COMPONENT } _EXECUTABLE_EMULATOR ${ CMAKE_CROSSCOMPILING_EMULATOR } CACHE PATH "Emulator for running a cross-compiled corrade-${_component} executable" )
mark_as_advanced ( CORRADE_ ${ _COMPONENT } _EXECUTABLE_EMULATOR )
endif ( )
endif ( )
if ( CORRADE_ ${ _COMPONENT } _EXECUTABLE )
set_property ( TARGET Corrade:: ${ _component } PROPERTY
I M P O R T E D _ L O C A T I O N $ { C O R R A D E _ $ { _ C O M P O N E N T } _ E X E C U T A B L E } )
endif ( )
endif ( )
# F i n d l i b r a r y i n c l u d e s
if ( _component IN_LIST _CORRADE_LIBRARY_COMPONENTS )
find_path ( _CORRADE_ ${ _COMPONENT } _INCLUDE_DIR
N A M E S $ { _ C O R R A D E _ $ { _ 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 $ { C O R R A D E _ I N C L U D E _ D I R } / $ { _ C O R R A D E _ $ { _ 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 ( _CORRADE_ ${ _COMPONENT } _INCLUDE_DIR )
endif ( )
# D e c i d e i f t h e c o m p o n e n t w a s f o u n d . I f n o t , s k i p t h e r e s t , w h i c h
# p o p u l a t e s t h e t a r g e t p r o p e r t i e s a n d f i n d s a d d i t i o n a l d e p e n d e n c i e s . I f
# f o u n d , t h e _ F O U N D v a r i a b l e m a y s t i l l g e t r e s e t b y s o m e t h i n g b e l o w .
if ( ( _component IN_LIST _CORRADE_LIBRARY_COMPONENTS AND _CORRADE_ ${ _COMPONENT } _INCLUDE_DIR AND ( _component IN_LIST _CORRADE_HEADER_ONLY_COMPONENTS OR CORRADE_ ${ _COMPONENT } _LIBRARY_RELEASE OR CORRADE_ ${ _COMPONENT } _LIBRARY_DEBUG ) ) OR ( _component IN_LIST _CORRADE_EXECUTABLE_COMPONENTS AND CORRADE_ ${ _COMPONENT } _EXECUTABLE ) )
set ( Corrade_ ${ _component } _FOUND TRUE )
else ( )
set ( Corrade_ ${ _component } _FOUND FALSE )
continue ( )
endif ( )
# L i b r a r y l o c a t i o n for ( non-header-only ) l i b r a r i e s
if ( _component IN_LIST _CORRADE_LIBRARY_COMPONENTS AND NOT _component IN_LIST _CORRADE_HEADER_ONLY_COMPONENTS )
if ( CORRADE_ ${ _COMPONENT } _LIBRARY_RELEASE )
set_property ( TARGET Corrade:: ${ _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 Corrade:: ${ _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 $ { C O R R A D E _ $ { _ C O M P O N E N T } _ L I B R A R Y _ R E L E A S E } )
endif ( )
if ( CORRADE_ ${ _COMPONENT } _LIBRARY_DEBUG )
set_property ( TARGET Corrade:: ${ _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 Corrade:: ${ _component } PROPERTY
I M P O R T E D _ L O C A T I O N _ D E B U G $ { C O R R A D E _ $ { _ C O M P O N E N T } _ L I B R A R Y _ D E B U G } )
endif ( )
endif ( )
# N o s p e c i a l s e t u p f o r C o n t a i n e r s l i b r a r y
# I n t e r c o n n e c t l i b r a r y
@ -488,9 +552,6 @@ foreach(_component ${Corrade_FIND_COMPONENTS})
# M a i n l i b r a r y
elseif ( _component STREQUAL Main )
set ( _CORRADE_ ${ _COMPONENT } _INCLUDE_PATH_SUFFIX Corrade )
set ( _CORRADE_ ${ _COMPONENT } _INCLUDE_PATH_NAMES Corrade.h )
if ( CORRADE_TARGET_WINDOWS )
if ( NOT MINGW )
# A b u s i n g I N T E R F A C E _ L I N K _ L I B R A R I E S b e c a u s e
@ -582,14 +643,6 @@ foreach(_component ${Corrade_FIND_COMPONENTS})
endif ( )
endif ( )
# F i n d l i b r a r y i n c l u d e s
if ( _component IN_LIST _CORRADE_LIBRARY_COMPONENTS )
find_path ( _CORRADE_ ${ _COMPONENT } _INCLUDE_DIR
N A M E S $ { _ C O R R A D E _ $ { _ 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 $ { C O R R A D E _ I N C L U D E _ D I R } / $ { _ C O R R A D E _ $ { _ 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 ( _CORRADE_ ${ _COMPONENT } _INCLUDE_DIR )
endif ( )
# 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 IN_LIST _CORRADE_LIBRARY_COMPONENTS OR _component IN_LIST _CORRADE_HEADER_ONLY_COMPONENTS )
foreach ( _dependency ${ _CORRADE_${_component } _DEPENDENCIES} )
@ -599,16 +652,6 @@ foreach(_component ${Corrade_FIND_COMPONENTS})
endif ( )
endforeach ( )
endif ( )
# D e c i d e i f t h e c o m p o n e n t w a s f o u n d , u n l e s s t h e _ F O U N D i s a l r e a d y s e t
# b y s o m e t h i n g a b o v e .
if ( NOT DEFINED Corrade_ ${ _component } _FOUND )
if ( ( _component IN_LIST _CORRADE_LIBRARY_COMPONENTS AND _CORRADE_ ${ _COMPONENT } _INCLUDE_DIR AND ( _component IN_LIST _CORRADE_HEADER_ONLY_COMPONENTS OR CORRADE_ ${ _COMPONENT } _LIBRARY_RELEASE OR CORRADE_ ${ _COMPONENT } _LIBRARY_DEBUG ) ) OR ( _component IN_LIST _CORRADE_EXECUTABLE_COMPONENTS AND CORRADE_ ${ _COMPONENT } _EXECUTABLE ) )
set ( Corrade_ ${ _component } _FOUND TRUE )
else ( )
set ( Corrade_ ${ _component } _FOUND FALSE )
endif ( )
endif ( )
endif ( )
endforeach ( )