diff options
author | Alex Merry <alex.merry@kde.org> | 2014-09-11 21:00:00 +0100 |
---|---|---|
committer | Alex Merry <alex.merry@kde.org> | 2014-09-11 21:00:00 +0100 |
commit | f8609e8b64fd9170aa1444ad4e2f6d6d759e9050 (patch) | |
tree | 083c6d46b2d494bd6f8161e523d9dff82dadbc4a /tests | |
parent | 6ab50fa9e27c4710beb2641fd510dfce08cc2719 (diff) | |
download | extra-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.txt | 8 | ||||
-rw-r--r-- | tests/ExecuteKDEModules/CMakeLists.txt | 4 | ||||
-rw-r--r-- | tests/KDEInstallDirsTest/not_cache_variable/CMakeLists.txt | 6 | ||||
-rw-r--r-- | tests/KDEInstallDirsTest/qt_vars_defined/CMakeLists.txt | 177 | ||||
-rw-r--r-- | tests/KDEInstallDirsTest/qt_vars_defined/main.c | 4 | ||||
-rw-r--r-- | tests/KDEInstallDirsTest/vars_defined/CMakeLists.txt | 4 |
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 |