diff options
author | Alex Merry <alex.merry@kde.org> | 2014-11-07 15:07:31 +0000 |
---|---|---|
committer | Alex Merry <alex.merry@kde.org> | 2014-11-07 15:07:31 +0000 |
commit | e92da3387bdca560074656b65e3367f9c4086d4c (patch) | |
tree | 8096be71e8dbed51221b32ed59ccf598ba883e28 /tests | |
parent | 32c41706e06e96ab10b757ebe6337071db53fe43 (diff) | |
download | extra-cmake-modules-e92da3387bdca560074656b65e3367f9c4086d4c.tar.gz extra-cmake-modules-e92da3387bdca560074656b65e3367f9c4086d4c.tar.bz2 |
Set CMAKE_INSTALL_SYSCONFDIR to /etc when CMAKE_INSTALL_PREFIX is /usr
When installing to /usr, we should use /etc for configuration. Using
/usr/etc does not make sense.
REVIEW: 120246
Diffstat (limited to 'tests')
-rw-r--r-- | tests/CMakeLists.txt | 3 | ||||
-rw-r--r-- | tests/KDEInstallDirsTest/CMakeLists.txt | 7 | ||||
-rw-r--r-- | tests/KDEInstallDirsTest/usr_vars_defined/CMakeLists.txt | 179 | ||||
-rw-r--r-- | tests/KDEInstallDirsTest/usr_vars_defined/main.c | 4 |
4 files changed, 186 insertions, 7 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b8fb3b84..0ee544a5 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -32,6 +32,9 @@ add_test_macro(ExecuteKDEModules dummy) add_test_macro(KDEInstallDirsTest.vars_defined dummy) add_test_macro(KDEInstallDirsTest.not_cache_variable dummy) +set(KDEInstallDirsTest.usr_vars_defined_EXTRA_OPTIONS + --build-options -DCMAKE_INSTALL_PREFIX=/usr) +add_test_macro(KDEInstallDirsTest.usr_vars_defined dummy) find_package(Qt5Core QUIET) if (TARGET Qt5::qmake) set(KDEInstallDirsTest.qt_vars_defined_EXTRA_OPTIONS diff --git a/tests/KDEInstallDirsTest/CMakeLists.txt b/tests/KDEInstallDirsTest/CMakeLists.txt deleted file mode 100644 index ad3febe5..00000000 --- a/tests/KDEInstallDirsTest/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/not_cache_variable) - -add_test( - NAME KDEInstallDirs_not_cache_variable - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/not_cache_variable - COMMAND "${CMAKE_COMMAND}" "${CMAKE_CURRENT_SOURCE_DIR}/not_cache_variable" - ) diff --git a/tests/KDEInstallDirsTest/usr_vars_defined/CMakeLists.txt b/tests/KDEInstallDirsTest/usr_vars_defined/CMakeLists.txt new file mode 100644 index 00000000..aea07604 --- /dev/null +++ b/tests/KDEInstallDirsTest/usr_vars_defined/CMakeLists.txt @@ -0,0 +1,179 @@ +# In this test, CMAKE_INSTALL_DIR=/usr + +project(KDEInstallDirs.vars_defined) +cmake_minimum_required(VERSION 2.8.12) + +set(ECM_KDE_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../kde-modules) +set(ECM_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules) +set(CMAKE_MODULE_PATH "${ECM_KDE_MODULE_DIR}") +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 + BIN_INSTALL_DIR + CMAKECONFIG_INSTALL_PREFIX + 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 + KXMLGUI_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 + 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_BINDIR + CMAKE_INSTALL_CMAKEPACKAGEDIR + 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_KXMLGUI5DIR + 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_METAINFODIR + CMAKE_INSTALL_PLUGINDIR + CMAKE_INSTALL_QMLDIR + CMAKE_INSTALL_QTPLUGINDIR + CMAKE_INSTALL_QTQUICKIMPORTSDIR + CMAKE_INSTALL_SBINDIR + CMAKE_INSTALL_SHAREDSTATEDIR + CMAKE_INSTALL_SOUNDDIR + CMAKE_INSTALL_TEMPLATEDIR + CMAKE_INSTALL_WALLPAPERDIR +) + +set(absolute_path_vars + AUTOSTART_INSTALL_DIR + CONFIG_INSTALL_DIR + SYSCONF_INSTALL_DIR + + CMAKE_INSTALL_AUTOSTARTDIR + CMAKE_INSTALL_CONFDIR + CMAKE_INSTALL_SYSCONFDIR + + 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_KXMLGUI5DIR + 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_METAINFODIR + 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/usr_vars_defined/main.c b/tests/KDEInstallDirsTest/usr_vars_defined/main.c new file mode 100644 index 00000000..c13815ce --- /dev/null +++ b/tests/KDEInstallDirsTest/usr_vars_defined/main.c @@ -0,0 +1,4 @@ +int main() +{ + return 0; +} |