aboutsummaryrefslogtreecommitdiff
path: root/modules-tests/TestFindPackage.cmake
diff options
context:
space:
mode:
authorAllen Winter <allen.winter@kdab.com>2011-06-28 17:13:05 -0400
committerAllen Winter <allen.winter@kdab.com>2011-06-28 17:13:05 -0400
commite15ffacc69242c89107afbfda6f8ece9f2b56633 (patch)
tree34bed177321c49f883d9d75616947a18f38c037f /modules-tests/TestFindPackage.cmake
parent5c79bed7250cb2f854bfb4f20e4d266925d94b54 (diff)
parentc06badd8d431583071cad638fea082ca0776a0a3 (diff)
downloadextra-cmake-modules-e15ffacc69242c89107afbfda6f8ece9f2b56633.tar.gz
extra-cmake-modules-e15ffacc69242c89107afbfda6f8ece9f2b56633.tar.bz2
Merge branch 'allen' of /data/kde/trunk/KDE/kdelibs
Diffstat (limited to 'modules-tests/TestFindPackage.cmake')
-rw-r--r--modules-tests/TestFindPackage.cmake44
1 files changed, 44 insertions, 0 deletions
diff --git a/modules-tests/TestFindPackage.cmake b/modules-tests/TestFindPackage.cmake
new file mode 100644
index 00000000..8de22b06
--- /dev/null
+++ b/modules-tests/TestFindPackage.cmake
@@ -0,0 +1,44 @@
+# This module provides the macro TEST_FIND_PACKAGE()
+#
+# TEST_FIND_PACKAGE(package prefix var1 .. varN )
+# It can be used to test a CMake Find-module.
+# It executes FIND_PACKAGE(<package>) and then prints some results.
+# <package> is the same as for FIND_PACKAGE() and
+# prefix should be the prefix which is used in that module for
+# all variables.
+# It checks <prefix>_FOUND to decide whether the module was successful or not.
+#
+# Example:
+# test_find_package(Xine XINE VERSION INCLUDE_DIR LIBRARY)
+#
+# This will check XINE_FOUND and then print the variables XINE_VERSION, XINE_INCLUDE_DIR and XINE_LIBRARY.
+
+cmake_minimum_required(VERSION 2.6.2)
+cmake_policy(SET CMP0000 OLD)
+
+macro(TEST_FIND_PACKAGE package prefix )
+ # if PKG_CONFIG_EXECUTABLE is set to "echo", FindPkgConfig.cmake
+ # will not search again for the real pkg-config, as it would if it was set to NOTFOUND
+ # and still the execute_process(${PKG_CONFIG_EXECUTABLE} ) calls will work
+ # but never return success.
+ if("${PKG_CONFIG_EXECUTABLE}" STREQUAL "echo")
+ message(STATUS ":: ***** Testing Find${package}.cmake, with pkg-config disabled *****")
+ else("${PKG_CONFIG_EXECUTABLE}" STREQUAL "echo")
+ message(STATUS ":: ***** Testing Find${package}.cmake *****")
+ endif("${PKG_CONFIG_EXECUTABLE}" STREQUAL "echo")
+
+ find_package(${package})
+ message(STATUS ":: ***** Results from Find${package}.cmake *****")
+
+ if ( ${prefix}_FOUND)
+ message(STATUS ":: Find${package}.cmake: ${package} has been found")
+ else ( ${prefix}_FOUND)
+ message(STATUS ":: Find${package}.cmake: ${package} has NOT been found !")
+ endif ( ${prefix}_FOUND)
+
+ message(STATUS ":: ${prefix}_FOUND: \"${${prefix}_FOUND}\"")
+ foreach(var ${ARGN})
+ message(STATUS ":: ${prefix}_${var}: \"${${prefix}_${var}}\"")
+ endforeach(var)
+ message(STATUS "::")
+endmacro(TEST_FIND_PACKAGE package)