aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2010-01-06 22:09:54 +0000
committerAlexander Neundorf <neundorf@kde.org>2010-01-06 22:09:54 +0000
commit139e74d81f6e0f7a50ba114328d97726b43d3497 (patch)
tree05327402fe99f881533d655df479924bdc51c11a
parentb0f30d9bad00a75d726395c217b1c8a32528c46b (diff)
downloadextra-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.cmake32
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)