aboutsummaryrefslogtreecommitdiff
path: root/tests/KDEInstallDirsTest
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/KDEInstallDirsTest
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/KDEInstallDirsTest')
-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
4 files changed, 179 insertions, 0 deletions
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;
+}