Age | Commit message (Collapse) | Author |
|
Semantically this is an ECM module, because it can be used to manage deprecated
Qt API and from any project which use ecm_generate_export_headers
|
|
|
|
As discussed in [1], it's simpler to put the files in builddir/bin/, i.e.
no /plugins subdir, this makes it easier to run the unittest directly from
the CLI/debugger/IDE, without relying on ctest exporting the correct
QT_PLUGIN_PATH; instead QCoreApplication::libraryPaths() will pick up the
plugins in e.g. builddir/bin/kf5/kio/ automatically.
This will be followed by a change in KCoreAddons to remove the /plugins/ dir
from the path in the builddir.
[1] https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/213
|
|
It was missing the "/plugins" suffix; found while building KIO with Qt6,
where many unittests were failing with "couldn't create slave" for all slaves;
the kio slaves are in builddir/bin/plugins/kf5/kio, and KPluginMetaData
searches the directory "kf5/kio", and since it's a relative path, it assumes
it's in the "plugins" dir.
Keep the old behaviour for repos that put the plugins in builddir/bin/
directly without a "plugins" dir.
|
|
This doesn't make all these modules actually work with Qt6 yet, but it
prevents them from unconditionally pulling in Qt5 in a Qt6 build.
This is useful in order to even be able to pass a CMake run to the
point one can port, test and debug the rest.
|
|
While porting a manual configure_file invocation for kactivities'
.pc file to ecm_generate_pkgconfig_file I noticed that the URL keyword
was missing afterwards.
|
|
This factors out large parts of the common code into separate modules,
and adds a backward compatibility wrapper.
The 6 variant drops some deprecated variables where possible, but otherwise
is the same as the 5 variant. It still lacks a replacement for the paths
depending on ECMQueryQMake though.
|
|
The description was a bit misleading and may have suggested that
ksvg2icons was required for @2x (Retina) icons to work.
|
|
|
|
When cross-compiling QT_INSTALL_BINS contains binaries for the target
system that can't be used during the build. Instead use QT_HOST_BINS
which contains the Qt build tools for the current system.
|
|
While debugging a failing test (KProcessTest in KCoreAddons), I noticed
that the Q_ASSERT() statements inside that test weren't being executed
because RelWithDebInfo builds default to passing -DQT_NO_DEBUG.
With this change the test I was debugging now asserts early instead of
failing a QCOMPARE later on.
|
|
And the generated html looks more correct
|
|
NO_CHANGELOG
|
|
|
|
KDE-Accepted-LGPL means LGPL3 plus maybe future version, so accept it everywhere LGPL3-only is accepted
|
|
Sometimes reuse spdx does not produce an empty line after the last FileName line and thus the file is never added to the dictionary
|
|
CMake rejects the project version if it contains anything but dots and numbers, there's
no need to try to catch anything else.
|
|
This is required for the frameworks versions
Amends: a0f8e54
|
|
5c191fa1d2383c69ddc075395e04f84b7679613a already added the same sanity
check for the non-PROJECT mode
|
|
Check for EGH_REQUIRED_HEADERS definition before using.
Avoids a CMake warning for unitialized values.
|
|
GIT_SILENT
|
|
There is no KDebugSettings there, and thus those files just bloat the APK.
|
|
to make cmake --warn-uninitialized happy
|
|
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
|
|
target_sources() as used internally does not take alias targets.
|
|
- Remove deprecated version checks
- Use VERSION_GREATER_EQUAL
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
NO_CHANGELOG
BUG: 436155
|
|
NO_CHANGELOG
|
|
We want to know here if the standard attribute is available
NO_CHANGELOG
|
|
NO_CHANGELOG
|
|
|
|
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
|
|
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.
|
|
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
|
|
|
|
|
|
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.
|
|
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.
|
|
GIT_SILENT
|
|
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
|
|
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
|
|
|
|
|
|
|