aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlex Merry <alex.merry@kde.org>2014-06-02 16:23:19 +0100
committerAlex Merry <alex.merry@kde.org>2014-06-02 16:23:19 +0100
commit5977afced396a62fb86eb178f13156588e3cfcd8 (patch)
treee45e8013d8b8c1151dd72905c936df0838c255bb /tests
parent1fe09cafc493bbe541f16d43b783cbb876cab528 (diff)
downloadextra-cmake-modules-5977afced396a62fb86eb178f13156588e3cfcd8.tar.gz
extra-cmake-modules-5977afced396a62fb86eb178f13156588e3cfcd8.tar.bz2
Reorganize tests
Move the detailed testing of KDEInstallDirs from ExecuteKDEModules to a subdir of KDEInstallDirsTest. This is where you would expect to find it, and it also makes sure that other KDE modules are not affecting the test. This also makes the KDEInstallDirs/not_cache_variable regression test work the same way as the other tests, doing a double-configure and build. While not stricly necessary to catch the original issue, it does ensure that the problem does not appear when reconfiguring either.
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt3
-rw-r--r--tests/ExecuteKDEModules/CMakeLists.txt160
-rw-r--r--tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt3
-rw-r--r--tests/KDEInstallDirsTest/not_cache_variable/main.c4
-rw-r--r--tests/KDEInstallDirsTest/vars_defined/CMakeLists.txt168
-rw-r--r--tests/KDEInstallDirsTest/vars_defined/main.c4
6 files changed, 181 insertions, 161 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index ad341c00..dfcc252a 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -3,7 +3,6 @@
add_subdirectory(ECMGenerateHeadersTest)
add_subdirectory(ECMSetupVersionTest)
-add_subdirectory(KDEInstallDirsTest)
macro(ADD_TEST_MACRO NAME COMMAND)
string(REPLACE "." "/" dir "${NAME}")
@@ -24,6 +23,8 @@ find_package(Qt5LinguistTools CONFIG)
add_test_macro(ExecuteCoreModules dummy)
add_test_macro(ExecuteKDEModules dummy)
+add_test_macro(KDEInstallDirsTest.vars_defined dummy)
+add_test_macro(KDEInstallDirsTest.not_cache_variable dummy)
add_test_macro(FindModules dummy)
add_test_macro(UseFindModules dummy)
diff --git a/tests/ExecuteKDEModules/CMakeLists.txt b/tests/ExecuteKDEModules/CMakeLists.txt
index 5f939024..1b3a8876 100644
--- a/tests/ExecuteKDEModules/CMakeLists.txt
+++ b/tests/ExecuteKDEModules/CMakeLists.txt
@@ -16,165 +16,5 @@ foreach(module ${all_kde_modules})
include("${module}")
endforeach()
-set(misc_vars
- CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
- INSTALL_TARGETS_DEFAULT_ARGS
- KF5_INSTALL_TARGETS_DEFAULT_ARGS
-)
-
-set(relative_path_vars
- # old-style variables
- AUTOSTART_INSTALL_DIR
- BIN_INSTALL_DIR
- CMAKECONFIG_INSTALL_PREFIX
- CONFIG_INSTALL_DIR
- DATA_INSTALL_DIR
- DBUS_INTERFACES_INSTALL_DIR
- DBUS_SERVICES_INSTALL_DIR
- DBUS_SYSTEM_SERVICES_INSTALL_DIR
- EXEC_INSTALL_PREFIX
- HTML_INSTALL_DIR
- ICON_INSTALL_DIR
- IMPORTS_INSTALL_DIR
- INCLUDE_INSTALL_DIR
- KCFG_INSTALL_DIR
- KCONF_UPDATE_INSTALL_DIR
- KF5_DATA_INSTALL_DIR
- KF5_INCLUDE_INSTALL_DIR
- KF5_LIBEXEC_INSTALL_DIR
- KNOTIFYRC_INSTALL_DIR
- LIBEXEC_INSTALL_DIR
- LIB_INSTALL_DIR
- LOCALE_INSTALL_DIR
- MAN_INSTALL_DIR
- PLUGIN_INSTALL_DIR
- QML_INSTALL_DIR
- QT_PLUGIN_INSTALL_DIR
- SBIN_INSTALL_DIR
- SERVICES_INSTALL_DIR
- SERVICETYPES_INSTALL_DIR
- SHARE_INSTALL_PREFIX
- SOUND_INSTALL_DIR
- SYSCONF_INSTALL_DIR
- TEMPLATES_INSTALL_DIR
- WALLPAPER_INSTALL_DIR
- XDG_APPS_INSTALL_DIR
- XDG_DIRECTORY_INSTALL_DIR
- XDG_MIME_INSTALL_DIR
-
- # new-style variables
- CMAKE_INSTALL_APPDIR
- CMAKE_INSTALL_AUTOSTARTDIR
- CMAKE_INSTALL_BINDIR
- CMAKE_INSTALL_CMAKEPACKAGEDIR
- CMAKE_INSTALL_CONFDIR
- CMAKE_INSTALL_DATADIR
- CMAKE_INSTALL_DATADIR_KF5
- CMAKE_INSTALL_DATAROOTDIR
- CMAKE_INSTALL_DBUSDIR
- CMAKE_INSTALL_DBUSINTERFACEDIR
- CMAKE_INSTALL_DBUSSERVICEDIR
- CMAKE_INSTALL_DBUSSYSTEMSERVICEDIR
- CMAKE_INSTALL_DESKTOPDIR
- CMAKE_INSTALL_DOCBUNDLEDIR
- CMAKE_INSTALL_EXECROOTDIR
- CMAKE_INSTALL_ICONDIR
- CMAKE_INSTALL_INCLUDEDIR
- CMAKE_INSTALL_INCLUDEDIR_KF5
- CMAKE_INSTALL_INFODIR
- CMAKE_INSTALL_KCFGDIR
- CMAKE_INSTALL_KCONFUPDATEDIR
- CMAKE_INSTALL_KNOTIFY5RCDIR
- CMAKE_INSTALL_KSERVICES5DIR
- CMAKE_INSTALL_KSERVICETYPES5DIR
- CMAKE_INSTALL_LIBDIR
- CMAKE_INSTALL_LIBEXECDIR
- CMAKE_INSTALL_LIBEXECDIR_KF5
- CMAKE_INSTALL_LOCALEDIR
- CMAKE_INSTALL_LOCALSTATEDIR
- CMAKE_INSTALL_MANDIR
- CMAKE_INSTALL_MIMEDIR
- CMAKE_INSTALL_PLUGINDIR
- CMAKE_INSTALL_QMLDIR
- CMAKE_INSTALL_QTPLUGINDIR
- CMAKE_INSTALL_QTQUICKIMPORTSDIR
- CMAKE_INSTALL_SBINDIR
- CMAKE_INSTALL_SHAREDSTATEDIR
- CMAKE_INSTALL_SOUNDDIR
- CMAKE_INSTALL_SYSCONFDIR
- CMAKE_INSTALL_TEMPLATEDIR
- CMAKE_INSTALL_WALLPAPERDIR
-)
-
-set(absolute_path_vars
- CMAKE_INSTALL_FULL_APPDIR
- CMAKE_INSTALL_FULL_AUTOSTARTDIR
- CMAKE_INSTALL_FULL_BINDIR
- CMAKE_INSTALL_FULL_CMAKEPACKAGEDIR
- CMAKE_INSTALL_FULL_CONFDIR
- CMAKE_INSTALL_FULL_DATADIR
- CMAKE_INSTALL_FULL_DATADIR_KF5
- CMAKE_INSTALL_FULL_DATAROOTDIR
- CMAKE_INSTALL_FULL_DBUSDIR
- CMAKE_INSTALL_FULL_DBUSINTERFACEDIR
- CMAKE_INSTALL_FULL_DBUSSERVICEDIR
- CMAKE_INSTALL_FULL_DBUSSYSTEMSERVICEDIR
- CMAKE_INSTALL_FULL_DESKTOPDIR
- CMAKE_INSTALL_FULL_DOCBUNDLEDIR
- CMAKE_INSTALL_FULL_EXECROOTDIR
- CMAKE_INSTALL_FULL_ICONDIR
- CMAKE_INSTALL_FULL_INCLUDEDIR
- CMAKE_INSTALL_FULL_INCLUDEDIR_KF5
- CMAKE_INSTALL_FULL_INFODIR
- CMAKE_INSTALL_FULL_KCFGDIR
- CMAKE_INSTALL_FULL_KCONFUPDATEDIR
- CMAKE_INSTALL_FULL_KNOTIFY5RCDIR
- CMAKE_INSTALL_FULL_KSERVICES5DIR
- CMAKE_INSTALL_FULL_KSERVICETYPES5DIR
- CMAKE_INSTALL_FULL_LIBDIR
- CMAKE_INSTALL_FULL_LIBEXECDIR
- CMAKE_INSTALL_FULL_LIBEXECDIR_KF5
- CMAKE_INSTALL_FULL_LOCALEDIR
- CMAKE_INSTALL_FULL_LOCALSTATEDIR
- CMAKE_INSTALL_FULL_MANDIR
- CMAKE_INSTALL_FULL_MIMEDIR
- CMAKE_INSTALL_FULL_PLUGINDIR
- CMAKE_INSTALL_FULL_QMLDIR
- CMAKE_INSTALL_FULL_QTPLUGINDIR
- CMAKE_INSTALL_FULL_QTQUICKIMPORTSDIR
- CMAKE_INSTALL_FULL_SBINDIR
- CMAKE_INSTALL_FULL_SHAREDSTATEDIR
- CMAKE_INSTALL_FULL_SOUNDDIR
- CMAKE_INSTALL_FULL_SYSCONFDIR
- CMAKE_INSTALL_FULL_TEMPLATEDIR
- CMAKE_INSTALL_FULL_WALLPAPERDIR
-)
-if(APPLE)
- # The default bundle directory is an absolute path
- list(APPEND absolute_path_vars
- BUNDLE_INSTALL_DIR
- CMAKE_INSTALL_BUNDLEDIR
- CMAKE_INSTALL_FULL_BUNDLEDIR
- )
-endif()
-
-foreach(variable ${misc_vars} ${relative_path_vars} ${absolute_path_vars})
- if(NOT DEFINED ${variable})
- message(SEND_ERROR "${variable} is not defined.")
- endif()
-endforeach()
-
-foreach(variable ${relative_path_vars})
- if(IS_ABSOLUTE ${${variable}})
- message(SEND_ERROR "${variable} (${${variable}}) should be a relative path, but is absolute.")
- endif()
-endforeach()
-
-foreach(variable ${absolute_path_vars})
- if(NOT IS_ABSOLUTE ${${variable}})
- message(SEND_ERROR "${variable} (${${variable}}) should be an absolute path, but is relative.")
- endif()
-endforeach()
-
add_executable(dummy main.c)
set_target_properties(dummy PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
diff --git a/tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt b/tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt
index b78c10d7..6162e070 100644
--- a/tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt
+++ b/tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt
@@ -5,3 +5,6 @@ set(kde_modules_dir ${CMAKE_SOURCE_DIR}/../../../kde-modules)
set(CMAKE_INSTALL_LIBDIR "foo")
include(${kde_modules_dir}/KDEInstallDirs.cmake)
+
+add_executable(dummy main.c)
+set_target_properties(dummy PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
diff --git a/tests/KDEInstallDirsTest/not_cache_variable/main.c b/tests/KDEInstallDirsTest/not_cache_variable/main.c
new file mode 100644
index 00000000..c13815ce
--- /dev/null
+++ b/tests/KDEInstallDirsTest/not_cache_variable/main.c
@@ -0,0 +1,4 @@
+int main()
+{
+ return 0;
+}
diff --git a/tests/KDEInstallDirsTest/vars_defined/CMakeLists.txt b/tests/KDEInstallDirsTest/vars_defined/CMakeLists.txt
new file mode 100644
index 00000000..f1617da0
--- /dev/null
+++ b/tests/KDEInstallDirsTest/vars_defined/CMakeLists.txt
@@ -0,0 +1,168 @@
+project(KDEInstallDirs.vars_defined)
+cmake_minimum_required(VERSION 2.8.12)
+
+set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../kde-modules)
+include(KDEInstallDirs)
+
+set(misc_vars
+ CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
+ INSTALL_TARGETS_DEFAULT_ARGS
+ KF5_INSTALL_TARGETS_DEFAULT_ARGS
+)
+
+set(relative_path_vars
+ # old-style variables
+ AUTOSTART_INSTALL_DIR
+ BIN_INSTALL_DIR
+ CMAKECONFIG_INSTALL_PREFIX
+ CONFIG_INSTALL_DIR
+ DATA_INSTALL_DIR
+ DBUS_INTERFACES_INSTALL_DIR
+ DBUS_SERVICES_INSTALL_DIR
+ DBUS_SYSTEM_SERVICES_INSTALL_DIR
+ EXEC_INSTALL_PREFIX
+ HTML_INSTALL_DIR
+ ICON_INSTALL_DIR
+ IMPORTS_INSTALL_DIR
+ INCLUDE_INSTALL_DIR
+ KCFG_INSTALL_DIR
+ KCONF_UPDATE_INSTALL_DIR
+ KF5_DATA_INSTALL_DIR
+ KF5_INCLUDE_INSTALL_DIR
+ KF5_LIBEXEC_INSTALL_DIR
+ KNOTIFYRC_INSTALL_DIR
+ LIBEXEC_INSTALL_DIR
+ LIB_INSTALL_DIR
+ LOCALE_INSTALL_DIR
+ MAN_INSTALL_DIR
+ PLUGIN_INSTALL_DIR
+ QML_INSTALL_DIR
+ QT_PLUGIN_INSTALL_DIR
+ SBIN_INSTALL_DIR
+ SERVICES_INSTALL_DIR
+ SERVICETYPES_INSTALL_DIR
+ SHARE_INSTALL_PREFIX
+ SOUND_INSTALL_DIR
+ SYSCONF_INSTALL_DIR
+ TEMPLATES_INSTALL_DIR
+ WALLPAPER_INSTALL_DIR
+ XDG_APPS_INSTALL_DIR
+ XDG_DIRECTORY_INSTALL_DIR
+ XDG_MIME_INSTALL_DIR
+
+ # new-style variables
+ CMAKE_INSTALL_APPDIR
+ CMAKE_INSTALL_AUTOSTARTDIR
+ CMAKE_INSTALL_BINDIR
+ CMAKE_INSTALL_CMAKEPACKAGEDIR
+ CMAKE_INSTALL_CONFDIR
+ CMAKE_INSTALL_DATADIR
+ CMAKE_INSTALL_DATADIR_KF5
+ CMAKE_INSTALL_DATAROOTDIR
+ CMAKE_INSTALL_DBUSDIR
+ CMAKE_INSTALL_DBUSINTERFACEDIR
+ CMAKE_INSTALL_DBUSSERVICEDIR
+ CMAKE_INSTALL_DBUSSYSTEMSERVICEDIR
+ CMAKE_INSTALL_DESKTOPDIR
+ CMAKE_INSTALL_DOCBUNDLEDIR
+ CMAKE_INSTALL_EXECROOTDIR
+ CMAKE_INSTALL_ICONDIR
+ CMAKE_INSTALL_INCLUDEDIR
+ CMAKE_INSTALL_INCLUDEDIR_KF5
+ CMAKE_INSTALL_INFODIR
+ CMAKE_INSTALL_KCFGDIR
+ CMAKE_INSTALL_KCONFUPDATEDIR
+ CMAKE_INSTALL_KNOTIFY5RCDIR
+ CMAKE_INSTALL_KSERVICES5DIR
+ CMAKE_INSTALL_KSERVICETYPES5DIR
+ CMAKE_INSTALL_LIBDIR
+ CMAKE_INSTALL_LIBEXECDIR
+ CMAKE_INSTALL_LIBEXECDIR_KF5
+ CMAKE_INSTALL_LOCALEDIR
+ CMAKE_INSTALL_LOCALSTATEDIR
+ CMAKE_INSTALL_MANDIR
+ CMAKE_INSTALL_MIMEDIR
+ CMAKE_INSTALL_PLUGINDIR
+ CMAKE_INSTALL_QMLDIR
+ CMAKE_INSTALL_QTPLUGINDIR
+ CMAKE_INSTALL_QTQUICKIMPORTSDIR
+ CMAKE_INSTALL_SBINDIR
+ CMAKE_INSTALL_SHAREDSTATEDIR
+ CMAKE_INSTALL_SOUNDDIR
+ CMAKE_INSTALL_SYSCONFDIR
+ CMAKE_INSTALL_TEMPLATEDIR
+ CMAKE_INSTALL_WALLPAPERDIR
+)
+
+set(absolute_path_vars
+ CMAKE_INSTALL_FULL_APPDIR
+ CMAKE_INSTALL_FULL_AUTOSTARTDIR
+ CMAKE_INSTALL_FULL_BINDIR
+ CMAKE_INSTALL_FULL_CMAKEPACKAGEDIR
+ CMAKE_INSTALL_FULL_CONFDIR
+ CMAKE_INSTALL_FULL_DATADIR
+ CMAKE_INSTALL_FULL_DATADIR_KF5
+ CMAKE_INSTALL_FULL_DATAROOTDIR
+ CMAKE_INSTALL_FULL_DBUSDIR
+ CMAKE_INSTALL_FULL_DBUSINTERFACEDIR
+ CMAKE_INSTALL_FULL_DBUSSERVICEDIR
+ CMAKE_INSTALL_FULL_DBUSSYSTEMSERVICEDIR
+ CMAKE_INSTALL_FULL_DESKTOPDIR
+ CMAKE_INSTALL_FULL_DOCBUNDLEDIR
+ CMAKE_INSTALL_FULL_EXECROOTDIR
+ CMAKE_INSTALL_FULL_ICONDIR
+ CMAKE_INSTALL_FULL_INCLUDEDIR
+ CMAKE_INSTALL_FULL_INCLUDEDIR_KF5
+ CMAKE_INSTALL_FULL_INFODIR
+ CMAKE_INSTALL_FULL_KCFGDIR
+ CMAKE_INSTALL_FULL_KCONFUPDATEDIR
+ CMAKE_INSTALL_FULL_KNOTIFY5RCDIR
+ CMAKE_INSTALL_FULL_KSERVICES5DIR
+ CMAKE_INSTALL_FULL_KSERVICETYPES5DIR
+ CMAKE_INSTALL_FULL_LIBDIR
+ CMAKE_INSTALL_FULL_LIBEXECDIR
+ CMAKE_INSTALL_FULL_LIBEXECDIR_KF5
+ CMAKE_INSTALL_FULL_LOCALEDIR
+ CMAKE_INSTALL_FULL_LOCALSTATEDIR
+ CMAKE_INSTALL_FULL_MANDIR
+ CMAKE_INSTALL_FULL_MIMEDIR
+ CMAKE_INSTALL_FULL_PLUGINDIR
+ CMAKE_INSTALL_FULL_QMLDIR
+ CMAKE_INSTALL_FULL_QTPLUGINDIR
+ CMAKE_INSTALL_FULL_QTQUICKIMPORTSDIR
+ CMAKE_INSTALL_FULL_SBINDIR
+ CMAKE_INSTALL_FULL_SHAREDSTATEDIR
+ CMAKE_INSTALL_FULL_SOUNDDIR
+ CMAKE_INSTALL_FULL_SYSCONFDIR
+ CMAKE_INSTALL_FULL_TEMPLATEDIR
+ CMAKE_INSTALL_FULL_WALLPAPERDIR
+)
+if(APPLE)
+ # The default bundle directory is an absolute path
+ list(APPEND absolute_path_vars
+ BUNDLE_INSTALL_DIR
+ CMAKE_INSTALL_BUNDLEDIR
+ CMAKE_INSTALL_FULL_BUNDLEDIR
+ )
+endif()
+
+foreach(variable ${misc_vars} ${relative_path_vars} ${absolute_path_vars})
+ if(NOT DEFINED ${variable})
+ message(SEND_ERROR "${variable} is not defined.")
+ endif()
+endforeach()
+
+foreach(variable ${relative_path_vars})
+ if(IS_ABSOLUTE ${${variable}})
+ message(SEND_ERROR "${variable} (${${variable}}) should be a relative path, but is absolute.")
+ endif()
+endforeach()
+
+foreach(variable ${absolute_path_vars})
+ if(NOT IS_ABSOLUTE ${${variable}})
+ message(SEND_ERROR "${variable} (${${variable}}) should be an absolute path, but is relative.")
+ endif()
+endforeach()
+
+add_executable(dummy main.c)
+set_target_properties(dummy PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
diff --git a/tests/KDEInstallDirsTest/vars_defined/main.c b/tests/KDEInstallDirsTest/vars_defined/main.c
new file mode 100644
index 00000000..c13815ce
--- /dev/null
+++ b/tests/KDEInstallDirsTest/vars_defined/main.c
@@ -0,0 +1,4 @@
+int main()
+{
+ return 0;
+}