aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlex Merry <alex.merry@kde.org>2014-04-20 15:55:54 +0100
committerAlex Merry <alex.merry@kde.org>2014-04-25 10:43:53 +0100
commiteb8a168c7a184770019d7fcf1dd8ad1a0ba02c80 (patch)
tree361005973f794b22bab8ce0e4a51d8fd47c50e96 /tests
parentbef4cdd905980b2c8a45a50e2201678c1e4e38af (diff)
downloadextra-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.txt5
-rw-r--r--tests/ExecuteAllModules/CMakeLists.txt33
-rw-r--r--tests/ExecuteCoreModules/CMakeLists.txt13
-rw-r--r--tests/ExecuteCoreModules/main.c (renamed from tests/ExecuteAllModules/main.c)0
-rw-r--r--tests/ExecuteKDEModules/CMakeLists.txt19
-rw-r--r--tests/ExecuteKDEModules/main.c4
-rw-r--r--tests/FindModules/CMakeLists.txt20
-rw-r--r--tests/FindModules/main.c4
-rw-r--r--tests/UseFindModules/CMakeLists.txt30
-rw-r--r--tests/UseFindModules/main.c4
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;
+}