Feed Advanced Search

Sep 24 2020

romangg abandoned D24826: Enforce 100 chars line width.
Sep 24 2020, 9:16 PM · Build System, Frameworks
romangg added a comment to D24826: Enforce 100 chars line width.

FYI I'm using a strict 100 chars limit nowadays on all my KWinFT projects (with the exception of KWinFT itself for now) and I'm very happy with this decision.

Sep 24 2020, 9:16 PM · Build System, Frameworks

Aug 18 2020

carewolf added a comment to D24826: Enforce 100 chars line width.

I agree. A limit of 100 is arbitrary and harmful. Unfortunately clang-format doesn't seem to have a way to make lines over a certain length less desirably, but still allowed if the break would be ugly, so it is better to just allow long lines.

Aug 18 2020, 7:49 PM · Build System, Frameworks

Aug 11 2020

cullmann closed D24568: Provide clang-format target with a KDE Frameworks style file.

For my 2 wanted changes, I created a new merge request
https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/20

Aug 11 2020, 4:21 PM · Build System, Frameworks
cullmann added a comment to D24826: Enforce 100 chars line width.

As said above, I think 100 is a bad idea. Can we close this?

Aug 11 2020, 4:18 PM · Build System, Frameworks

Jun 29 2020

jriddell added a comment to T13344: Clarify usage of BSD-3-Clause license with (CMake) code.

Ade makes an interesting point, if Kitware wants to add the 3rd clause then they can just add it to the BSD-2-clause code which has been sent upstream. But adding in 3rd clause BSD in places could limit where it gets used. And if we use the wrong name for the author then it's incompatible anyway and blocks use.

Jun 29 2020, 3:02 PM · Build System
adridg added a comment to T13344: Clarify usage of BSD-3-Clause license with (CMake) code.
  • If we allow BSD-3-Clause, it should be a separate explicit entry in the alternative-licenses list.
  • The official SPDX text has "3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission." where the italics indicate that variants exist; the sample text is pretty generic IMO.
  • CMake upstream specifically instructs "We do not require any formal copyright assignment or contributor license agreement. Any contributions intentionally sent upstream are presumed to be offered under terms of the OSI-approved BSD 3-clause License. See Copyright.txt for details." (here)
Jun 29 2020, 2:56 PM · Build System
jriddell added a comment to T13344: Clarify usage of BSD-3-Clause license with (CMake) code.

I'm not a fan of BSD 3 clause because it often includes the name of the copyright holder, and that can get complex when new copyright holders come along or if you don't care much and just want to copy and paste.

Jun 29 2020, 9:48 AM · Build System

Jun 28 2020

kossebau created T13344: Clarify usage of BSD-3-Clause license with (CMake) code.
Jun 28 2020, 1:32 PM · Build System

Jun 21 2020

elvisangelaccio abandoned D21695: Add FindTaglib.cmake.
Jun 21 2020, 9:17 PM · Build System, Frameworks
elvisangelaccio commandeered D21695: Add FindTaglib.cmake.
Jun 21 2020, 9:17 PM · Build System, Frameworks

Jun 11 2020

elvisangelaccio added a comment to D21695: Add FindTaglib.cmake.

New attempt at https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/6

Jun 11 2020, 10:34 PM · Build System, Frameworks

Jun 8 2020

davidedmundson added a comment to D28355: Introduce function ecm_install_configured_file.

Moved to invent.

Jun 8 2020, 2:31 PM · Build System, Frameworks
davidedmundson closed D28355: Introduce function ecm_install_configured_file.
Jun 8 2020, 2:30 PM · Build System, Frameworks

May 29 2020

kossebau added a comment to D29051: Add ecm_generate_dbus_service_file.

A unit test would be good to have. The test for ECMGeneratePkgConfigFile might be a sample for this.

May 29 2020, 10:22 AM · Build System, Frameworks

May 22 2020

broulik updated the diff for D29051: Add ecm_generate_dbus_service_file.
  • Clarify docs
May 22 2020, 8:17 AM · Build System, Frameworks

May 13 2020

kossebau closed D29573: ECMGenerateExportHeader: add generation of *_DEPRECATED_VERSION_BELATED().
May 13 2020, 4:07 PM · Build System, Frameworks

May 11 2020

nicolasfella closed D29631: [android] Allow specifying APK install location.
May 11 2020, 4:58 PM · Build System, Frameworks
apol accepted D29631: [android] Allow specifying APK install location.
May 11 2020, 3:31 PM · Build System, Frameworks
nicolasfella updated the diff for D29631: [android] Allow specifying APK install location.
  • Rename variable
May 11 2020, 1:48 PM · Build System, Frameworks
apol added a comment to D29631: [android] Allow specifying APK install location.

+1 overall, good idea.

May 11 2020, 1:41 PM · Build System, Frameworks
apol added inline comments to D29631: [android] Allow specifying APK install location.
May 11 2020, 1:41 PM · Build System, Frameworks
nicolasfella added a comment to D29631: [android] Allow specifying APK install location.

This is used in https://invent.kde.org/sysadmin/ci-tooling/-/merge_requests/68

May 11 2020, 1:31 PM · Build System, Frameworks
nicolasfella requested review of D29631: [android] Allow specifying APK install location.
May 11 2020, 1:22 PM · Build System, Frameworks

May 9 2020

kossebau added a dependent revision for D29573: ECMGenerateExportHeader: add generation of *_DEPRECATED_VERSION_BELATED(): D29574: Use KSERVICE_DEPRECATED_VERSION_BELATED.
May 9 2020, 8:11 PM · Build System, Frameworks
dfaure accepted D29573: ECMGenerateExportHeader: add generation of *_DEPRECATED_VERSION_BELATED().

So many things to take care of :-)

May 9 2020, 8:04 PM · Build System, Frameworks
kossebau requested review of D29573: ECMGenerateExportHeader: add generation of *_DEPRECATED_VERSION_BELATED().
May 9 2020, 7:55 PM · Build System, Frameworks

May 8 2020

dfaure closed D29524: ECMGeneratePriFile: fix for ECM_MKSPECS_INSTALL_DIR being absolute.
May 8 2020, 11:01 AM · Build System, Frameworks
krop accepted D29524: ECMGeneratePriFile: fix for ECM_MKSPECS_INSTALL_DIR being absolute.

tested successfully with the openSUSE package which uses absolute paths

May 8 2020, 10:54 AM · Build System, Frameworks
dfaure requested review of D29524: ECMGeneratePriFile: fix for ECM_MKSPECS_INSTALL_DIR being absolute.
May 8 2020, 9:59 AM · Build System, Frameworks
dfaure closed D29274: ECMGeneratePriFile: make the pri files relocatable.
May 8 2020, 9:13 AM · Build System, Frameworks
vkrause accepted D29274: ECMGeneratePriFile: make the pri files relocatable.
May 8 2020, 9:12 AM · Build System, Frameworks

May 4 2020

xuetianweng closed D29396: Suppress find_package_handle_standard_args package name mismatch warning..
May 4 2020, 3:35 PM · Build System, Frameworks
apol accepted D29396: Suppress find_package_handle_standard_args package name mismatch warning..

This will make our configure steps readable again. Thanks!

May 4 2020, 2:20 AM · Build System, Frameworks
xuetianweng requested review of D29396: Suppress find_package_handle_standard_args package name mismatch warning..
May 4 2020, 1:27 AM · Build System, Frameworks

Apr 30 2020

ablu abandoned D29096: Prefix includes and libs dir with QT_SYSROOT.
Apr 30 2020, 8:21 AM · Build System, Frameworks
ablu added a comment to D29096: Prefix includes and libs dir with QT_SYSROOT.

Ah, right. If you are using a normal sysroot for system libs, but conan for some libs then it makes sense!

Apr 30 2020, 7:51 AM · Build System, Frameworks
dfaure added a comment to D29096: Prefix includes and libs dir with QT_SYSROOT.

I'm using conan, not doing cross compilation.

Apr 30 2020, 7:47 AM · Build System, Frameworks
ablu added a comment to D29096: Prefix includes and libs dir with QT_SYSROOT.

Though... How does it come that you do not have SYSROOT set in your case? Won't that break in other cases?

Apr 30 2020, 5:14 AM · Build System, Frameworks
ablu added a comment to D29274: ECMGeneratePriFile: make the pri files relocatable.

The Build worked. So this solves the issue for me!

Apr 30 2020, 5:13 AM · Build System, Frameworks

Apr 29 2020

dfaure added a comment to D29096: Prefix includes and libs dir with QT_SYSROOT.

Thanks for the quick test!

Apr 29 2020, 3:56 PM · Build System, Frameworks
ablu added a comment to D29096: Prefix includes and libs dir with QT_SYSROOT.

looks good! yours is probably a bit more "CMakeish"! So feel free to continue with that one and close this.

Apr 29 2020, 3:14 PM · Build System, Frameworks
dfaure updated the diff for D29274: ECMGeneratePriFile: make the pri files relocatable.

Fix error: regex "[^/]*" matched an empty string.

Apr 29 2020, 2:45 PM · Build System, Frameworks
ablu added a comment to D29274: ECMGeneratePriFile: make the pri files relocatable.

My reason is basically the same. Will try this version too.

Apr 29 2020, 2:41 PM · Build System, Frameworks
ablu added a comment to D29096: Prefix includes and libs dir with QT_SYSROOT.

Hi @dfaure. It looks pretty much the same and I think it should work for us. I will kick off a build to confirm.

Apr 29 2020, 2:39 PM · Build System, Frameworks
dfaure added a comment to D29096: Prefix includes and libs dir with QT_SYSROOT.

Could you test if my patch in D29274 solves your problem? By making these lines relative to the location of the .pri file, it should work very well in a sysroot context as well.

Apr 29 2020, 2:13 PM · Build System, Frameworks
kossebau added a comment to D29274: ECMGeneratePriFile: make the pri files relocatable.

D29096 also wants to touch those entries, for different reasons. You may want to align here.

Apr 29 2020, 1:28 PM · Build System, Frameworks
dfaure requested review of D29274: ECMGeneratePriFile: make the pri files relocatable.
Apr 29 2020, 1:19 PM · Build System, Frameworks

Apr 28 2020

apol closed D29079: android: include the architecture on the apk name.
Apr 28 2020, 11:16 PM · Build System, Frameworks
nicolasfella accepted D29079: android: include the architecture on the apk name.
Apr 28 2020, 8:42 PM · Build System, Frameworks

Apr 23 2020

kossebau added a comment to D29051: Add ecm_generate_dbus_service_file.

Any chance for a simple unit test to check the generation does what is expected (or catches bad input)? :)

Apr 23 2020, 1:20 PM · Build System, Frameworks
kossebau added a comment to D28355: Introduce function ecm_install_configured_file.

A bit unsure if the arg name "TEMPLATES" is good, or if perhaps should be renamed to "INPUT". Just mentioning, not preferring one over the other. So far have not found existing samples to take as lead for consistent argument naming.

Apr 23 2020, 12:06 PM · Build System, Frameworks
ablu added a comment to D29096: Prefix includes and libs dir with QT_SYSROOT.

Not having done much cross-compilation-library-setups naively I would have thought that when building a library which uses ECMGeneratePriFile and preparing it for cross-compilation, the installation prefix would be hardcoded into the generated artifacts.. Seems that instead files are relocated sometimes, changing their path & prefix, or tools snipping of some things?

Apr 23 2020, 11:35 AM · Build System, Frameworks
kossebau added a reviewer for D28355: Introduce function ecm_install_configured_file: Build System.
Apr 23 2020, 11:04 AM · Build System, Frameworks
kossebau added reviewers for D29096: Prefix includes and libs dir with QT_SYSROOT: Build System, apol, vkrause, kfunk.
Apr 23 2020, 10:54 AM · Build System, Frameworks
kossebau added a comment to D29096: Prefix includes and libs dir with QT_SYSROOT.

Thanks for the explanation, fear though I am missing some details and thus have not yet understood the problem and the solution. Not having done much cross-compilation-library-setups naively I would have thought that when building a library which uses ECMGeneratePriFile and preparing it for cross-compilation, the installation prefix would be hardcoded into the generated artifacts.. Seems that instead files are relocated sometimes, changing their path & prefix, or tools snipping of some things? So $$[QT_SYSROOT] would make up for that, when having a library build normally for a system, but then deployed to the cross-compilation system below some path? Just curious in case you have time to teach me, positioning myself here as curious person at the sideline :)

Apr 23 2020, 10:53 AM · Build System, Frameworks
davidedmundson added a dependent revision for D29051: Add ecm_generate_dbus_service_file: D28305: Systemd Startup.
Apr 23 2020, 9:41 AM · Build System, Frameworks
davidedmundson added a dependent revision for D28355: Introduce function ecm_install_configured_file: D28305: Systemd Startup.
Apr 23 2020, 9:41 AM · Build System, Frameworks

Apr 22 2020

kossebau closed D29097: Adapt FindKF5 to stricter checks in newer find_package_handle_standard_args.
Apr 22 2020, 4:51 PM · Build System, Frameworks
apol added a comment to D29097: Adapt FindKF5 to stricter checks in newer find_package_handle_standard_args.

+1 makes sense

Apr 22 2020, 3:05 PM · Build System, Frameworks
ablu added a comment to D29096: Prefix includes and libs dir with QT_SYSROOT.

The SYSROOT variable should not (directly) impact that. The install directory is configured by ECM_MKSPECS_INSTALL_DIR, which usually will point to /usr/lib/mkspecs/modules/ on Linux. For a cross-compile toolchain it will however be additionally prefixed with separate path. But Qt and qmake will also be configured with that prefix so those know to lookup the mkspecs dir under that prefix. Issuing QT += <module> can then trigger the including of the include and lib paths from the .pri generated by this code. So the case I am trying to fix with this patch is the case where the .pri is found (so ECM_MKSPECS_INSTALL_DIR was specified correctly) but now the libs and include paths are pointing to /usr/{include,lib} and not to <cross-compile-prefix>/usr/{include,lib}. Now since <cross-compile-prefix> can differ depending on the installation dir of the tool chain it may not be possible to know that path during compile / install time. However, we can assume that Qt / qmake will know about the sysroot (which is the prefix essentially). So as long qmake is configured for the cross compile our Qt module now should be too.

Apr 22 2020, 2:04 PM · Build System, Frameworks
krop accepted D29097: Adapt FindKF5 to stricter checks in newer find_package_handle_standard_args.
Apr 22 2020, 1:55 PM · Build System, Frameworks
kossebau added a comment to D29096: Prefix includes and libs dir with QT_SYSROOT.

No current clue about qmake, just wondering from my little knowledge:
how does having $$[QT_SYSROOT] here influence any QMAKEPATH env var set? Would pri files installed into a custom prefix still be found?

Apr 22 2020, 1:55 PM · Build System, Frameworks
kossebau added a comment to D29097: Adapt FindKF5 to stricter checks in newer find_package_handle_standard_args.

Warning: I have not really investigated in full detail if the current code of FindKF5 is completely sane besides a quick check, more or less assume that it has worked all the time, so the new warning here can be silenced.

Apr 22 2020, 1:45 PM · Build System, Frameworks
kossebau requested review of D29097: Adapt FindKF5 to stricter checks in newer find_package_handle_standard_args.
Apr 22 2020, 1:43 PM · Build System, Frameworks
ablu requested review of D29096: Prefix includes and libs dir with QT_SYSROOT.
Apr 22 2020, 1:41 PM · Build System, Frameworks
vkrause added a comment to D29079: android: include the architecture on the apk name.

+1, I can't judge the impact on the subsequent pipeline though, such as the fdroid repo handling.

Apr 22 2020, 6:59 AM · Build System, Frameworks
apol requested review of D29079: android: include the architecture on the apk name.
Apr 22 2020, 1:50 AM · Build System, Frameworks

Apr 21 2020

broulik updated the diff for D29051: Add ecm_generate_dbus_service_file.

Add docs rst

Apr 21 2020, 2:58 PM · Build System, Frameworks
broulik updated the diff for D29051: Add ecm_generate_dbus_service_file.
  • Improve docs
  • Add DESTINATION arg
Apr 21 2020, 2:56 PM · Build System, Frameworks
kossebau added a comment to D29051: Add ecm_generate_dbus_service_file.

Some first quick comments, not yet looked at code itself.

Apr 21 2020, 2:43 PM · Build System, Frameworks
broulik updated the test plan for D29051: Add ecm_generate_dbus_service_file.
Apr 21 2020, 2:26 PM · Build System, Frameworks
broulik updated the test plan for D29051: Add ecm_generate_dbus_service_file.
Apr 21 2020, 2:26 PM · Build System, Frameworks
broulik requested review of D29051: Add ecm_generate_dbus_service_file.
Apr 21 2020, 2:22 PM · Build System, Frameworks

Apr 18 2020

apol closed D28900: Fix wayland scanner warnings.
Apr 18 2020, 12:04 AM · Build System, Frameworks

Apr 17 2020

apol added a comment to D28355: Introduce function ecm_install_configured_file.

Are we stuck somewhere? The patch looks good to me.

Apr 17 2020, 1:27 PM · Build System, Frameworks

Apr 16 2020

davidedmundson accepted D28900: Fix wayland scanner warnings.
Apr 16 2020, 11:06 PM · Build System, Frameworks
apol requested review of D28900: Fix wayland scanner warnings.
Apr 16 2020, 10:58 PM · Build System, Frameworks

Apr 6 2020

cblack updated the diff for D28444: Add ECMCargo module.

Add STATIC_LIBNAME and DYNAMIC_LIBNAME options

Apr 6 2020, 6:57 PM · Build System, Frameworks
IlyaBizyaev added a comment to D28444: Add ECMCargo module.

I don't have enough CMake knowledge to give code comments, but here are some things I can notice in case they help in review:

  1. The function specifically mentions Cargo workspace, which is basically a Rust alternative to TEMPLATE = subdirs in qmake. It doesn't seem though that the current implementation has code specific for this project type, and it can probably work just as well for normal executable and library projects. Am I missing something? If it can't, how would developers use this ECM module if they don't need the workspace? Can it be generalized?
  2. In the implementation that I mentioned, the resulting target gets a name that we can use directly, whereas in your usage example you have to manually use an artifact variable to actually be able to link. You also manually specify the shared library extension; will this require a platform-dependent wrapper in end user's CMakeLists to be able to use this on e.g. Windows?

Thank you for your work :)

Apr 6 2020, 6:40 PM · Build System, Frameworks

Apr 5 2020

cblack updated the summary of D28444: Add ECMCargo module.
Apr 5 2020, 8:31 PM · Build System, Frameworks
cblack updated the diff for D28444: Add ECMCargo module.

Address feedback

Apr 5 2020, 8:31 PM · Build System, Frameworks
dfaure closed D28409: ECM: attempt to fix KDEInstallDirsTest.relative_or_absolute on Windows.
Apr 5 2020, 3:15 PM · Build System, Frameworks
apol accepted D28409: ECM: attempt to fix KDEInstallDirsTest.relative_or_absolute on Windows.
Apr 5 2020, 3:04 PM · Build System, Frameworks
dfaure added inline comments to D28409: ECM: attempt to fix KDEInstallDirsTest.relative_or_absolute on Windows.
Apr 5 2020, 3:03 PM · Build System, Frameworks
apol added a comment to D28409: ECM: attempt to fix KDEInstallDirsTest.relative_or_absolute on Windows.

Will /tmp then still work on Windows?

Apr 5 2020, 2:40 PM · Build System, Frameworks

Apr 2 2020

davidedmundson updated the diff for D28355: Introduce function ecm_install_configured_file.

extra escape

Apr 2 2020, 9:40 PM · Build System, Frameworks
davidedmundson updated the diff for D28355: Introduce function ecm_install_configured_file.

update

Apr 2 2020, 9:38 AM · Build System, Frameworks
davidedmundson added inline comments to D28355: Introduce function ecm_install_configured_file.
Apr 2 2020, 9:38 AM · Build System, Frameworks

Mar 31 2020

IlyaBizyaev added a comment to D28444: Add ECMCargo module.

CMake needs to know what files Cargo wants to build in order to invoke it only when Rust files change. There's no reason to invoke Cargo every time make is ran when CMake has the ability to keep track of dirty files.

Mar 31 2020, 4:48 PM · Build System, Frameworks
cblack added a comment to D28444: Add ECMCargo module.

CMake needs to know when the Rust source has changed so it can rebuild it

Changes to Rust code need to be tracked by Cargo, not by CMake

Mar 31 2020, 4:21 PM · Build System, Frameworks
IlyaBizyaev added a comment to D28444: Add ECMCargo module.

CMake needs to know when the Rust source has changed so it can rebuild it

Mar 31 2020, 3:38 PM · Build System, Frameworks
cblack added a comment to D28444: Add ECMCargo module.

more than half of Ikona's CMakeLists.txt is boilerplate dedicated to integrating Rust with the rest of the project

I don't understand why your function needs a list of Rust files, even though those are already handled by Cargo. Looks boilerplate-ish...

Mar 31 2020, 1:47 PM · Build System, Frameworks
IlyaBizyaev added a comment to D28444: Add ECMCargo module.

more than half of Ikona's CMakeLists.txt is boilerplate dedicated to integrating Rust with the rest of the project

Mar 31 2020, 5:16 AM · Build System, Frameworks
cblack added a comment to D28444: Add ECMCargo module.
In D28444#638435, @apol wrote:

Will this make all the boilerplate in ikona disappear?

Mar 31 2020, 1:32 AM · Build System, Frameworks
apol added a comment to D28444: Add ECMCargo module.

I feel like one of the reasons KDE doesn't use Rust more is that using it in the build system side is pain. Case in point: more than half of Ikona's CMakeLists.txt is boilerplate dedicated to integrating Rust with the rest of the project. I'd like to get this in ECM to lower the barrier for other KDE applications and libraries to utilize Rust.

Mar 31 2020, 12:41 AM · Build System, Frameworks

Mar 30 2020

cblack added a comment to D28444: Add ECMCargo module.
In D28444#638428, @apol wrote:

I wonder if this is covering a very widespread use-case. If there's just one application that needs it, it could make sense to keep it there and once it's polished, we put it in ECM to share.

Mar 30 2020, 11:12 PM · Build System, Frameworks
apol added a comment to D28444: Add ECMCargo module.

Code per se looks okay, not that I've ever used a rust workspace.

Mar 30 2020, 10:59 PM · Build System, Frameworks
IlyaBizyaev added a comment to D28444: Add ECMCargo module.

I'm not good at CMake modules, but maybe this code (which I used in a project) is useful:
https://github.com/Devolutions/CMakeRust

Mar 30 2020, 6:42 PM · Build System, Frameworks
kossebau added inline comments to D28355: Introduce function ecm_install_configured_file.
Mar 30 2020, 6:37 PM · Build System, Frameworks