49 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
								 | 
							
								# - MACRO_OPTIONAL_FIND_PACKAGE() combines FIND_PACKAGE() with an OPTION()
							 | 
						||
| 
								 | 
							
								# MACRO_OPTIONAL_FIND_PACKAGE( <name> [QUIT] )
							 | 
						||
| 
								 | 
							
								# This macro is a combination of OPTION() and FIND_PACKAGE(), it
							 | 
						||
| 
								 | 
							
								# works like FIND_PACKAGE(), but additionally it automatically creates
							 | 
						||
| 
								 | 
							
								# an option name WITH_<name>, which can be disabled via the cmake GUI.
							 | 
						||
| 
								 | 
							
								# or via -DWITH_<name>=OFF
							 | 
						||
| 
								 | 
							
								# The standard <name>_FOUND variables can be used in the same way
							 | 
						||
| 
								 | 
							
								# as when using the normal FIND_PACKAGE()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Copyright (c) 2006-2010 Alexander Neundorf, <neundorf@kde.org>
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Redistribution and use is allowed according to the terms of the BSD license.
							 | 
						||
| 
								 | 
							
								# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# This is just a helper macro to set a bunch of variables empty.
							 | 
						||
| 
								 | 
							
								# We don't know whether the package uses UPPERCASENAME or CamelCaseName, so we try both:
							 | 
						||
| 
								 | 
							
								macro(_MOFP_SET_EMPTY_IF_DEFINED _name _var)
							 | 
						||
| 
								 | 
							
								   if(DEFINED ${_name}_${_var})
							 | 
						||
| 
								 | 
							
								      set(${_name}_${_var} "")
							 | 
						||
| 
								 | 
							
								   endif(DEFINED ${_name}_${_var})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   string(TOUPPER ${_name} _nameUpper)
							 | 
						||
| 
								 | 
							
								   if(DEFINED ${_nameUpper}_${_var})
							 | 
						||
| 
								 | 
							
								      set(${_nameUpper}_${_var}  "")
							 | 
						||
| 
								 | 
							
								   endif(DEFINED ${_nameUpper}_${_var})
							 | 
						||
| 
								 | 
							
								endmacro(_MOFP_SET_EMPTY_IF_DEFINED _package _var)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								macro (MACRO_OPTIONAL_FIND_PACKAGE _name _default)
							 | 
						||
| 
								 | 
							
								   option(WITH_${_name} "Search for ${_name} package" ${_default})
							 | 
						||
| 
								 | 
							
								   if (WITH_${_name})
							 | 
						||
| 
								 | 
							
								      find_package(${_name} ${ARGN})
							 | 
						||
| 
								 | 
							
								   else (WITH_${_name})
							 | 
						||
| 
								 | 
							
								      string(TOUPPER ${_name} _nameUpper)
							 | 
						||
| 
								 | 
							
								      set(${_name}_FOUND FALSE)
							 | 
						||
| 
								 | 
							
								      set(${_nameUpper}_FOUND FALSE)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      _mofp_set_empty_if_defined(${_name} INCLUDE_DIRS)
							 | 
						||
| 
								 | 
							
								      _mofp_set_empty_if_defined(${_name} INCLUDE_DIR)
							 | 
						||
| 
								 | 
							
								      _mofp_set_empty_if_defined(${_name} INCLUDES)
							 | 
						||
| 
								 | 
							
								      _mofp_set_empty_if_defined(${_name} LIBRARY)
							 | 
						||
| 
								 | 
							
								      _mofp_set_empty_if_defined(${_name} LIBRARIES)
							 | 
						||
| 
								 | 
							
								      _mofp_set_empty_if_defined(${_name} LIBS)
							 | 
						||
| 
								 | 
							
								      _mofp_set_empty_if_defined(${_name} FLAGS)
							 | 
						||
| 
								 | 
							
								      _mofp_set_empty_if_defined(${_name} DEFINITIONS)
							 | 
						||
| 
								 | 
							
								   endif (WITH_${_name})
							 | 
						||
| 
								 | 
							
								endmacro (MACRO_OPTIONAL_FIND_PACKAGE)
							 | 
						||
| 
								 | 
							
								
							 |