#28 Patch FindTQt.cmake to pre-define MOC_EXECUTABLE

Closed
opened 1 year ago by Ray-V · 5 comments
Ray-V commented 1 year ago

When cross compiling on x86 for arm/aarch64 I use qemu/binfmt to run whatever arm binaries are needed during the build.

However, tqmoc produces arch independent output and so the x86 binary can be used, avoiding the overhead that qemu produces.

It’s convenient to place the x86 binaries outside the TDE tree and be able to define where tqmoc can be found, so I use this patch in FindTQt.cmake:

--- cmake/modules/FindTQt.cmake
+++ cmake/modules/FindTQt.cmake
@@ -34,0 +35 @@
+if( NOT DEFINED MOC_EXECUTABLE )
@@ -38 +39 @@
-
+endif( NOT DEFINED MOC_EXECUTABLE )

and can then use with cmake, for example:
-D MOC_EXECUTABLE=/path/to/x86/tqmoc

When cross compiling on x86 for arm/aarch64 I use qemu/binfmt to run whatever arm binaries are needed during the build. However, tqmoc produces arch independent output and so the x86 binary can be used, avoiding the overhead that qemu produces. It's convenient to place the x86 binaries outside the TDE tree and be able to define where tqmoc can be found, so I use this patch in FindTQt.cmake: ```diff --- cmake/modules/FindTQt.cmake +++ cmake/modules/FindTQt.cmake @@ -34,0 +35 @@ +if( NOT DEFINED MOC_EXECUTABLE ) @@ -38 +39 @@ - +endif( NOT DEFINED MOC_EXECUTABLE ) ``` and can then use with cmake, for example: `-D MOC_EXECUTABLE=/path/to/x86/tqmoc`
SlavekB commented 1 year ago
Owner

Adding a condition seems like a good idea for all executables that is being searched here. This not only allows to specify paths as building parameters, but also prevents repeated searches in case of repeated building.

I added you to a team of contributors. Therefore, you can now create a pull request for your proposed patch – see TGW page on wiki.

Adding a condition seems like a good idea for all executables that is being searched here. This not only allows to specify paths as building parameters, but also prevents repeated searches in case of repeated building. I added you to a team of contributors. Therefore, you can now create a pull request for your proposed patch – see [TGW page on wiki](https://wiki.trinitydesktop.org/TDE_Gitea_Workspace).
MicheleC commented 1 year ago
Owner

Welcome Ray 😄

Welcome Ray :smile:
Fat-Zer commented 1 year ago
Collaborator

Note that you should make the variables CACHEd rather than adding the conditions. The tde_execute_process() already has a built-in support for that — just add CACHE to it’s arguments.

Note that you should make the variables `CACHE`d rather than adding the conditions. The `tde_execute_process()` already has a built-in support for that — just add `CACHE` to it's arguments.
SlavekB commented 1 year ago
Owner

Thank you @Fat-Zer, this is a very good reminder! Such a solution will be good and very clean.

Thank you @Fat-Zer, this is a very good reminder! Such a solution will be good and very clean.
SlavekB added a new dependency 1 year ago
SlavekB commented 1 year ago
Owner

Thank you for reporting – the issue has been resolved by #29.

Thank you for reporting – the issue has been resolved by #29.
SlavekB closed this issue 1 year ago
SlavekB added this to the R14.0.7 release milestone 1 year ago
Sign in to join this conversation.
No Milestone
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Depends on
#29 Use cache for TQt executables paths
TDE/tde-common-cmake
Loading…
There is no content yet.