aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlex Merry <alex.merry@kde.org>2014-09-11 21:00:00 +0100
committerAlex Merry <alex.merry@kde.org>2014-09-11 21:00:00 +0100
commitf8609e8b64fd9170aa1444ad4e2f6d6d759e9050 (patch)
tree083c6d46b2d494bd6f8161e523d9dff82dadbc4a /tests
parent6ab50fa9e27c4710beb2641fd510dfce08cc2719 (diff)
downloadextra-cmake-modules-f8609e8b64fd9170aa1444ad4e2f6d6d759e9050.tar.gz
extra-cmake-modules-f8609e8b64fd9170aa1444ad4e2f6d6d759e9050.tar.bz2
Fix fallout from recent ECM patches
KDE modules cannot assume the normal ECM modules are in the CMake module path, and CMAKE_INSTALL_IMPORTS_INSTALL_DIR / QTQUICKIMPORTSDIR was not set correctly. Also, ECMQueryQmake.cmake used a deprecated CMake command (exec_program).
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt8
-rw-r--r--tests/ExecuteKDEModules/CMakeLists.txt4
-rw-r--r--tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt6
-rw-r--r--tests/KDEInstallDirsTest/qt_vars_defined/CMakeLists.txt177
-rw-r--r--tests/KDEInstallDirsTest/qt_vars_defined/main.c4
-rw-r--r--tests/KDEInstallDirsTest/vars_defined/CMakeLists.txt4
6 files changed, 199 insertions, 4 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 69da6e6e..b8fb3b84 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -29,8 +29,16 @@ 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)
+find_package(Qt5Core QUIET)
+if (TARGET Qt5::qmake)
+ set(KDEInstallDirsTest.qt_vars_defined_EXTRA_OPTIONS
+ --build-options -DKDE_INSTALL_USE_QT_SYS_PATHS=ON)
+ add_test_macro(KDEInstallDirsTest.qt_vars_defined dummy)
+endif ()
+
add_test_macro(FindModules dummy)
add_test_macro(UseFindModules dummy)
diff --git a/tests/ExecuteKDEModules/CMakeLists.txt b/tests/ExecuteKDEModules/CMakeLists.txt
index 1b3a8876..d70ea908 100644
--- a/tests/ExecuteKDEModules/CMakeLists.txt
+++ b/tests/ExecuteKDEModules/CMakeLists.txt
@@ -9,7 +9,9 @@ set(all_kde_modules
KDEFrameworkCompilerSettings
)
-set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../kde-modules)
+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}")
foreach(module ${all_kde_modules})
message(STATUS "module: ${module}")
diff --git a/tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt b/tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt
index 6162e070..ea62d95b 100644
--- a/tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt
+++ b/tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt
@@ -1,10 +1,12 @@
# Test KDEInstallDirs does not crash if a variable like CMAKE_INSTALL_LIBDIR is
# defined but is not a cache variable.
cmake_minimum_required(VERSION 2.8)
-set(kde_modules_dir ${CMAKE_SOURCE_DIR}/../../../kde-modules)
+
+set(ECM_KDE_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../kde-modules)
+set(ECM_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
set(CMAKE_INSTALL_LIBDIR "foo")
-include(${kde_modules_dir}/KDEInstallDirs.cmake)
+include(${ECM_KDE_MODULE_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/qt_vars_defined/CMakeLists.txt b/tests/KDEInstallDirsTest/qt_vars_defined/CMakeLists.txt
new file mode 100644
index 00000000..40c1cd88
--- /dev/null
+++ b/tests/KDEInstallDirsTest/qt_vars_defined/CMakeLists.txt
@@ -0,0 +1,177 @@
+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
+ 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
+ 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
+ QML_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_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_QMLDIR
+ CMAKE_INSTALL_SBINDIR
+ CMAKE_INSTALL_SHAREDSTATEDIR
+ CMAKE_INSTALL_SOUNDDIR
+ CMAKE_INSTALL_SYSCONFDIR
+ CMAKE_INSTALL_TEMPLATEDIR
+ CMAKE_INSTALL_WALLPAPERDIR
+)
+
+set(absolute_path_vars
+ IMPORTS_INSTALL_DIR
+ PLUGIN_INSTALL_DIR
+ QT_PLUGIN_INSTALL_DIR
+
+ CMAKE_INSTALL_PLUGINDIR
+ CMAKE_INSTALL_QTPLUGINDIR
+ CMAKE_INSTALL_QTQUICKIMPORTSDIR
+
+ 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/qt_vars_defined/main.c b/tests/KDEInstallDirsTest/qt_vars_defined/main.c
new file mode 100644
index 00000000..c13815ce
--- /dev/null
+++ b/tests/KDEInstallDirsTest/qt_vars_defined/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
index 90d8a94d..ab46cee1 100644
--- a/tests/KDEInstallDirsTest/vars_defined/CMakeLists.txt
+++ b/tests/KDEInstallDirsTest/vars_defined/CMakeLists.txt
@@ -1,7 +1,9 @@
project(KDEInstallDirs.vars_defined)
cmake_minimum_required(VERSION 2.8.12)
-set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../kde-modules)
+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