diff options
Diffstat (limited to 'modules-tests')
| -rw-r--r-- | modules-tests/Flex/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | modules-tests/QCA2/CMakeLists.txt | 5 | ||||
| -rw-r--r-- | modules-tests/RunAllModuleTests.cmake | 20 | ||||
| -rw-r--r-- | modules-tests/TestFindPackage.cmake | 35 | ||||
| -rw-r--r-- | modules-tests/Xine/CMakeLists.txt | 11 | 
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) | 
