diff options
author | Alex Merry <alex.merry@kde.org> | 2014-06-02 16:23:19 +0100 |
---|---|---|
committer | Alex Merry <alex.merry@kde.org> | 2014-06-02 16:23:19 +0100 |
commit | 5977afced396a62fb86eb178f13156588e3cfcd8 (patch) | |
tree | e45e8013d8b8c1151dd72905c936df0838c255bb /tests | |
parent | 1fe09cafc493bbe541f16d43b783cbb876cab528 (diff) | |
download | extra-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.txt | 3 | ||||
-rw-r--r-- | tests/ExecuteKDEModules/CMakeLists.txt | 160 | ||||
-rw-r--r-- | tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt | 3 | ||||
-rw-r--r-- | tests/KDEInstallDirsTest/not_cache_variable/main.c | 4 | ||||
-rw-r--r-- | tests/KDEInstallDirsTest/vars_defined/CMakeLists.txt | 168 | ||||
-rw-r--r-- | tests/KDEInstallDirsTest/vars_defined/main.c | 4 |
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; +} |