summaryrefslogtreecommitdiff
path: root/3rdparty
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty')
-rw-r--r--3rdparty/CMakeLists.txt33
1 files changed, 22 insertions, 11 deletions
diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
index 3b60b68dc..41916ec48 100644
--- a/3rdparty/CMakeLists.txt
+++ b/3rdparty/CMakeLists.txt
@@ -2,19 +2,23 @@
# macro to configure the use of local or system version of a package
# Uses:
# HAVE_LOCAL_${name} - is local version available?
+# ${name}_LOCAL_DEPENDENCIES - dependencies of the local version
# ${name}_LOCAL_LIBRARIES - libraries of the local version
# ${name}_LOCAL_INCLUDE_DIRS - include directories of the local version
+# ${name}_LOCAL_DEFINITIONS - definitions of the local version
# HAVE_SYSTEM_${name} - is system version available?
+# ${name}_SYSTEM_DEPENDENCIES - dependencies of the system version
# ${name}_SYSTEM_LIBRARIES - libraries of the system version
# ${name}_SYSTEM_INCLUDE_DIRS - include directories of the system version
+# ${name}_SYSTEM_DEFINITIONS - definitions of the system version
# Generates:
# WITH_LOCAL_${name} - use the local version of the package (only when local is available)
# WITH_${name} - use this package
+# ${name}_DEPENDENCIES - dependencies
# ${name}_LIBRARIES - libraries
# ${name}_INCLUDE_DIRS - include directories
+# ${name}_DEFINITIONS - definitions
macro( CONFIGURE_WITH_LOCAL_OR_SYSTEM name )
- unset( ${name}_LIBRARIES CACHE )
- unset( ${name}_INCLUDE_DIRS CACHE )
if( HAVE_LOCAL_${name} )
set( WITH_LOCAL_${name} ON
CACHE BOOL "use local version of ${name}" )
@@ -22,14 +26,9 @@ macro( CONFIGURE_WITH_LOCAL_OR_SYSTEM name )
unset( WITH_LOCAL_${name} CACHE )
endif()
if( WITH_LOCAL_${name} )
- message( STATUS "Configuring for local ${name}" )
- set( ${name}_LIBRARIES ${${name}_LOCAL_LIBRARIES} )
- set( ${name}_INCLUDE_DIRS ${${name}_LOCAL_INCLUDE_DIRS} )
- message( STATUS "Configuring for local ${name} - done" )
+ set( _type "LOCAL" )
elseif( HAVE_SYSTEM_${name} )
- message( STATUS "Configuring for system ${name}" )
- set( ${name}_LIBRARIES ${${name}_SYSTEM_LIBRARIES} )
- set( ${name}_INCLUDE_DIRS ${${name}_SYSTEM_INCLUDE_DIRS} )
+ set( _type "SYSTEM" )
message( STATUS "Configuring for system ${name} - done" )
endif()
if( WITH_LOCAL_${name} OR HAVE_SYSTEM_${name} )
@@ -38,12 +37,24 @@ macro( CONFIGURE_WITH_LOCAL_OR_SYSTEM name )
else()
unset( WITH_${name} CACHE )
endif()
- set( ${name}_LIBRARIES ${${name}_LIBRARIES}
+ message( STATUS "Configuring for ${_type} ${name}" )
+ unset( ${name}_DEPENDENCIES CACHE )
+ unset( ${name}_LIBRARIES CACHE )
+ unset( ${name}_INCLUDE_DIRS CACHE )
+ unset( ${name}_DEFINITIONS CACHE )
+ set( ${name}_DEPENDENCIES ${${name}_${_type}_DEPENDENCIES}
+ CACHE PATH "${name} dependencies" )
+ set( ${name}_LIBRARIES ${${name}_${_type}_LIBRARIES}
CACHE PATH "${name} libraries" )
- set( ${name}_INCLUDE_DIRS ${${name}_INCLUDE_DIRS}
+ set( ${name}_INCLUDE_DIRS ${${name}_${_type}_INCLUDE_DIRS}
CACHE PATH "${name} include directories" )
+ set( ${name}_DEFINITIONS ${${name}_${_type}_DEFINITIONS}
+ CACHE PATH "${name} definitions" )
+ mark_as_advanced( ${name}_DEPENDENCIES )
mark_as_advanced( ${name}_LIBRARIES )
mark_as_advanced( ${name}_INCLUDE_DIRS )
+ mark_as_advanced( ${name}_DEFINITIONS )
+ message( STATUS "Configuring for ${_type} ${name} - done" )
endmacro( CONFIGURE_WITH_LOCAL_OR_SYSTEM )