aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlex Merry <alex.merry@kde.org>2014-11-07 15:07:31 +0000
committerAlex Merry <alex.merry@kde.org>2014-11-07 15:07:31 +0000
commite92da3387bdca560074656b65e3367f9c4086d4c (patch)
tree8096be71e8dbed51221b32ed59ccf598ba883e28 /tests
parent32c41706e06e96ab10b757ebe6337071db53fe43 (diff)
downloadextra-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.txt3
-rw-r--r--tests/KDEInstallDirsTest/CMakeLists.txt7
-rw-r--r--tests/KDEInstallDirsTest/usr_vars_defined/CMakeLists.txt179
-rw-r--r--tests/KDEInstallDirsTest/usr_vars_defined/main.c4
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;
+}