aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules-tests/Flex/CMakeLists.txt8
-rw-r--r--modules-tests/QCA2/CMakeLists.txt5
-rw-r--r--modules-tests/RunAllModuleTests.cmake20
-rw-r--r--modules-tests/TestFindPackage.cmake35
-rw-r--r--modules-tests/Xine/CMakeLists.txt11
5 files changed, 64 insertions, 15 deletions
diff --git a/modules-tests/Flex/CMakeLists.txt b/modules-tests/Flex/CMakeLists.txt
index 0cc21104..38b66566 100644
--- a/modules-tests/Flex/CMakeLists.txt
+++ b/modules-tests/Flex/CMakeLists.txt
@@ -1,9 +1,5 @@
-cmake_minimum_required(VERSION 2.6.2)
+include("${CMAKE_CURRENT_SOURCE_DIR}/../TestFindPackage.cmake")
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../modules" )
-find_package(Flex)
-
-message(STATUS "FLEX_FOUND: \"${FLEX_FOUND}\"")
-message(STATUS "FLEX_VERSION: \"${FLEX_VERSION}\"")
-message(STATUS "FLEX_EXECUTABLE: \"${FLEX_EXECUTABLE}\"")
+test_find_package(Flex FLEX VERSION EXECUTABLE)
diff --git a/modules-tests/QCA2/CMakeLists.txt b/modules-tests/QCA2/CMakeLists.txt
new file mode 100644
index 00000000..46f617ed
--- /dev/null
+++ b/modules-tests/QCA2/CMakeLists.txt
@@ -0,0 +1,5 @@
+include("${CMAKE_CURRENT_SOURCE_DIR}/../TestFindPackage.cmake")
+
+set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../modules" )
+
+test_find_package(QCA2 QCA2 INCLUDE_DIR LIBRARIES DEFINITIONS)
diff --git a/modules-tests/RunAllModuleTests.cmake b/modules-tests/RunAllModuleTests.cmake
new file mode 100644
index 00000000..537072c1
--- /dev/null
+++ b/modules-tests/RunAllModuleTests.cmake
@@ -0,0 +1,20 @@
+# run this script via "cmake -P RunAllModuletests.cmake" to
+# execute all module tests in one go.
+# To see only the results and not the other cmake output,
+# you can grep for ">>".
+
+get_filename_component(currentDir "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+function(execute_one_test name)
+ set(workingDir "${currentDir}/${name}/build")
+ file(REMOVE_RECURSE "${workingDir}")
+ file(MAKE_DIRECTORY "${workingDir}")
+ execute_process(COMMAND ${CMAKE_COMMAND} "${currentDir}/${name}"
+ WORKING_DIRECTORY "${workingDir}")
+endfunction(execute_one_test)
+
+execute_one_test(Xine)
+execute_one_test(Flex)
+execute_one_test(QCA2)
+
+
diff --git a/modules-tests/TestFindPackage.cmake b/modules-tests/TestFindPackage.cmake
new file mode 100644
index 00000000..1a1bf8fe
--- /dev/null
+++ b/modules-tests/TestFindPackage.cmake
@@ -0,0 +1,35 @@
+# 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 )
+ message(STATUS ">> ***** Testing Find${package}.cmake *****")
+ 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 ">> ***** Done *****")
+endmacro(TEST_FIND_PACKAGE package)
diff --git a/modules-tests/Xine/CMakeLists.txt b/modules-tests/Xine/CMakeLists.txt
index 4fcbbd58..8c2ac6e6 100644
--- a/modules-tests/Xine/CMakeLists.txt
+++ b/modules-tests/Xine/CMakeLists.txt
@@ -1,12 +1,5 @@
-cmake_minimum_required(VERSION 2.6.2)
+include("${CMAKE_CURRENT_SOURCE_DIR}/../TestFindPackage.cmake")
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../modules" )
-find_package(Xine)
-
-message(STATUS "XINE_FOUND: \"${XINE_FOUND}\"")
-message(STATUS "XINE_VERSION: \"${XINE_VERSION}\"")
-message(STATUS "XINE_BUGFIX_VERSION: \"${XINE_BUGFIX_VERSION}\"")
-message(STATUS "XINE_INCLUDE_DIR: \"${XINE_INCLUDE_DIR}\"")
-message(STATUS "XINE_LIBRARY: \"${XINE_LIBRARY}\"")
-message(STATUS "XINE_XCB_FOUND: \"${XINE_XCB_FOUND}\"")
+test_find_package(Xine XINE VERSION BUGFIX_VERSION INCLUDE_DIR LIBRARY XCB_FOUND)