diff options
author | Alexander Neundorf <neundorf@kde.org> | 2010-01-06 22:09:54 +0000 |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2010-01-06 22:09:54 +0000 |
commit | 139e74d81f6e0f7a50ba114328d97726b43d3497 (patch) | |
tree | 05327402fe99f881533d655df479924bdc51c11a | |
parent | b0f30d9bad00a75d726395c217b1c8a32528c46b (diff) | |
download | extra-cmake-modules-139e74d81f6e0f7a50ba114328d97726b43d3497.tar.gz extra-cmake-modules-139e74d81f6e0f7a50ba114328d97726b43d3497.tar.bz2 |
bugfix: this macro did actually in most cases not work as it should, since most
find-modules set UPPERCASE_FOUND, while this set only CamelCase_FOUND. Now it sets both.
Alex
CCMAIL: vkrause@kde.org
svn path=/trunk/KDE/kdelibs/; revision=1070843
-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) |