aboutsummarylogtreecommitdiffstats
path: root/0026-Fix-macro-invoking-moc-rcc-and-uic.patch
blob: 23e7c6f99f3ef225b169394adfcebb599a6c5970 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
From 9204f18623db15d10cadbd4c659f47550584984a Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 4 Dec 2016 20:35:47 +0100
Subject: [PATCH 26/33] Fix macro invoking moc, rcc and uic

* Otherwise the arguments aren't passed correctly leading to errors like
  ```
  [  3%] Generating qca_core.moc
  moc: Too many input files specified: 'Qt5::moc' '/build/qca-qt5/src/qca-2.1.3/include/QtCrypto/qca_safetimer.h'
  ```
* Just a workaround, not sure what is causing the issue (maybe a CMake bug?)
* See https://github.com/Martchus/PKGBUILDs/issues/11

Change-Id: I6fde86d0a3ade37b4376604a1eb6d5723eda8b4c
---
 src/corelib/Qt5CoreMacros.cmake    | 9 ++++++---
 src/widgets/Qt5WidgetsMacros.cmake | 3 ++-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake
index 1627de4002..ed0f6555a7 100644
--- a/src/corelib/Qt5CoreMacros.cmake
+++ b/src/corelib/Qt5CoreMacros.cmake
@@ -132,8 +132,9 @@ function(QT5_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target
     endif()
 
     set(_moc_extra_parameters_file @${_moc_parameters_file})
+    get_target_property(MOC_LOC ${Qt5Core_MOC_EXECUTABLE} IMPORTED_LOCATION)
     add_custom_command(OUTPUT ${outfile}
-                       COMMAND ${Qt5Core_MOC_EXECUTABLE} ${_moc_extra_parameters_file}
+                       COMMAND ${MOC_LOC} ${_moc_extra_parameters_file}
                        DEPENDS ${infile} ${moc_depends}
                        ${_moc_working_dir}
                        VERBATIM)
@@ -248,8 +249,9 @@ function(QT5_ADD_BINARY_RESOURCES target )
         set(rc_depends ${rc_depends} ${_rc_depends})
     endforeach()
 
+    get_target_property(RCC_LOC ${Qt5Core_RCC_EXECUTABLE} IMPORTED_LOCATION)
     add_custom_command(OUTPUT ${rcc_destination}
-                       COMMAND ${Qt5Core_RCC_EXECUTABLE}
+                       COMMAND ${RCC_LOC}
                        ARGS ${rcc_options} --binary --name ${target} --output ${rcc_destination} ${infiles}
                        DEPENDS ${rc_depends} ${out_depends} ${infiles} VERBATIM)
     add_custom_target(${target} ALL DEPENDS ${rcc_destination})
@@ -281,8 +283,9 @@ function(QT5_ADD_RESOURCES outfiles )
         _QT5_PARSE_QRC_FILE(${infile} _out_depends _rc_depends)
         set_source_files_properties(${infile} PROPERTIES SKIP_AUTORCC ON)
 
+        get_target_property(MOC_LOC ${Qt5Core_RCC_EXECUTABLE} IMPORTED_LOCATION)
         add_custom_command(OUTPUT ${outfile}
-                           COMMAND ${Qt5Core_RCC_EXECUTABLE}
+                           COMMAND ${MOC_LOC}
                            ARGS ${rcc_options} --name ${outfilename} --output ${outfile} ${infile}
                            MAIN_DEPENDENCY ${infile}
                            DEPENDS ${_rc_depends} "${out_depends}" VERBATIM)
diff --git a/src/widgets/Qt5WidgetsMacros.cmake b/src/widgets/Qt5WidgetsMacros.cmake
index 737371a5ad..d103278cdf 100644
--- a/src/widgets/Qt5WidgetsMacros.cmake
+++ b/src/widgets/Qt5WidgetsMacros.cmake
@@ -55,8 +55,9 @@ function(QT5_WRAP_UI outfiles )
         get_filename_component(outfile ${it} NAME_WE)
         get_filename_component(infile ${it} ABSOLUTE)
         set(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h)
+        get_target_property(UIC_LOC ${Qt5Widgets_UIC_EXECUTABLE} IMPORTED_LOCATION)
         add_custom_command(OUTPUT ${outfile}
-          COMMAND ${Qt5Widgets_UIC_EXECUTABLE}
+          COMMAND ${UIC_LOC}
           ARGS ${ui_options} -o ${outfile} ${infile}
           MAIN_DEPENDENCY ${infile} VERBATIM)
         set_source_files_properties(${infile} PROPERTIES SKIP_AUTOUIC ON)
-- 
2.17.0