aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-03-26ECMQueryQt: Add fallbacksChristophe Giboudeaux
Some applications look for ECM and need to know Qt paths but don't need to link to anything. That's the case for icons or wallpapers. For these cases, ECMQueryQt will first try to find qmake or qtpaths before looking for Qt CMake config files. Also handle cases where project() sets 'LANGUAGE' to 'NONE'. The CXX language needs to be enabled for find_package to look for Qt into library dirs.
2022-03-26Require tests to pass for the CI to passVolker Krause
2022-03-26Fix unit tests for ECMAddTests for Qt6 after db2adb479Volker Krause
If the tests use Qt we need to forward the Qt major version option as well.
2022-03-24ECMAddQch: Make it work with Qt6::qhelpgenerator tooHeiko Becker
2022-03-24Deprecate ECMQueryQmake, superseded by ECMQueryQtAhmad Samir
Which is a drop-in replacement, one just needs to replace query_qmake with ecm_query_qt. Copied the deprecation code from ECMQMLModules.cmake, saved a bit of research time on how to do that in CMake.
2022-03-24KDEInstallDirs6: port from custom logic to ecm_query_qtAhmad Samir
2022-03-24Port from ECMQueryQmake to ECMQueryQtAhmad Samir
Continuation of commit 4e47b053c9d799. All unittests still pass.
2022-03-21Android: use the current cmake executableAlex Neundorf
By using ${CMAKE_COMMAND} we make sure the current cmake is used, instead of relying that some cmake can be found in the path
2022-03-21Fix clang-format git hook scriptAhmad Samir
It should be --extensions "cpp,h,hpp,c"; previously, I naively tested that it didn't bother .json files, but I not if it'll actually trigger for e.g. a .h file...
2022-03-20autotests: link to QtCore for WinMain on WindowsDavid Faure
2022-03-20autotests: tentative Windows fixDavid Faure
2022-03-20Add ECMQueryQt module, which encompases both Qt5 Qmake and Qt6 qtpathsAhmad Samir
Basically copied ECMQueryQmake to ECMQueryQt, added copyright based on git log, with the BSD 3-clause license; based on the contents of the README.rst file at the initial commit (commit 96e7fb9969b7 by Rohan Garg) of ECMQueryQmake, the README file says: All code is licensed under the BSD 3-Clause license. Will CC active devs in the MR and email Rohan Garg to confirm. Then added qtpaths CMake code path, basically you can use query_qt with Qt5 (same syntax, so a drop-in replacement for query_qmake); and Qt6. The plan is to deprecate ECMQueryQmake in favour of the new module (had to be done that way as the old module had "qmake" in the name and that could be a bit confusing).
2022-03-17KDEClangFormat: se the same source file extensions in clang-format script ↵Ahmad Samir
and target Previously the clang-format.sh git hook script didn't specify the file extensions to format; however it looks like with recent(?) clang-format versions 'git clang-format' will consider .json files if such files were changed by a commit, which makes the script fail, see: https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/254 Sepcify the file extensions by passing --extensions to 'git clang-format' command. Also add ".hpp" to the file extensions we format, and use the same list of file extensions everywhere.
2022-03-15generate-fastlane-metadata: Don't fail if source URL can not be foundJonah Brüchert
I hit this issue while building Kaidan using craft, outside of the KDE Android docker container. Hopefully this is the correct way to fix it.
2022-03-13GIT_SILENT Upgrade ECM version to 5.93.0.l10n daemon script
2022-03-12Fix checking the repository name for detached remotesAleix Pol
If we are not tracking a specific branch, assume the remote is "origin" which is git's default.
2022-03-08Android: Set CMAKE_TRY_COMPILE_PLATFORM_VARIABLESAlbert Astals Cid
These are the variables that cmake will pass onto itself when doing a try_compile, we need that because otherwise when trying to find iconv it will issue a try compile, won't pass CMAKE_ANDROID_API so it will default to 21 (instead eg the 28 we had given it) and the try_compile will fail because android libc only has iconv after API 28
2022-03-06Check that you're building the framework in a supported platformAlbert Astals Cid
2022-03-06Android: autodetect the use of llvmDavid Faure
2022-02-27specifydependencies: fix syntax in debug outputv5.92.0-rc1v5.92.0David Faure
2022-02-17Add Qt6 Android CIVolker Krause
2022-02-16GIT_SILENT Upgrade ECM version to 5.92.0.l10n daemon script
2022-02-16[ECMQmlModule] Fix doc syntaxJulius Künzel
2022-02-16Add missing doc linksJulius Künzel
2022-02-13ECMGeneratePriFile: support multiple include install dirsFriedrich W. H. Kossebau
2022-02-13KDEInstallDirs6: replace ECMQueryQMake usage with qtpathsAhmad Samir
This fixes KDEInstallDirsTest.relative_or_absolute_qt unittest.
2022-02-11Adapt Android toolchain file and FindGradle to Qt6Volker Krause
- We don't need the Threads target workaround anymore, that breaks the build with Qt6 even. - The Gradle wrapper shipped with Qt is no longer installed as executable, so we need to run this in sh explicitly. - Qt6 uses a different Android Gradle plugin version (not to be confused with the Gradle version), which we need to make available for the configure_file() call on the build.gradle file. With this most Framework modules build against Qt6 here.
2022-02-10Fix typosDimitris Apostolou
2022-02-05Don't run KDEInstallDirsTest.vars_in_sync_oldstyle_arg for KF6v5.91.0-rc1v5.91.0Ahmad Samir
Since KDEInstallDirs6 explicitly sets KDE_INSTALL_DIRS_NO_DEPRECATED to false.
2022-02-04Make clang-format Git hook work in worktrees The Assassin
Otherwise, commits will be rejected because the hook cannot be found from the workdir root dir (there is only one .git directory in a checkout, but commands are run relative to the worktree root dir).
2022-02-01kde_package_app_templates: drop atime,ctime, consistently set mtimeEmil Velikov
As outlined in https://reproducible-builds.org/docs/archives/ to ensure that tarballs are reproducible, one should honour SOURCE_DATE_EPOCH. In the case it's not, fallback to date +%s, set the mtime. Delete atime and ctime completely. No idea if this is better or worse. Based on the patch by: Brendan Tildesley <mail@brendan.scot> From: https://bugs.kde.org/show_bug.cgi?id=443532 v2: Emil - Split from larger patch - Fallback to date +%s v3: Emil - $ENV{...} to evaluate the variable Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-02-01kde_package_app_templates: use numeric owner/group with tarEmil Velikov
In some build environments like in Guix, the GID of "root" is not consistent. With --numeric-owner, we only need to specify UID and GID, the user name is unneeded, so set --owner=0 --group=0 Based on the patch by: Brendan Tildesley <mail@brendan.scot> From: https://bugs.kde.org/show_bug.cgi?id=443532 v2: Emil - Keep args reorder a separate commit - Move time changes into separate commit Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-02-01kde_package_app_templates: reorder and spli tar argsEmil Velikov
Split the arguments in separate lines, grouped appropriately. No functional changes. Suggested-by: @adridg Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-01-26Revert "ECMEnableSanitizers: do not enable linker flags when not supported"Bhushan Shah
This reverts commit abc3a698abc0dfea19040007a7c57d04c3bb6865. Unfortunately it caused various problems: - Minimum cmake version for extra-cmake-modules does not contain the required module - Even with newer cmake it had issue with old policy that was not fixed until very late that breaks packages using old policy CCMAIL: kde-frameworks-devel@kde.org
2022-01-25Fix ECMFindQmlModule unit test with Qt6Volker Krause
Finding Qt6 tools without also finding any library component only works in the COMPONENT form, see also MR !233. Fixes issue #7
2022-01-25Adapt KDEInstallDirs unit test to consider the new version-less variablesVolker Krause
Fixes unit tests with Qt6 and identified the missing definition of the full path variables for aliases.
2022-01-25Disable building tests for the docs buildVolker Krause
Tests require a compiler, which the docs environment doesn't have.
2022-01-24Fix ECMPoQmTools when using Qt6Volker Krause
2022-01-23Forward the Qt6 build option to the CMake test runsVolker Krause
Fixes a number of unit tests that rely on Qt in some form when using Qt6.
2022-01-23Adjust test build system to also support Qt6Volker Krause
With this we are no longer skipping a bunch of tests when using Qt6. This likely still misses forwarding the Qt option to the CMake calls of the actual tests, but that's for a subsequent change.
2022-01-23ECMEnableSanitizers: do not enable linker flags when not supportedBhushan Shah
If linker does not support the linker flag, do not enable it, on alpine e.g. musl does not support the ASAN, if it is enabled unconditionally, it will cause the linker to error out
2022-01-22Fix ExecuteCoreModules testVolker Krause
There's a few modules relying on ECM_GLOBAL_FIND_VERSION being defined, so set that. The exact value is less relevant here, it's mainly used for deprecation warnings.
2022-01-21ECMQmlModule: Add -Muri automoc option to make static builds work correctlyArjen Hiemstra
This is apparently needed for static QML plugins to work properly.
2022-01-21ECMQmlModule: Correct the prefix of the generated qrc to be what Qt expectsArjen Hiemstra
When the major version of a module is >1, Qt expects a .MajorVersion suffix on the module path. Since we are already doing this for the shared library install path, extract that code to a shared macro and reuse it for the prefix path in the generated qrc.
2022-01-21Set the right @since version for ECMQmlModuleArjen Hiemstra
2022-01-20Only enable -bsymbolic-functions when Qt is built in a compatible wayVolker Krause
With Qt6 that isn't always the case, for example in our Linux CI image. Using -bsymbolic-function on the final executable in that case can result in function pointer conntect or method/signal lookups to fail. This can be observed in various unit test failures on the CI right now.
2022-01-20we temporarily need docs artifacts on master for testingFrederik Schwarzer
2022-01-19Add /.clang-format to .gitignoreAhmad Samir
Should stop kdesrc-build saying: "You had local changes to extra-cmake-modules, which have been re-applied." GIT_SILENT
2022-01-18Rename ECMQMLModules.cmake to ECMFindQmlModule.cmakeArjen Hiemstra
To avoid ambiguity with ECMQmlModule.cmake. To preserve backward compatibility, we keep a version around of ECMQMLModules.cmake that warns a user of it being moved and includes the new file.
2022-01-18Introduce ECMQmlModule.cmakeArjen Hiemstra
This contains some helper functions to make it easier to create QML modules through CMake. It takes care of several things that currently need to be done manually. It adds four tests for the four primary ways that it can be used, either as shared/static library and with or without C++ plugin.