diff options
author | Alex Merry <alex.merry@kde.org> | 2014-04-20 15:55:54 +0100 |
---|---|---|
committer | Alex Merry <alex.merry@kde.org> | 2014-04-25 10:43:53 +0100 |
commit | eb8a168c7a184770019d7fcf1dd8ad1a0ba02c80 (patch) | |
tree | 361005973f794b22bab8ce0e4a51d8fd47c50e96 /tests | |
parent | bef4cdd905980b2c8a45a50e2201678c1e4e38af (diff) | |
download | extra-cmake-modules-eb8a168c7a184770019d7fcf1dd8ad1a0ba02c80.tar.gz extra-cmake-modules-eb8a168c7a184770019d7fcf1dd8ad1a0ba02c80.tar.bz2 |
Split up module execution tests
Find module tests now use find_package(), and there is a version for
when CMAKE_MODULE_PATH is set and a version for when
ecm_use_find_modules() is used.
KDE modules are also now tested.
REVIEW 117658
Diffstat (limited to 'tests')
-rw-r--r-- | tests/CMakeLists.txt | 5 | ||||
-rw-r--r-- | tests/ExecuteAllModules/CMakeLists.txt | 33 | ||||
-rw-r--r-- | tests/ExecuteCoreModules/CMakeLists.txt | 13 | ||||
-rw-r--r-- | tests/ExecuteCoreModules/main.c (renamed from tests/ExecuteAllModules/main.c) | 0 | ||||
-rw-r--r-- | tests/ExecuteKDEModules/CMakeLists.txt | 19 | ||||
-rw-r--r-- | tests/ExecuteKDEModules/main.c | 4 | ||||
-rw-r--r-- | tests/FindModules/CMakeLists.txt | 20 | ||||
-rw-r--r-- | tests/FindModules/main.c | 4 | ||||
-rw-r--r-- | tests/UseFindModules/CMakeLists.txt | 30 | ||||
-rw-r--r-- | tests/UseFindModules/main.c | 4 |
10 files changed, 98 insertions, 34 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b0d7aec9..171f44af 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -19,7 +19,10 @@ macro(ADD_TEST_MACRO NAME COMMAND) --test-command ${COMMAND} ${ARGN}) endmacro(ADD_TEST_MACRO) -add_test_macro(ExecuteAllModules ExecuteAllModules) +add_test_macro(ExecuteCoreModules dummy) +add_test_macro(ExecuteKDEModules dummy) +add_test_macro(FindModules dummy) +add_test_macro(UseFindModules dummy) set(ECMInstallIconsTest_EXTRA_OPTIONS --build-target install diff --git a/tests/ExecuteAllModules/CMakeLists.txt b/tests/ExecuteAllModules/CMakeLists.txt deleted file mode 100644 index 12e86c15..00000000 --- a/tests/ExecuteAllModules/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ -# This file includes all *.cmake files, so they are all executed. -# As it is it doesn't test a lot. -# It makes sure that the modules don't contain basic syntax errors. -# It also makes sure that modules don't fail with an error if something -# wasn't found but REQUIRED was not given. -# -# I guess more things could be added, like checking whether variables are -# defined after running the modules (e.g. FOO_FOUND etc.). -project(ExecuteAllModules) -cmake_minimum_required(VERSION 2.8.12) - -file(GLOB all_find_modules "${CMAKE_CURRENT_SOURCE_DIR}/../../find-modules/Find*cmake") -file(GLOB all_other_modules "${CMAKE_CURRENT_SOURCE_DIR}/../../modules/*cmake") - -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../modules) - -foreach(module ${all_find_modules} ${all_other_modules}) - message(STATUS "module: ${module}") - include("${module}") - - # get the "basename" of the package, so the existence of variables like - # FOO_FOUND could be tested later on, Alex - string(REGEX REPLACE ".+Find([^\\.]+)\\.cmake" "\\1" packageName "${module}") - string(TOUPPER "${packageName}" packageNameUpper) - -# disabled for now, since too many modules break: -# if(NOT DEFINED ${packageNameUpper}_FOUND) -# message(SEND_ERROR "${packageNameUpper}_FOUND not defined !") -# endif(NOT DEFINED ${packageNameUpper}_FOUND) - -endforeach(module ${all_modules}) - -add_executable(ExecuteAllModules main.c) diff --git a/tests/ExecuteCoreModules/CMakeLists.txt b/tests/ExecuteCoreModules/CMakeLists.txt new file mode 100644 index 00000000..2a224ca1 --- /dev/null +++ b/tests/ExecuteCoreModules/CMakeLists.txt @@ -0,0 +1,13 @@ +project(ExecuteCoreModules) +cmake_minimum_required(VERSION 2.8.12) + +file(GLOB all_core_modules "${CMAKE_CURRENT_SOURCE_DIR}/../../modules/*cmake") + +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../modules) + +foreach(module ${all_core_modules}) + message(STATUS "module: ${module}") + include("${module}") +endforeach() + +add_executable(dummy main.c) diff --git a/tests/ExecuteAllModules/main.c b/tests/ExecuteCoreModules/main.c index c13815ce..c13815ce 100644 --- a/tests/ExecuteAllModules/main.c +++ b/tests/ExecuteCoreModules/main.c diff --git a/tests/ExecuteKDEModules/CMakeLists.txt b/tests/ExecuteKDEModules/CMakeLists.txt new file mode 100644 index 00000000..cdfd07c4 --- /dev/null +++ b/tests/ExecuteKDEModules/CMakeLists.txt @@ -0,0 +1,19 @@ +project(ExecuteKDEModules) +cmake_minimum_required(VERSION 2.8.12) + +# order is important (install dirs before cmake settings)! +set(all_kde_modules + KDEInstallDirs + KDECMakeSettings + KDECompilerSettings + KDEFrameworkCompilerSettings +) + +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../kde-modules) + +foreach(module ${all_kde_modules}) + message(STATUS "module: ${module}") + include("${module}") +endforeach() + +add_executable(dummy main.c) diff --git a/tests/ExecuteKDEModules/main.c b/tests/ExecuteKDEModules/main.c new file mode 100644 index 00000000..c13815ce --- /dev/null +++ b/tests/ExecuteKDEModules/main.c @@ -0,0 +1,4 @@ +int main() +{ + return 0; +} diff --git a/tests/FindModules/CMakeLists.txt b/tests/FindModules/CMakeLists.txt new file mode 100644 index 00000000..0d2bbee3 --- /dev/null +++ b/tests/FindModules/CMakeLists.txt @@ -0,0 +1,20 @@ +project(FindModules) +cmake_minimum_required(VERSION 2.8.12) + +file(GLOB all_find_modules + RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/../../find-modules" + "${CMAKE_CURRENT_SOURCE_DIR}/../../find-modules/Find*cmake") + +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../find-modules) + +foreach(module ${all_find_modules}) + string(REGEX REPLACE ".+Find([^\\.]+)\\.cmake" "\\1" packageName "${module}") + message(STATUS "Finding package: ${packageName}") + find_package(${packageName}) + + if(NOT DEFINED ${packageName}_FOUND) + message(SEND_ERROR "${packageName}_FOUND not defined!") + endif() +endforeach() + +add_executable(dummy main.c) diff --git a/tests/FindModules/main.c b/tests/FindModules/main.c new file mode 100644 index 00000000..c13815ce --- /dev/null +++ b/tests/FindModules/main.c @@ -0,0 +1,4 @@ +int main() +{ + return 0; +} diff --git a/tests/UseFindModules/CMakeLists.txt b/tests/UseFindModules/CMakeLists.txt new file mode 100644 index 00000000..a6861ef9 --- /dev/null +++ b/tests/UseFindModules/CMakeLists.txt @@ -0,0 +1,30 @@ +project(UseFindModules) +cmake_minimum_required(VERSION 2.8.12) + +set(ECM_FIND_MODULE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../find-modules") +set(ECM_MODULE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../modules") + +file(GLOB all_find_modules + RELATIVE "${ECM_FIND_MODULE_DIR}" + "${ECM_FIND_MODULE_DIR}/Find*cmake") + +set(package_list) +foreach(module ${all_find_modules}) + string(REGEX REPLACE ".+Find([^\\.]+)\\.cmake" "\\1" packageName "${module}") + list(APPEND package_list "${packageName}") +endforeach() + +include("${ECM_MODULE_DIR}/ECMUseFindModules.cmake") +ecm_use_find_modules(DIR "${CMAKE_CURRENT_BINARY_DIR}/cmake" + MODULES ${package_list}) + +foreach(packageName ${package_list}) + message(STATUS "Finding package: ${packageName}") + find_package(${packageName}) + + if(NOT DEFINED ${packageName}_FOUND) + message(SEND_ERROR "${packageName}_FOUND not defined!") + endif() +endforeach() + +add_executable(dummy main.c) diff --git a/tests/UseFindModules/main.c b/tests/UseFindModules/main.c new file mode 100644 index 00000000..c13815ce --- /dev/null +++ b/tests/UseFindModules/main.c @@ -0,0 +1,4 @@ +int main() +{ + return 0; +} |