aboutsummaryrefslogtreecommitdiff
path: root/modules
AgeCommit message (Collapse)Author
2021-06-07modules/ECMGenerateHeaders.cmake - init originalprefixAllen Winter
to make cmake --warn-uninitialized happy
2021-06-01Add LicenseRef-KDE-Accepted-GPL to license compatibility Matrixv5.83.0-rc1v5.83.0Nicolas Fella
LicenseRef-KDE-Accepted-GPL is GPL3 + later version accepted by KDE, so a file licensed only under this license is compatible with an outbound license of GPL-3.0-Only
2021-05-29ecm_qt_declare_logging_category: catch alias targets before failing internallyFriedrich W. H. Kossebau
target_sources() as used internally does not take alias targets.
2021-05-25Clean ECM files after the minimum version changeChristophe Giboudeaux
- Remove deprecated version checks - Use VERSION_GREATER_EQUAL
2021-05-21Add address sanitizer for MSVCFelix Weilbach
2021-05-21ecm_create_qm_loader: support target as alternative argumentFriedrich W. H. Kossebau
2021-05-17Find PkgConfig quietlyChristophe Giboudeaux
2021-05-15ECMAddAppIcon: support target as argumentFriedrich W. H. Kossebau
2021-05-10ECMSetupVersion: phase out deprecated *_VERSION_STRING CMake variablesFriedrich W. H. Kossebau
2021-05-07Order macro for attribute for symbol export before that for deprecatedFriedrich W. H. Kossebau
The symbol export/visibility attribute is not standardized so far and needs to be set by language extension attribute declaration at least with clang & MSVC, who both support that when it appears before the standard attribute declaration. NO_CHANGELOG
2021-04-25ECMGenerateExportHeader: unbreak builds by not mixing std & legacy attributesFriedrich W. H. Kossebau
NO_CHANGELOG BUG: 436155
2021-04-25ECMGenerateExportHeader: handle being included in C modeFriedrich W. H. Kossebau
NO_CHANGELOG
2021-04-25ECMGenerateExportHeader: check for non-vendor-specific deprecated attrFriedrich W. H. Kossebau
We want to know here if the standard attribute is available NO_CHANGELOG
2021-04-24Fix since version numbers for previous enumerator deprecation commitFriedrich W. H. Kossebau
NO_CHANGELOG
2021-04-24ECMGenerateExportHeader: add macros for enumerator deprecation warningFriedrich W. H. Kossebau
2021-04-23Modules docs: move rst docs into bracket commentsFriedrich W. H. Kossebau
CMake >= 3.0 supports bracket comments, and the reStructuredText integration code in sphinx/ext/ecm.py already supports extracting the docs from a bracket comment instead. Editing documentation without leading line comment markers is more simple, e,g. when reflowing text over lines. With ECM meanwhile requiring CMake 3.5 now it is possible to switch (and thus follow also the approach used by cmake itself). NO_CHANGELOG
2021-04-10Fix installation of qm files from po files in the build directoryVolker Krause
That's the case when using KDE_L10N_AUTO_TRANSLATIONS, and the code handles this case above when looking for the right po location already, but that result was accidentally discarded here.
2021-03-31ECMGenerateExportHeader: do sanity check for version argument valuesv5.81.0-rc2v5.81.0-rc1v5.81.0Friedrich W. H. Kossebau
To prevent accidental use of the C++-side hex number-style version variants on the cmake side where human-readable style is used instead (which can happen due to the similar names of the cmake variables/arguments and C++ macros which screws up developers' brain) we better do some proper input checks also on the arguments EXCLUDE_DEPRECATED_BEFORE_AND_AT and DEPRECATED_BASE_VERSION
2021-02-26Fix ECMCheckOutboundLicenseTest to find the FindReuseTool.cmake filev5.80.0-rc1v5.80.0Friedrich W. H. Kossebau
2021-02-22ecm_qt_declare_logging_category: support target arg to append source file toFriedrich W. H. Kossebau
2021-02-09Fix relative path edge case in ECMGeneratePriFileDaan De Meyer
When the qt install prefix and the qt host data path are the same, CMake's RELATIVE_PATH file path function will return the empty string. This made us accidentally set ECM_MKSPECS_INSTALL_DIR to /mkspecs/modules. Fix this by explicitly checking for the empty string. Once we can depend on CMake 3.20, we can use CMake's builtin function for joining paths instead.
2021-02-08Define relative paths when KDE_INSTALL_USE_QT_SYS_PATHS is enabledDaan De Meyer
When building multiple KDE projects, installing them to "$DESTDIR" and having cmake look for kde dependencies in "$DESTDIR" using "CMAKE_PREFIX_PATH=$DESTDIR/usr", we currently get failures when calling find_package() on projects that use KDE_INSTALL_QTPLUGINDIR, KDE_INSTALL_QTQMLDIR and KDE_INSTALL_QTQUICKIMPORTSDIR because these are defined as absolute paths when KDE_INSTALL_USE_QT_SYS_PATHS is enabled. This commit defines these paths relative to qmake's QT_INSTALL_PREFIX property instead when KDE is install to the same prefix as Qt. This fixes DESTDIR installations because with relative paths, CMake will search for these paths in "$DESTDIR" as well as "/". We limit this change to the scenario where the Qt and CMake install prefixes are the same because always doing this would break backwards compatibility as qml and plugins would be installed into CMAKE_INSTALL_PREFIX instead of QT_INSTALL_PREFIX after this change.
2021-01-31ECMQtDeclareLoggingCategory: fix typo in docuDavid Faure
GIT_SILENT
2021-01-17ECMQtDeclareLoggingCategory: create .categories files in build, not configureFriedrich W. H. Kossebau
Ensures that the files * are re-created by build rule when accidentally deleted in the build dir * are not getting new timestamps on every cmake run, even when content has not changed
2021-01-03ECMAddQCH: remove unused (and obsolete) COLS_IN_ALPHA_INDEX from configFriedrich W. H. Kossebau
COLS_IN_ALPHA_INDEX got obsolete in doxygen 1.9.0, besides not being used anyway due to ALPHABETICAL_INDEX being set to NO. Also remove IGNORE_PREFIX, unused as well due to ALPHABETICAL_INDEX=NO NO_CHANGELOG
2020-12-13Fix errors in python code, found by pylama in a strict CIDavid Faure
2020-12-07GIT_SILENT remove debugging for Windows CIDavid Faure
2020-12-07Another attempt to fix QT_PLUGIN_PATH for tests on WindowsDavid Faure
2020-12-06Windows: more double-quotes because of ';' in strings; debugging.David Faure
GIT_SILENT
2020-12-06Windows: fix QT_PLUGIN_PATH for tests by adding double-quotesDavid Faure
Otherwise the string (with ';' in it) is parsed as a list by cmake.
2020-12-06Attempt to fix kdav & purpose autotests on Windows CIDavid Faure
2020-10-14add missing minimum version for RENAME parameterHenri Chain
2020-09-26Include FeatureSummary and find modulesAndreas Cord-Landwehr
Required for module test to pass.
2020-09-26Introduce plausibility check for outbound licenesAndreas Cord-Landwehr
When creating a library or executable, several source files are combined into a binary artifact that has an outbound license of its own. This test generator allows to check if the combined source files are compatible with the desired outbound license. Requirements for using these tests: - input source files must contain the SPDX-License-Information tag - python3 must be available - the "reuse spdx" tool must be available
2020-09-24Release CheckAtomic.cmake with 5.75.0Sandro Knauß
2020-09-24Update CheckAtomic.cmake from llvm.Sandro Knauß
As CheckAtomic.cmake is a copy and we need to keep sync. a348de480d34257ffe394ab51b880c9aef243d80 Date: 04/18/2020 repo: https://github.com/llvm/llvm-project file: /llvm/cmake/modules/CheckAtomic.cmake
2020-09-24Add CheckAtomic.cmakeSandro Knauß
Application need to test, if they need to build against atomic libray. In order to not duplicate the code over and over again, let's have one version in ecm.
2020-09-18add RENAME parameter to ecm_generate_dbus_service_fileHenri Chain
2020-08-30Strip leading zeros from numerical version numbers in C++ codev5.74.0-rc1v5.74.0Volker Krause
Our August releases produce invalid octal numbers ("08") otherwise.
2020-08-29Add timeout for qmlplugindump callsNicolas Fella
qmlplugindump sometimes hangs forever and thus blocks a build. Setting an (arguably arbitrary) timeout works around that.
2020-07-10Fix reST list from not being a listivan tkachenko
2020-07-10Revert "Fix markdown list from not being a list"ivan tkachenko
This reverts commit 3830dde78f9bde7ebe01fddca49d5806d4e52bea.
2020-07-10fix license headersHenri Chain
2020-07-10Add ecm_generate_dbus_service_fileHenri Chain
Summary: It serves as a replacement for `kdbusaddons_generate_dbus_service_file`. An application can be a DBus-activated service just fine without using KDBusAddons. Moreover, this new module uses named arguments for future-proofing, and adds support for specifying a `SystemdService`. It also cleans up the confusion on what the "path" is about: Rather than requiring to specify executable and path separately, we just extract the executable file name on Windows, if necessary. Usage: ``` ecm_generate_dbus_service_file(NAME org.kde.kded5 EXECUTABLE ${KDE_INSTALL_FULL_BINDIR}/kded5 SYSTEMD_SERVICE plasma-kded) ``` Test Plan: * Was able to generate a kded service file * Was able to generate a kded service file with `SystemdUnit` * Verified that it moaned when executable wasn't an absolute path * Untested on Windwos Reviewers: #frameworks, davidedmundson, kossebau, kfunk, habacker Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D29051
2020-07-10Introduce function ecm_install_configured_fileDavid Edmundson
Summary: This, as the name suggests, configures a file and installs it. It's not very complicated but it's a repeated pattern in plasma that gets quite messy dealing with temporary files. Test Plan: Used in a project Reviewers: #build_system Subscribers: apol, kossebau, pino, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D28355
2020-07-01Fix Sphinx warning about cmake code blockv5.72.0-rc1v5.72.0ivan tkachenko
Lexer for CMake could not parse this broken grammar, because it is ".cmake.in", not just ".cmake". CMake itself solves this problems by declaring such code blocks as generic "::" blocks instead. For example, take a look at the last code block at CMakePackageConfigHelpers help page: - https://cmake.org/cmake/help/v3.18/module/CMakePackageConfigHelpers.html#example-generating-package-files - https://github.com/Kitware/CMake/blob/0464298956a204578aa8421ca0b84c089a97e0aa/Modules/CMakePackageConfigHelpers.cmake#L208
2020-06-24Remove support for png2icoHannah von Reth
Png2Ico provides lower quality icons compared to icoutils as png2ico predates the current icon standard. Still lloking for png2ico prints * Png2Ico, Executable that converts a collection of PNG files into a Windows icon file, <https://www.winterdrache.de/freeware/png2ico/ or https://commits.kde.org/kdewin> which confuses new users.
2020-06-23Fix markdown list from not being a listivan tkachenko
2020-06-14extra-cmake-modules: Convert to SPDX license statementsAndreas Cord-Landwehr
2020-05-13ECMGenerateExportHeader: add generation of *_DEPRECATED_VERSION_BELATED()Friedrich W. H. Kossebau
Summary: Now and then tagging some API as deprecated for the compiler is forgotten. Doing this retractivitly in newer versions but using the official version might break build setups configured to only show warnings up to a certain version and otherwise fail a build, using -Werror=deprecated-declarations. To allow retroactive tagging of API for compiler warnings, and showing the official version in the warniung message, while reacting only to warning controls for the current version where the tag is added, avoids any such annoying experiences, without wrong version info at the same time. Reviewers: #frameworks, #build_system, dfaure Reviewed By: dfaure Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D29573