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/KDEInstallDirsTest | |
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/KDEInstallDirsTest')
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; +} |