@ -20,42 +20,34 @@ if(LIBSPECTRE_INCLUDE_DIR AND LIBSPECTRE_LIBRARY)
else ( LIBSPECTRE_INCLUDE_DIR AND LIBSPECTRE_LIBRARY )
if ( NOT WIN32 )
# u s e p k g - c o n f i g t o g e t t h e d i r e c t o r i e s a n d t h e n u s e t h e s e v a l u e s
# i n t h e FIND_PATH ( ) a n d FIND_LIBRARY ( ) c a l l s
INCLUDE ( UsePkgConfig )
PKGCONFIG ( libspectre _SpectreIncDir _SpectreLinkDir _SpectreLinkFlags _SpectreCflags )
if ( _SpectreLinkFlags )
# f i n d a g a i n p k g - c o n f i g , t o q u e r y i t a b o u t l i b s p e c t r e v e r s i o n
FIND_PROGRAM ( PKGCONFIG_EXECUTABLE NAMES pkg-config PATHS /usr/bin/ /usr/local/bin )
# q u e r y p k g - c o n f i g a s k i n g f o r a l i b s p e c t r e > = L I B S P E C T R E _ M I N I M U M _ V E R S I O N
EXEC_PROGRAM ( ${ PKGCONFIG_EXECUTABLE } ARGS --atleast-version= ${ LIBSPECTRE_MINIMUM_VERSION } libspectre RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull )
if ( _return_VALUE STREQUAL "0" )
set ( LIBSPECTRE_INTERNAL_FOUND TRUE )
endif ( _return_VALUE STREQUAL "0" )
endif ( _SpectreLinkFlags )
# u s e p k g - c o n f i g t o g e t t h e d i r e c t o r i e s a n d t h e n u s e t h e s e v a l u e s
# i n t h e FIND_PATH ( ) a n d FIND_LIBRARY ( ) c a l l s
include ( FindPkgConfig )
if ( LIBSPECTRE_MINIMUM_VERSION} )
pkg_check_modules ( _pc_LIBSPECTRE libspectre>= ${ LIBSPECTRE_MINIMUM_VERSION } )
else ( LIBSPECTRE_MINIMUM_VERSION} )
pkg_check_modules ( _pc_LIBSPECTRE libspectre )
endif ( LIBSPECTRE_MINIMUM_VERSION} )
else ( NOT WIN32 )
# d o n o t u s e p k g - c o n f i g o n w i n d o w s
find_library ( _SpectreLinkFlags NAMES libspectre spectre PATHS ${ CMAKE_LIBRARY_PATH } )
find_path ( LIBSPECTRE_INCLUDE_DIR spectre.h PATH_SUFFIXES libspectre )
set ( LIBSPECTRE_INTERNAL_FOUND TRUE )
# d o n o t u s e p k g - c o n f i g o n w i n d o w s
set ( _pc_LIBSPECTRE_FOUND TRUE )
endif ( NOT WIN32 )
if ( LIBSPECTRE_INTERNAL_FOUND )
set ( LIBSPECTRE_LIBRARY ${ _SpectreLinkFlags } )
# t h e c f l a g s f o r l i b s p e c t r e c a n c o n t a i n m o r e t h a n o n e i n c l u d e p a t h
separate_arguments ( _SpectreCflags )
foreach ( _includedir ${ _SpectreCflags } )
string ( REGEX REPLACE "-I(.+)" "\\1" _includedir "${_includedir}" )
set ( LIBSPECTRE_INCLUDE_DIR ${ LIBSPECTRE_INCLUDE_DIR } ${ _includedir } )
endforeach ( _includedir )
if ( _pc_LIBSPECTRE_FOUND )
find_library ( LIBSPECTRE_LIBRARY
N A M E S l i b s p e c t r e s p e c t r e
H I N T S $ { _ p c _ L I B S P E C T R E _ L I B R A R Y _ D I R S } $ { C M A K E _ L I B R A R Y _ P A T H }
)
endif ( LIBSPECTRE_INTERNAL_FOUND )
find_path ( LIBSPECTRE_INCLUDE_DIR spectre.h
H I N T S $ { _ p c _ L I B S P E C T R E _ I N C L U D E _ D I R S }
P A T H _ S U F F I X E S l i b s p e c t r e
)
set ( LIBSPECTRE_INTERNAL_FOUND TRUE )
endif ( _pc_LIBSPECTRE_FOUND )
include ( FindPackageHandleStandardArgs )
find_package_handle_standard_args ( LibSpectre DEFAULT_MSG LIBSPECTRE_LIBRARY LIBSPECTRE_INTERNAL_FOUND )