diff options
author | David Faure <faure@kde.org> | 2021-11-23 17:31:42 +0100 |
---|---|---|
committer | David Faure <faure@kde.org> | 2021-11-23 17:31:42 +0100 |
commit | 9f519983d628c7c2a68ee1a8dc7a1cbb83c8f535 (patch) | |
tree | 0ba708cd158ceff0e712d89fd6fb3cfc392154fb | |
parent | 72b8ed99fd49d64465b808d45f1d001a88db31be (diff) | |
download | extra-cmake-modules-9f519983d628c7c2a68ee1a8dc7a1cbb83c8f535.tar.gz extra-cmake-modules-9f519983d628c7c2a68ee1a8dc7a1cbb83c8f535.tar.bz2 |
KDEInstallDirs5: set up KSERVICESDIR alias for KSERVICES5DIR
and use only KSERVICESDIR in KDEInstallDirs6.
-rw-r--r-- | kde-modules/KDEInstallDirs5.cmake | 18 | ||||
-rw-r--r-- | kde-modules/KDEInstallDirs6.cmake | 62 | ||||
-rw-r--r-- | kde-modules/KDEInstallDirsCommon.cmake | 17 |
3 files changed, 51 insertions, 46 deletions
diff --git a/kde-modules/KDEInstallDirs5.cmake b/kde-modules/KDEInstallDirs5.cmake index 4a362d59..c3bbe307 100644 --- a/kde-modules/KDEInstallDirs5.cmake +++ b/kde-modules/KDEInstallDirs5.cmake @@ -76,18 +76,18 @@ deprecated variable name in square brackets): ``KCONFUPDATEDIR`` kconf_update scripts (``DATAROOTDIR/kconf_update``) [``KCONF_UPDATE_INSTALL_DIR``] -``KSERVICES5DIR`` +``KSERVICES5DIR`` or (since 5.89) ``KSERVICESDIR`` services for KDE Frameworks 5 (``DATAROOTDIR/kservices5``) [``SERVICES_INSTALL_DIR``] -``KSERVICETYPES5DIR`` +``KSERVICETYPES5DIR`` or (since 5.89) ``KSERVICETYPESDIR`` service types for KDE Frameworks 5 (``DATAROOTDIR/kservicetypes5``) [``SERVICETYPES_INSTALL_DIR``] -``KXMLGUI5DIR`` +``KXMLGUI5DIR`` or (since 5.89) ``KXMLGUIDIR`` knotify description files (``DATAROOTDIR/kxmlgui5``) [``KXMLGUI_INSTALL_DIR``] ``KTEMPLATESDIR`` Kapptemplate and Kdevelop templates (``kdevappwizard/templates``) -``KNOTIFY5RCDIR`` +``KNOTIFY5RCDIR`` or (since 5.89) ``KNOTIFYRCDIR`` knotify description files (``DATAROOTDIR/knotifications5``) [``KNOTIFYRC_INSTALL_DIR``] ``ICONDIR`` @@ -321,16 +321,16 @@ endif() # KDE Framework-specific things _define_relative(KSERVICES5DIR DATAROOTDIR "kservices5" "services for KDE Frameworks 5" - SERVICES_INSTALL_DIR) + SERVICES_INSTALL_DIR KSERVICESDIR) _define_relative(KSERVICETYPES5DIR DATAROOTDIR "kservicetypes5" "service types for KDE Frameworks 5" - SERVICETYPES_INSTALL_DIR) + SERVICETYPES_INSTALL_DIR KSERVICETYPESDIR) _define_relative(KNOTIFY5RCDIR DATAROOTDIR "knotifications5" "knotify description files" - KNOTIFYRC_INSTALL_DIR) + KNOTIFYRC_INSTALL_DIR KNOTIFYRCDIR) _define_relative(KXMLGUI5DIR DATAROOTDIR "kxmlgui5" "kxmlgui .rc files" - KXMLGUI_INSTALL_DIR) + KXMLGUI_INSTALL_DIR KXMLGUIDIR) _define_relative(LOGGINGCATEGORIESDIR DATAROOTDIR "qlogging-categories5" "Qt Logging categories files") @@ -344,12 +344,12 @@ _define_relative(LOGGINGCATEGORIESDIR DATAROOTDIR "qlogging-categories5" # -only the development files: cmake -DCOMPONENT=Devel -P cmake_install.cmake # -everything except the development files: cmake -DCOMPONENT=Unspecified -P cmake_install.cmake # This can then also be used for packaging with cpack. -# FIXME: why is INCLUDES (only) set for ARCHIVE targets? set(KF5_INSTALL_TARGETS_DEFAULT_ARGS RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT Devel INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR_KF5}" ) +set(KF_INSTALL_TARGETS_DEFAULT_ARGS ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) # on the Mac support an extra install directory for application bundles if(APPLE) diff --git a/kde-modules/KDEInstallDirs6.cmake b/kde-modules/KDEInstallDirs6.cmake index 5677a1c2..71c1de80 100644 --- a/kde-modules/KDEInstallDirs6.cmake +++ b/kde-modules/KDEInstallDirs6.cmake @@ -71,15 +71,15 @@ where ``<dir>`` is one of (default values in parentheses): kconfig description files (``DATAROOTDIR/config.kcfg``) ``KCONFUPDATEDIR`` kconf_update scripts (``DATAROOTDIR/kconf_update``) -``KSERVICES6DIR`` +``KSERVICESDIR`` services for KDE Frameworks 6 (``DATAROOTDIR/kservices6``) -``KSERVICETYPES6DIR`` +``KSERVICETYPESDIR`` service types for KDE Frameworks 6 (``DATAROOTDIR/kservicetypes6``) -``KXMLGUI6DIR`` +``KXMLGUIDIR`` knotify description files (``DATAROOTDIR/kxmlgui6``) ``KTEMPLATESDIR`` Kapptemplate and Kdevelop templates (``kdevappwizard/templates``) -``KNOTIFY6RCDIR`` +``KNOTIFYRCDIR`` knotify description files (``DATAROOTDIR/knotifications6``) ``ICONDIR`` icons (``DATAROOTDIR/icons``) @@ -192,9 +192,9 @@ set(KDE_INSTALL_DIRS_NO_DEPRECATED TRUE) include(${CMAKE_CURRENT_LIST_DIR}/KDEInstallDirsCommon.cmake) if(WIN32) - _define_non_cache(LIBEXECDIR_KF6 "${CMAKE_INSTALL_LIBEXECDIR}") + _define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBEXECDIR}") else() - _define_non_cache(LIBEXECDIR_KF6 "${CMAKE_INSTALL_LIBEXECDIR}/kf6") + _define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBEXECDIR}/kf6") endif() # TODO TODO TODO @@ -221,8 +221,7 @@ option (KDE_INSTALL_USE_QT_SYS_PATHS "Install mkspecs files, QCH files for Qt-ba # file(RELATIVE_PATH qt_plugins_dir ${qt_install_prefix_dir} ${qt_plugins_dir}) # endif() # _define_absolute(QTPLUGINDIR ${qt_plugins_dir} -# "Qt plugins" -# QT_PLUGIN_INSTALL_DIR) +# "Qt plugins") # # query_qmake(qt_qml_dir QT_INSTALL_QML) # @@ -230,8 +229,7 @@ option (KDE_INSTALL_USE_QT_SYS_PATHS "Install mkspecs files, QCH files for Qt-ba # file(RELATIVE_PATH qt_qml_dir ${qt_install_prefix_dir} ${qt_qml_dir}) # endif() # _define_absolute(QMLDIR ${qt_qml_dir} -# "QtQuick2 imports" -# QML_INSTALL_DIR) +# "QtQuick2 imports") #else() set(_pluginsDirParent LIBDIR) if (ANDROID) @@ -239,21 +237,18 @@ option (KDE_INSTALL_USE_QT_SYS_PATHS "Install mkspecs files, QCH files for Qt-ba #androiddeployqt wants plugins right in the prefix endif() _define_relative(QTPLUGINDIR "${_pluginsDirParent}" "plugins" - "Qt plugins" - QT_PLUGIN_INSTALL_DIR) + "Qt plugins") _define_relative(QMLDIR LIBDIR "qml" - "QtQuick2 imports" - QML_INSTALL_DIR) + "QtQuick2 imports") #endif() _define_relative(PLUGINDIR QTPLUGINDIR "" - "Plugins" - PLUGIN_INSTALL_DIR) + "Plugins") -_define_non_cache(INCLUDEDIR_KF6 "${CMAKE_INSTALL_INCLUDEDIR}/KF6") +_define_non_cache(INCLUDEDIR_KF "${CMAKE_INSTALL_INCLUDEDIR}/KF6") -_define_non_cache(DATADIR_KF5 "${CMAKE_INSTALL_DATADIR}/kf6") +_define_non_cache(DATADIR_KF "${CMAKE_INSTALL_DATADIR}/kf6") # TODO TODO TODO # Qt-specific data vars @@ -269,22 +264,18 @@ _define_non_cache(DATADIR_KF5 "${CMAKE_INSTALL_DATADIR}/kf6") # KDE Framework-specific things -_define_relative(KSERVICES6DIR DATAROOTDIR "kservices6" - "services for KDE Frameworks 6" - SERVICES_INSTALL_DIR) -_define_relative(KSERVICETYPES6DIR DATAROOTDIR "kservicetypes6" - "service types for KDE Frameworks 6" - SERVICETYPES_INSTALL_DIR) -_define_relative(KNOTIFY6RCDIR DATAROOTDIR "knotifications6" - "knotify description files" - KNOTIFYRC_INSTALL_DIR) -_define_relative(KXMLGUI6DIR DATAROOTDIR "kxmlgui6" - "kxmlgui .rc files" - KXMLGUI_INSTALL_DIR) +_define_relative(KSERVICESDIR DATAROOTDIR "kservices6" + "services for KDE Frameworks 6") +_define_relative(KSERVICETYPESDIR DATAROOTDIR "kservicetypes6" + "service types for KDE Frameworks 6") +_define_relative(KNOTIFYRCDIR DATAROOTDIR "knotifications6" + "knotify description files") +# TODO MOVE TO KXMLGUI +_define_relative(KXMLGUIDIR DATAROOTDIR "kxmlgui6" + "kxmlgui .rc files") _define_relative(LOGGINGCATEGORIESDIR DATAROOTDIR "qlogging-categories6" "Qt Logging categories files") - # For more documentation see above. # Later on it will be possible to extend this for installing OSX frameworks # The COMPONENT Devel argument has the effect that static libraries belong to the @@ -294,11 +285,10 @@ _define_relative(LOGGINGCATEGORIESDIR DATAROOTDIR "qlogging-categories6" # -only the development files: cmake -DCOMPONENT=Devel -P cmake_install.cmake # -everything except the development files: cmake -DCOMPONENT=Unspecified -P cmake_install.cmake # This can then also be used for packaging with cpack. -# FIXME: why is INCLUDES (only) set for ARCHIVE targets? -set(KF6_INSTALL_TARGETS_DEFAULT_ARGS RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT Devel - INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR_KF6}" +set(KF_INSTALL_TARGETS_DEFAULT_ARGS RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT Devel + INCLUDES DESTINATION "${KDE_INSTALL_INCLUDEDIR_KF}" ) # on the Mac support an extra install directory for application bundles diff --git a/kde-modules/KDEInstallDirsCommon.cmake b/kde-modules/KDEInstallDirsCommon.cmake index f0177c05..a5027008 100644 --- a/kde-modules/KDEInstallDirsCommon.cmake +++ b/kde-modules/KDEInstallDirsCommon.cmake @@ -76,11 +76,16 @@ set(_gnu_install_dirs_vars # relative to KDE_INSTALL_${parent}: no leading / # docstring: documentation about the variable (not including the default value) # oldstylename (optional): the old-style name of the variable +# alias (optional): alias for the variable (e.g. without '5' in the name) macro(_define_relative varname parent subdir docstring) set(_oldstylename) if(NOT KDE_INSTALL_DIRS_NO_DEPRECATED AND ${ARGC} GREATER 4) set(_oldstylename "${ARGV4}") endif() + set(_aliasname) + if(${ARGC} GREATER 5) + set(_aliasname "${ARGV5}") + endif() set(_cmakename) if(NOT KDE_INSTALL_DIRS_NO_CMAKE_VARIABLES) list(FIND _gnu_install_dirs_vars "${varname}" _list_offset) @@ -132,6 +137,13 @@ macro(_define_relative varname parent subdir docstring) CACHE PATH "${docstring} (${_docpath})" FORCE) + elseif(${_aliasname}) + # The alias variable was given (probably on the command line): move + # it to the new name + set(KDE_INSTALL_${varname} "${${_aliasname}}" + CACHE PATH + "${docstring} (${_docpath})" + FORCE) elseif(${_cmakename}) if(_cmakename_is_deprecated) message(DEPRECATION "${_cmakename} is deprecated, use KDE_INSTALL_${varname} instead.") @@ -171,6 +183,9 @@ macro(_define_relative varname parent subdir docstring) if(_oldstylename) set(${_oldstylename} "${KDE_INSTALL_${varname}}") endif() + if (_aliasname) + set(${_aliasname} "${KDE_INSTALL_${varname}}") + endif() endmacro() # varname: the variable name suffix (eg: BINDIR for KDE_INSTALL_BINDIR) @@ -370,7 +385,7 @@ endif() set(KDE_INSTALL_TARGETS_DEFAULT_ARGS RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT Devel - INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + INCLUDES DESTINATION "${KDE_INSTALL_INCLUDEDIR}" ) if(APPLE) set(KDE_INSTALL_TARGETS_DEFAULT_ARGS ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} |