diff options
author | Peter Wu <peter@lekensteyn.nl> | 2018-05-10 14:54:31 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-05-15 10:28:09 +0000 |
commit | 4c1690ac4783c7334462b4140a9c41526edbae44 (patch) | |
tree | 685a298bdd66b240c9ea51def81e7ebd82041a3f /ui | |
parent | e21da738262af2ba6cf72f46fdc045f0337ca27e (diff) |
CMake: require at least CMake 3.5
CMake 3.11 with the Ninja generator started complaining about CMP0058
related to ui/qt/CMakeFiles/qtui_autogen.dir/RCCstock_iconsInfo.cmake
amd other files (AUTORCC). While the policy could be set explicitly,
let's try to modernize the CMake configuration:
- Drop CMP0042, if this gives issues with macOS, then it must be solved
in a different way using non-deprecated methods.
- Drop CMP0054 and ensure that all if("${foo}") and if(${foo}) are
converted to if(foo).
- Remove string comparison against "-NOTFOUND", it already evaluates to
false in an if condition.
- Use CXX_STANDARD/CXX_STANDARD_REQUIRED for Qt 5.7 and newer.
- Assume that copy_if_different can accept multiple sources (CMake 3.5).
- Consistency: Out of the 60 CMake 3.11 FindXxx.cmake files that use
find_library, 34 contain "XXX_LIBRAR" while 16 contain "Xxx_LIBRAR".
Let's assume uppercase variables (now custom MaxMindDB include dirs
are correctly used).
CMake 3.5 was chosen as the next version because of its wide support.
Ubuntu 14.04 ships with cmake3 3.5.1, Debian jessie-backports has 3.6.2,
EPEL for CentOS/RHEL6 includes cmake3 3.6.1 and SLES12 SP2 has 3.5.
Change-Id: I2fa7b94bf8cc78411f414987d17bab3a33dfb360
Reviewed-on: https://code.wireshark.org/review/27444
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'ui')
-rw-r--r-- | ui/qt/CMakeLists.txt | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/ui/qt/CMakeLists.txt b/ui/qt/CMakeLists.txt index a052a7dfa9..5b23e8d7a3 100644 --- a/ui/qt/CMakeLists.txt +++ b/ui/qt/CMakeLists.txt @@ -591,22 +591,15 @@ include_directories( SET(CMAKE_AUTOMOC TRUE) -if(CMAKE_VERSION VERSION_LESS "3.0.2") - # AUTOUIC and AUTORCC are not supported in CMAKE 2.8.x - 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() - SET(CMAKE_AUTOUIC TRUE) - SET(CMAKE_AUTORCC TRUE) - - set(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC}) - set(WIRESHARK_QT_UI_SRC ${WIRESHARK_QT_UI}) - - # Add .qrc files to library dependencies for AUTORCC. - set(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC}) - QT5_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS}) -endif() +SET(CMAKE_AUTOUIC TRUE) +SET(CMAKE_AUTORCC TRUE) + +set(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC}) +set(WIRESHARK_QT_UI_SRC ${WIRESHARK_QT_UI}) + +# Add .qrc files to library dependencies for AUTORCC. +set(WIRESHARK_QT_QRC_SRC ${WIRESHARK_QT_QRC}) +QT5_ADD_TRANSLATION(WIRESHARK_QT_QM ${WIRESHARK_QT_TS}) add_custom_target( translations ALL @@ -662,14 +655,9 @@ add_dependencies(qtui translations) set_target_properties(qtui PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}" FOLDER "UI" -) -if(NOT CMAKE_VERSION VERSION_LESS "3.0.2") # Ensure .qm files are generated before autogenerating i18n.qrc - set_target_properties(qtui PROPERTIES - AUTOGEN_TARGET_DEPENDS "${WIRESHARK_QT_QM}" - ) -endif() - + AUTOGEN_TARGET_DEPENDS "${WIRESHARK_QT_QM}" +) if (WIN32) target_link_libraries(qtui "UxTheme.lib") endif() |