diff options
| -rw-r--r-- | modules/MacroOptionalFindPackage.cmake | 32 | 
1 files changed, 26 insertions, 6 deletions
| diff --git a/modules/MacroOptionalFindPackage.cmake b/modules/MacroOptionalFindPackage.cmake index f09952f3..d4ed48e3 100644 --- a/modules/MacroOptionalFindPackage.cmake +++ b/modules/MacroOptionalFindPackage.cmake @@ -7,22 +7,42 @@  # The standard <name>_FOUND variables can be used in the same way  # as when using the normal FIND_PACKAGE() -# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org> +# 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 )     option(WITH_${_name} "Search for ${_name} package" ON)     if (WITH_${_name})        find_package(${_name} ${ARGN})     else (WITH_${_name}) -      set(${_name}_FOUND) -      set(${_name}_INCLUDE_DIR) -      set(${_name}_INCLUDES) -      set(${_name}_LIBRARY) -      set(${_name}_LIBRARIES) +      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) | 
