@ -14,6 +14,11 @@
@@ -14,6 +14,11 @@
find_package ( Threads REQUIRED )
find_package ( PkgConfig QUIET )
macro ( _detect_boost_components _outComponets librariesList )
string ( REGEX MATCHALL "boost_[a-z_]+[-a-z]*" _boost_libraries "${librariesList}" )
string ( REGEX REPLACE "boost_([a-z_]+)[-a-z]*" "\\1" ${ _outComponets } "${_boost_libraries}" )
endmacro ( )
if ( PKG_CONFIG_FOUND )
pkg_check_modules ( PC_LIBTORRENT_RASTERBAR QUIET libtorrent-rasterbar )
endif ( )
@ -62,13 +67,34 @@ endif()
@@ -62,13 +67,34 @@ endif()
set ( LibtorrentRasterbar_LIBRARIES ${ LibtorrentRasterbar_LIBRARY } ${ CMAKE_THREAD_LIBS_INIT } )
set ( LibtorrentRasterbar_INCLUDE_DIRS ${ LibtorrentRasterbar_INCLUDE_DIR } )
if ( NOT Boost_SYSTEM_FOUND OR NOT Boost_CHRONO_FOUND OR NOT Boost_RANDOM_FOUND )
find_package ( Boost REQUIRED COMPONENTS date_time system chrono random thread )
set ( LibtorrentRasterbar_LIBRARIES
$ { L i b t o r r e n t R a s t e r b a r _ L I B R A R I E S } $ { B o o s t _ L I B R A R I E S } $ { C M A K E _ T H R E A D _ L I B S _ I N I T } )
set ( LibtorrentRasterbar_INCLUDE_DIRS
$ { L i b t o r r e n t R a s t e r b a r _ I N C L U D E _ D I R S } $ { B o o s t _ I N C L U D E _ D I R S } )
endif ( )
# W i t h o u t p k g - c o n f i g , w e c a n ' t p o s s i b l y f i g u r e o u t t h e c o r r e c t b o o s t d e p e n d e n c i e s
if ( LibtorrentRasterbar_CUSTOM_BOOST_DEPENDENCIES )
string ( REPLACE ";" " " _boost_components "${LibtorrentRasterbar_CUSTOM_BOOST_DEPENDENCIES}" )
else ( LibtorrentRasterbar_CUSTOM_BOOST_DEPENDENCIES )
if ( PC_LIBTORRENT_RASTERBAR_FOUND )
_detect_boost_components ( _boost_cmpnts "${PC_LIBTORRENT_RASTERBAR_LIBRARIES}" )
else ( )
# a l l p o s s i b l e b o o s t d e p e n d e n c i e s
set ( _boost_cmpnts
d a t e _ t i m e
s y s t e m
c h r o n o
r a n d o m
t h r e a d
)
endif ( )
list ( SORT _boost_cmpnts )
message ( STATUS "Libtorrent Boost dependencies: ${_boost_cmpnts}" )
string ( REPLACE ";" " " _boost_components "${_boost_cmpnts}" )
endif ( LibtorrentRasterbar_CUSTOM_BOOST_DEPENDENCIES )
find_package ( Boost REQUIRED COMPONENTS ${ _boost_components } )
set ( LibtorrentRasterbar_LIBRARIES ${ LibtorrentRasterbar_LIBRARIES } ${ CMAKE_THREAD_LIBS_INIT } )
foreach ( _boost_cmpnt IN LISTS _boost_components )
list ( APPEND LibtorrentRasterbar_LIBRARIES "Boost::${_boost_cmpnt}" )
endforeach ( _boost_cmpnt )
set ( LibtorrentRasterbar_INCLUDE_DIRS ${ LibtorrentRasterbar_INCLUDE_DIRS } ${ Boost_INCLUDE_DIRS } )
list ( FIND LibtorrentRasterbar_DEFINITIONS -DTORRENT_USE_OPENSSL LibtorrentRasterbar_ENCRYPTION_INDEX )
if ( LibtorrentRasterbar_ENCRYPTION_INDEX GREATER -1 )
@ -83,10 +109,7 @@ include(FindPackageHandleStandardArgs)
@@ -83,10 +109,7 @@ include(FindPackageHandleStandardArgs)
# i f a l l l i s t e d v a r i a b l e s a r e T R U E
find_package_handle_standard_args ( LibtorrentRasterbar DEFAULT_MSG
L i b t o r r e n t R a s t e r b a r _ L I B R A R Y
L i b t o r r e n t R a s t e r b a r _ I N C L U D E _ D I R
B o o s t _ S Y S T E M _ F O U N D
B o o s t _ C H R O N O _ F O U N D
B o o s t _ R A N D O M _ F O U N D )
L i b t o r r e n t R a s t e r b a r _ I N C L U D E _ D I R )
mark_as_advanced ( LibtorrentRasterbar_INCLUDE_DIR LibtorrentRasterbar_LIBRARY
L i b t o r r e n t R a s t e r b a r _ O R I G _ C M A K E _ F I N D _ L I B R A R Y _ S U F F I X E S