aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2017-10-14 23:40:30 +0100
committerRoland Knall <rknall@gmail.com>2017-10-18 07:33:42 +0000
commitdfa893b1cfd8491a3563ad2c29a0dfaf44d960cf (patch)
treeb6d9f8a08078a6813222d623e182b1a357cd6efd /ui
parentb85b946a94e0c27ef22084bfc390798c8c205057 (diff)
cmake: set CMAKE_AUTOUIC and CMAKE_AUTORCC to avoid CMP0071 warning
CMake 3.10 adds CMP0071 which results in warnings about applying AUTOMOC and AUTOUIC on generated files. It somehow tries to do this for files generated by QT5_ADD_RESOURCES and QT5_WRAP_UI. As a workaround, just convert from the legacy macros to the new method. Autogenerated ui_*.h and moc_*.h will now also be shown in the "External Dependencies" tab in Visual Studio Change-Id: I36df2212bbf0f938fcd4560000031b6137db93ca Reviewed-on: https://code.wireshark.org/review/23917 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Roland Knall <rknall@gmail.com>
Diffstat (limited to 'ui')
-rw-r--r--ui/qt/CMakeLists.txt38
1 files changed, 27 insertions, 11 deletions
diff --git a/ui/qt/CMakeLists.txt b/ui/qt/CMakeLists.txt
index 22e7702f58..0ca03c4a2c 100644
--- a/ui/qt/CMakeLists.txt
+++ b/ui/qt/CMakeLists.txt
@@ -556,14 +556,27 @@ include_directories(
SET(CMAKE_AUTOMOC TRUE)
-if (QT_VERSION EQUAL 5)
- QT5_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS})
- QT5_ADD_RESOURCES(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC})
- QT5_WRAP_UI(WIRESHARK_QT_UI_SRC ${WIRESHARK_QT_UI})
+if(CMAKE_VERSION VERSION_LESS "3.0")
+ # AUTOUIC and AUTORCC are not supported in CMAKE 2.8.x
+ if (QT_VERSION EQUAL 5)
+ QT5_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS})
+ QT5_ADD_RESOURCES(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC})
+ QT5_WRAP_UI(WIRESHARK_QT_UI_SRC ${WIRESHARK_QT_UI})
+ else()
+ QT4_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS})
+ QT4_ADD_RESOURCES(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC})
+ QT4_WRAP_UI(WIRESHARK_QT_UI_SRC ${WIRESHARK_QT_UI})
+ endif()
else()
- QT4_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS})
- QT4_ADD_RESOURCES(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC})
- QT4_WRAP_UI(WIRESHARK_QT_UI_SRC ${WIRESHARK_QT_UI})
+ SET(CMAKE_AUTOUIC TRUE)
+ SET(CMAKE_AUTORCC TRUE)
+ # Add .qrc files to library dependencies for AUTORCC.
+ set(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC})
+ if (QT_VERSION EQUAL 5)
+ QT5_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS})
+ else()
+ QT4_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS})
+ endif()
endif()
add_custom_target(
@@ -586,10 +599,8 @@ register_tap_files(wireshark-tap-register.c
${WIRESHARK_QT_TAP_SRC}
)
-source_group("ui\\moc Source Files" FILES ${WIRESHARK_QT_MOC_SRC})
-source_group("ui\\Header" FILES ${WIRESHARK_QT_UI_SRC})
source_group("ui\\UIC Files" FILES ${WIRESHARK_QT_UI})
-source_group("ui\\qrc" FILES ${WIRESHARK_QT_QRC_SRC} ${WIRESHARK_QT_QRC})
+source_group("ui\\qrc" FILES ${WIRESHARK_QT_QRC})
source_group("ui\\Header" FILES ${WIRESHARK_QT_HEADERS})
source_group("ui\\Widget Header" FILES ${WIRESHARK_WIDGET_HEADERS})
source_group("ui\\Widget Source" FILES ${WIRESHARK_WIDGET_SRCS})
@@ -612,7 +623,6 @@ add_library(qtui STATIC
${WIRESHARK_QT_TAP_SRC}
${WIRESHARK_QT_UI_SRC}
- ${WIRESHARK_QT_MOC_SRC}
${WIRESHARK_QT_QRC_SRC}
wireshark-tap-register.c
)
@@ -621,6 +631,12 @@ set_target_properties(qtui PROPERTIES
LINK_FLAGS "${WS_LINK_FLAGS}"
FOLDER "UI"
)
+if(NOT CMAKE_VERSION VERSION_LESS "3.0")
+ # Ensure .qm files are generated before autogenerating i18n.qrc
+ set_target_properties(qtui PROPERTIES
+ AUTOGEN_TARGET_DEPENDS "${WIRESHARK_QT_QM}"
+ )
+endif()
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html