diff options
-rw-r--r-- | CMakeLists.txt | 125 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | epan/CMakeLists.txt | 9 | ||||
-rw-r--r-- | epan/dissectors/CMakeLists.txt | 2 | ||||
-rw-r--r-- | packaging/nsis/CMakeLists.txt | 4 | ||||
-rw-r--r-- | packaging/rpm/wireshark.spec.in | 2 | ||||
-rw-r--r-- | packaging/wix/CMakeLists.txt | 4 | ||||
-rwxr-xr-x | tools/debian-setup.sh | 6 | ||||
-rw-r--r-- | ui/qt/CMakeLists.txt | 34 |
9 files changed, 63 insertions, 125 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 2291ff9f2a..2a5895b73b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,22 +38,12 @@ if(WIN32) # Needed for GREATER_EQUAL operator cmake_minimum_required(VERSION 3.7) else() - cmake_minimum_required(VERSION 2.8.12) + cmake_minimum_required(VERSION 3.5) endif() #Where to find local cmake scripts set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) -# Set old behaviour for MACOSX_RPATH (since 3.0) -if (POLICY CMP0042) - cmake_policy(SET CMP0042 OLD) -endif() - -# Set old behaviour for variable quoting (since 3.1) -if (POLICY CMP0054) - cmake_policy(SET CMP0054 OLD) -endif() - # If our target platform is enforced by our generator, set # WIRESHARK_TARGET_PLATFORM accordingly. Otherwise use # %WIRESHARK_TARGET_PLATFORM%. @@ -61,15 +51,15 @@ endif() if(WIN32) find_package(PowerShell REQUIRED) - if(${CMAKE_CL_64} OR "${CMAKE_GENERATOR}" MATCHES "Win64") + if(CMAKE_CL_64 OR CMAKE_GENERATOR MATCHES "Win64") set(WIRESHARK_TARGET_PLATFORM win64) - elseif("${CMAKE_GENERATOR}" MATCHES "Visual Studio") + elseif(CMAKE_GENERATOR MATCHES "Visual Studio") set(WIRESHARK_TARGET_PLATFORM win32) else() set(WIRESHARK_TARGET_PLATFORM $ENV{WIRESHARK_TARGET_PLATFORM}) endif() - if ("${WIRESHARK_TARGET_PLATFORM}" MATCHES "win64") + if(WIRESHARK_TARGET_PLATFORM MATCHES "win64") set(WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE amd64) else() set(WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE x86) @@ -125,7 +115,7 @@ if(WIN32) COMMAND ${POWERSHELL_COMMAND} "\"${_win_setup}\"" -Destination "${_ws_lib_dir}" -Platform ${WIRESHARK_TARGET_PLATFORM} -VSVersion ${_vsversion_args} RESULT_VARIABLE _win_setup_failed ) - if (${_win_setup_failed}) + if(_win_setup_failed) message(FATAL_ERROR "Windows setup (win-setup.ps1) failed.") endif() @@ -177,10 +167,10 @@ include(GNUInstallDirs) # https://cmake.org/Wiki/CMake_RPATH_handling if(NOT CMAKE_INSTALL_RPATH AND NOT (WIN32 OR APPLE)) LIST(FIND CMAKE_C_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_FULL_LIBDIR}" IS_SYSTEM_DIR) - if("${IS_SYSTEM_DIR}" STREQUAL "-1") + if(IS_SYSTEM_DIR STREQUAL "-1") SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}") SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) - endif("${IS_SYSTEM_DIR}" STREQUAL "-1") + endif() endif() # Banner shown at top right of Qt welcome screen. @@ -210,31 +200,31 @@ include(UseAsn2Wrs) # lookup tables for the epan libraries # Check if CXX flags have been set to c++11 -> Setup Eclipse Indexer correctly! # Also setup the project slightly different -if (${CMAKE_EXTRA_GENERATOR} MATCHES "Eclipse CDT4" ) +if(CMAKE_EXTRA_GENERATOR MATCHES "Eclipse CDT4") SET(CXX_ENABLED 0) LIST(LENGTH CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS LIST_LEN) - if ( ${LIST_LEN} GREATER 0 ) + if(LIST_LEN GREATER 0) SET(CXX_ENABLED 1) endif() SET(C_ENABLED 0) LIST(LENGTH CMAKE_EXTRA_GENERATOR_C_SYSTEM_DEFINED_MACROS LIST_LEN) - if ( ${LIST_LEN} GREATER 0) + if(LIST_LEN GREATER 0) SET(C_ENABLED 1) endif() - if (${C_ENABLED} EQUAL 1 AND ${CXX_ENABLED} EQUAL 1) + if(C_ENABLED EQUAL 1 AND CXX_ENABLED EQUAL 1) # Combined project (C and CXX). This will confuse the indexer. For that reason # we unsert set the __cplusplus variable for the indexer list(FIND CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS "__cplusplus" GEN_MACRO_INDEX) - if( ${GEN_MACRO_INDEX} GREATER -1 ) + if(GEN_MACRO_INDEX GREATER -1) list(REMOVE_AT CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS ${GEN_MACRO_INDEX}) list(REMOVE_AT CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS ${GEN_MACRO_INDEX}) endif() SET(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS ${CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS} CACHE INTERNAL "") - elseif ( (${CXX_ENABLED} EQUAL 1) AND (${CMAKE_CXX_FLAGS} MATCHES ".*-std=c\\+\\+11.*")) + elseif((CXX_ENABLED EQUAL 1) AND (CMAKE_CXX_FLAGS MATCHES ".*-std=c\\+\\+11.*")) #add_definitions (-D__cplusplus=201103L) # CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS list(FIND CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS "199711L" GEN_MACRO_INDEX) - if( ${GEN_MACRO_INDEX} GREATER -1 ) + if(GEN_MACRO_INDEX GREATER -1) list(REMOVE_AT CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS ${GEN_MACRO_INDEX}) list(INSERT CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS ${GEN_MACRO_INDEX} "201103L") SET(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS ${CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS} CACHE INTERNAL "") @@ -305,7 +295,7 @@ if( CMAKE_C_COMPILER_ID MATCHES "MSVC") /D_ALLOW_KEYWORD_MACROS ) - if(NOT "${WIRESHARK_TARGET_PLATFORM}" STREQUAL "win64") + if(NOT WIRESHARK_TARGET_PLATFORM STREQUAL "win64") add_definitions("/D_BIND_TO_CURRENT_CRT_VERSION=1") endif() @@ -364,13 +354,13 @@ if( CMAKE_C_COMPILER_ID MATCHES "MSVC") else() # ! MSVC if(CMAKE_OSX_DEPLOYMENT_TARGET) if(APPLE) - if(${CMAKE_OSX_DEPLOYMENT_TARGET} STREQUAL "10.0") + if(CMAKE_OSX_DEPLOYMENT_TARGET STREQUAL "10.0") message(FATAL_ERROR "We don't support building for Mac OS X 10.0") - elseif(${CMAKE_OSX_DEPLOYMENT_TARGET} STREQUAL "10.1") + elseif(CMAKE_OSX_DEPLOYMENT_TARGET STREQUAL "10.1") message(FATAL_ERROR "We don't support building for Mac OS X 10.1") - elseif(${CMAKE_OSX_DEPLOYMENT_TARGET} STREQUAL "10.2") + elseif(CMAKE_OSX_DEPLOYMENT_TARGET STREQUAL "10.2") message(FATAL_ERROR "We don't support building for Mac OS X 10.2") - elseif(${CMAKE_OSX_DEPLOYMENT_TARGET} STREQUAL "10.4" OR ${CMAKE_OSX_DEPLOYMENT_TARGET} STREQUAL "10.5") + elseif(CMAKE_OSX_DEPLOYMENT_TARGET STREQUAL "10.4" OR CMAKE_OSX_DEPLOYMENT_TARGET STREQUAL "10.5") # # Only 32-bit builds are supported. 10.5 # (and 10.4?) had a bug that causes some BPF @@ -1051,26 +1041,18 @@ string(REPLACE ";" " " _package_list "${PACKAGELIST}") message(STATUS "Package List: ${_package_list}") # Let's loop the package list foreach(PACKAGE ${PACKAGELIST}) - if(${PACKAGE} STREQUAL "PythonInterp") - set(PACKAGE_VAR "PYTHONINTERP") - elseif(${PACKAGE} STREQUAL "Gettext") - set(PACKAGE_VAR "GETTEXT") - elseif(${PACKAGE} STREQUAL "Perl") - set(PACKAGE_VAR "PERL") - elseif(${PACKAGE} STREQUAL "LibXml2") - set(PACKAGE_VAR "LIBXML2") + # Most packages export uppercase variables, but there are exceptions. + if(PACKAGE MATCHES "^(Qt5)") + set(PACKAGE_VAR "${PACKAGE}") else() - set(PACKAGE_VAR ${PACKAGE}) + string(TOUPPER "${PACKAGE}" PACKAGE_VAR) endif() if(${PACKAGE}_OPTIONS) find_package(${PACKAGE} ${${PACKAGE}_OPTIONS}) else() find_package(${PACKAGE}) endif() - # FindPackageHandleStandardArgs before CMake 3.2 always uses uppercase - # for the FOUND variables (e.g. GIT_FOUND is set, but not Git_FOUND). - string(TOUPPER "${PACKAGE_VAR}" PACKAGE_VAR_UPPER) - if (${PACKAGE_VAR}_FOUND OR ${PACKAGE_VAR_UPPER}_FOUND) + if (${PACKAGE_VAR}_FOUND) message(STATUS "${PACKAGE_VAR} FOUND") set(HAVE_LIB${PACKAGE_VAR} 1) if (NOT DEFINED ${PACKAGE_VAR}_INCLUDE_DIRS AND ${PACKAGE_VAR}_INCLUDE_DIR) @@ -1196,14 +1178,9 @@ if (Qt5Widgets_FOUND) endif() if (Qt5Widgets_VERSION VERSION_GREATER 5.6 AND (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")) - # Qt 5.7 and later require C++ 11. If our minmimu required CMake version - # is ever >= 3.1 we can use CXX_STANDARD + CXX_STANDARD_REQUIRED. - message(STATUS "Checking for C++ 11 support (Required by Qt 5.7 and later)") - check_cxx_compiler_flag(-std=c++11 CXX__std_c__11_VALID) - if(NOT CXX__std_c__11_VALID) - message(FATAL_ERROR "Qt ${Qt5Widgets_VERSION} requires C++ 11") - endif() - set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}") + # Qt 5.7 and later require C++ 11. + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) endif() set (QT_FOUND ON) set (QT_LIBRARIES ${Qt5Widgets_LIBRARIES} ${Qt5PrintSupport_LIBRARIES}) @@ -1406,15 +1383,8 @@ if (GIT_EXECUTABLE) set(GIT_BIN_PARAM --git-bin ${GIT_EXECUTABLE}) endif() set( VERSION ${PROJECT_VERSION} ) -if(NOT CMAKE_VERSION VERSION_LESS "3.2.1") - # Prevents unnecessary rebuilds by ensuring that dependents are not - # built before make-version.pl finishes (which may touch version.h). - set(version_byproducts BYPRODUCTS version.h) -else() - set(version_byproducts "") -endif() add_custom_target(version - ${version_byproducts} + BYPRODUCTS version.h COMMAND ${PERL_EXECUTABLE} ${CMAKE_SOURCE_DIR}/make-version.pl --set-vcs ${GIT_BIN_PARAM} @@ -1692,8 +1662,6 @@ if(WIN32) # The gio, gnutls, png, and other OBS-generated DLLs depend on # zlib1.dll. We compile zlib locally but the Debug configuration # (the default) creates zlibd1.dll. - # Note: Passing multiple files to copy_if_different requires - # CMake 3.5 or later. add_custom_command(TARGET copy_cli_dlls PRE_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${GLIB2_DLLS} $<$<CONFIG:Debug>:zlib1.dll> @@ -1823,9 +1791,7 @@ if(WIN32) PATH "$ENV{PROGRAMFILES}/7-Zip" "$ENV{PROGRAMW6432}/7-Zip" DOC "Path to the 7z utility." ) - # XXX "if(ZIP_EXECUTABLE)" doesn't work here. It looks like the - # absence of "-NOTFOUND" doesn't equal "true". - if (NOT "${ZIP_EXECUTABLE}" STREQUAL "ZIP_EXECUTABLE-NOTFOUND") + if(ZIP_EXECUTABLE) add_custom_target(pdb_zip_package) set_target_properties(pdb_zip_package PROPERTIES FOLDER "Packaging") set(_pdb_zip "${CMAKE_BINARY_DIR}/Wireshark-pdb-${WIRESHARK_TARGET_PLATFORM}-${VERSION}.zip") @@ -1972,8 +1938,6 @@ list(APPEND DATA_FILES_SRC # Copy all paths from the source tree to the data directory. Directories are # automatically created if missing as the filename is given. -# TODO Switch to cmake -E copy_if_different when our minimum CMake version -# is >= 3.5 everywhere. file(GLOB _data_files RELATIVE "${CMAKE_SOURCE_DIR}" ${DATA_FILES_SRC}) foreach(_data_file ${_data_files}) add_custom_command(OUTPUT "${DATAFILE_DIR}/${_data_file}" @@ -1986,13 +1950,6 @@ foreach(_data_file ${_data_files}) list(APPEND copy_data_files_depends "${DATAFILE_DIR}/${_data_file}") endforeach() -if(CMAKE_VERSION VERSION_LESS 3.5) - # To bad -u / --update is a GNU extension. - set (MULTI_COPY_COMMAND cp) -else() - set (MULTI_COPY_COMMAND ${CMAKE_COMMAND} -E copy_if_different) -endif() - add_custom_command( OUTPUT "${DATAFILE_DIR}/dtds" "${DATAFILE_DIR}/diameter" "${DATAFILE_DIR}/radius" COMMAND ${CMAKE_COMMAND} -E make_directory "${DATAFILE_DIR}/dtds" @@ -2009,7 +1966,7 @@ endforeach() add_custom_command( OUTPUT ${_dtds_data_files} - COMMAND ${MULTI_COPY_COMMAND} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${_dtds_src_files} "${DATAFILE_DIR}/dtds" VERBATIM @@ -2029,7 +1986,7 @@ endforeach() add_custom_command( OUTPUT ${_diameter_data_files} - COMMAND ${MULTI_COPY_COMMAND} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${_diameter_src_files} "${DATAFILE_DIR}/diameter" VERBATIM @@ -2051,7 +2008,7 @@ endforeach() add_custom_command( OUTPUT ${_radius_data_files} - COMMAND ${MULTI_COPY_COMMAND} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${_radius_src_files} "${DATAFILE_DIR}/radius" VERBATIM @@ -2246,7 +2203,7 @@ if(BUILD_wireshark AND QT_FOUND) HINTS "${_qmake_location}" DOC "Path to the windeployqt utility." ) - if (NOT "${QT_WINDEPLOYQT_EXECUTABLE}" STREQUAL "QT_WINDEPLOYQT_EXECUTABLE-NOTFOUND") + if(QT_WINDEPLOYQT_EXECUTABLE) set(QT_BIN_PATH "${_qt_bin_path}" CACHE INTERNAL "Path to qmake, windeployqt, and other Qt utilities." ) @@ -2663,7 +2620,7 @@ if (WIN32) # Must come after executable targets are defined. find_package( NSIS ) - if (NOT "${MAKENSIS_EXECUTABLE}" STREQUAL "MAKENSIS_EXECUTABLE-NOTFOUND") + if(MAKENSIS_EXECUTABLE) add_subdirectory( packaging/nsis EXCLUDE_FROM_ALL ) ADD_NSIS_UNINSTALLER_TARGET() ADD_NSIS_PACKAGE_TARGET() @@ -2671,17 +2628,13 @@ if (WIN32) find_package( WiX ) - if (NOT "${WIX_CANDLE_EXECUTABLE}" STREQUAL "WIX_CANDLE_EXECUTABLE-NOTFOUND") + if(WIX_CANDLE_EXECUTABLE) add_subdirectory( packaging/wix EXCLUDE_FROM_ALL ) ADD_WIX_PACKAGE_TARGET() endif() find_package( PortableApps ) - if ( - NOT "${PORTABLEAPPS_LAUNCHER_GENERATOR_EXECUTABLE}" STREQUAL "PORTABLEAPPS_LAUNCHER_GENERATOR_EXECUTABLE-NOTFOUND" - AND - NOT "${PORTABLEAPPS_INSTALLER_EXECUTABLE}" STREQUAL "PORTABLEAPPS_INSTALLER_EXECUTABLE-NOTFOUND" - ) + if(PORTABLEAPPS_LAUNCHER_GENERATOR_EXECUTABLE AND PORTABLEAPPS_INSTALLER_EXECUTABLE) add_subdirectory( packaging/portableapps EXCLUDE_FROM_ALL ) ADD_PORTABLEAPPS_PACKAGE_TARGET() endif() @@ -3233,10 +3186,10 @@ else () find_program(HARDENING_CHECK_EXECUTABLE hardening-check DOC "Path to the hardening-check utility." ) - if (NOT "${HARDENING_CHECK_EXECUTABLE}" STREQUAL "HARDENING_CHECK_EXECUTABLE-NOTFOUND") + if(HARDENING_CHECK_EXECUTABLE) foreach(_prog ${PROGLIST}) get_target_property(_prog_dir ${_prog} RUNTIME_OUTPUT_DIRECTORY) - if ("${_prog_dir}" STREQUAL "_prog_dir-NOTFOUND") + if(NOT _prog_dir) set(_prog_dir "${CMAKE_BINARY_DIR}/run") endif() set(_prog_paths ${_prog_paths} "${_prog_dir}/${_prog}") @@ -3262,7 +3215,7 @@ CHECKAPI( find_program(SHELLCHECK_EXECUTABLE shellcheck DOC "Path to the shellcheck utility." ) -if (NOT "${SHELLCHECK_EXECUTABLE}" STREQUAL "SHELLCHECK_EXECUTABLE-NOTFOUND") +if(SHELLCHECK_EXECUTABLE) add_custom_target(shellcheck) set_target_properties(shellcheck PROPERTIES FOLDER "Tests") # --external-sources requires 0.4.0 or later. diff --git a/debian/control b/debian/control index ca71ecc7de..12c24b4d91 100644 --- a/debian/control +++ b/debian/control @@ -18,7 +18,7 @@ Build-Depends: lsb-release, libgcrypt-dev, libkrb5-dev, liblua5.2-dev, libsmi2-dev, libmaxminddb-dev, dpkg-dev (>= 1.16.1~), libnl-genl-3-dev [linux-any], libnl-route-3-dev [linux-any], asciidoctor, - cmake (>= 2.8.12), libsbc-dev, libnghttp2-dev, libssh-gcrypt-dev, + cmake (>= 3.5) | cmake3, libsbc-dev, libnghttp2-dev, libssh-gcrypt-dev, liblz4-dev, libsnappy-dev, libspandsp-dev, libxml2-dev Build-Conflicts: libsnmp4.2-dev, libsnmp-dev Vcs-Svn: svn://svn.debian.org/svn/collab-maint/ext-maint/wireshark/trunk diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt index c9aa901420..067bf8bfba 100644 --- a/epan/CMakeLists.txt +++ b/epan/CMakeLists.txt @@ -292,13 +292,6 @@ set_source_files_properties( COMPILE_FLAGS "${WERROR_COMMON_FLAGS}" ) -# Cannot use $<$<BOOL:${HAVE_LIBLUA}>:$<TARGET_OBJECTS:wslua>> as that breaks -# with CMake 3.0 (CMake 3.1 is OK) -if(HAVE_LIBLUA) - set(wslua_sources $<TARGET_OBJECTS:wslua>) -else() - set(wslua_sources) -endif() add_library(epan ${LIBWIRESHARK_FILES} $<TARGET_OBJECTS:crypt> @@ -307,7 +300,7 @@ add_library(epan $<TARGET_OBJECTS:dissectors-corba> $<TARGET_OBJECTS:ftypes> $<TARGET_OBJECTS:wmem> - ${wslua_sources} + $<$<BOOL:${HAVE_LIBLUA}>:$<TARGET_OBJECTS:wslua>> ${CMAKE_BINARY_DIR}/image/libwireshark.rc ) diff --git a/epan/dissectors/CMakeLists.txt b/epan/dissectors/CMakeLists.txt index 6448a216d1..756faa6363 100644 --- a/epan/dissectors/CMakeLists.txt +++ b/epan/dissectors/CMakeLists.txt @@ -215,7 +215,7 @@ set_target_properties(dissectors-corba PROPERTIES COMPILE_DEFINITIONS "WS_BUILD_DLL" ) -if(WIN32 AND "${CMAKE_GENERATOR}" STREQUAL "Visual Studio 12 2013 Win64") +if(WIN32 AND CMAKE_GENERATOR STREQUAL "Visual Studio 12 2013 Win64") # CORBA IDL dissectors are triggering a MSVC 2013 x64 /O2 bug leading to a NULL pointer dereference (see bug 12495) target_compile_options(dissectors-corba PRIVATE $<$<CONFIG:Release>:/Ox> $<$<CONFIG:RelWithDebInfo>:/Ox>) endif() diff --git a/packaging/nsis/CMakeLists.txt b/packaging/nsis/CMakeLists.txt index 80317af7e3..99176be78e 100644 --- a/packaging/nsis/CMakeLists.txt +++ b/packaging/nsis/CMakeLists.txt @@ -36,9 +36,9 @@ file(TO_NATIVE_PATH "${CMAKE_SOURCE_DIR}" TOP_SRC_DIR) # STAGING_DIR depends on the build configuration so we pass it # on the command line below. file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/docbook" USER_GUIDE_DIR) -if ("${WIRESHARK_TARGET_PLATFORM}" STREQUAL "win32") +if(WIRESHARK_TARGET_PLATFORM STREQUAL "win32") set(TARGET_MACHINE x86) -elseif ("${WIRESHARK_TARGET_PLATFORM}" STREQUAL "win64") +elseif(WIRESHARK_TARGET_PLATFORM STREQUAL "win64") set(TARGET_MACHINE x64) else() message(FATAL_ERROR "Your mysterious moon-man architecture \"${WIRESHARK_TARGET_PLATFORM}\" frightens and confuses us.") diff --git a/packaging/rpm/wireshark.spec.in b/packaging/rpm/wireshark.spec.in index 69c02dc219..dd975d7820 100644 --- a/packaging/rpm/wireshark.spec.in +++ b/packaging/rpm/wireshark.spec.in @@ -52,7 +52,7 @@ Obsoletes: wireshark-devel BuildRoot: /tmp/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: cmake +BuildRequires: cmake >= 3.5 or cmake3 >= 3.5 BuildRequires: gcc BuildRequires: python BuildRequires: perl diff --git a/packaging/wix/CMakeLists.txt b/packaging/wix/CMakeLists.txt index 8a8cea593f..2b21fdeb32 100644 --- a/packaging/wix/CMakeLists.txt +++ b/packaging/wix/CMakeLists.txt @@ -59,9 +59,9 @@ file(TO_NATIVE_PATH "${CMAKE_SOURCE_DIR}" TOP_SRC_DIR) # STAGING_DIR depends on the build configuration so we pass it # on the command line below. file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/docbook" USER_GUIDE_DIR) -if ("${WIRESHARK_TARGET_PLATFORM}" STREQUAL "win32") +if(WIRESHARK_TARGET_PLATFORM STREQUAL "win32") set(TARGET_MACHINE x86) -elseif ("${WIRESHARK_TARGET_PLATFORM}" STREQUAL "win64") +elseif(WIRESHARK_TARGET_PLATFORM STREQUAL "win64") set(TARGET_MACHINE x64) else() message(FATAL_ERROR "Your mysterious moon-man architecture \"${WIRESHARK_TARGET_PLATFORM}\" frightens and confuses us.") diff --git a/tools/debian-setup.sh b/tools/debian-setup.sh index 8022f3baea..53ae9113e2 100755 --- a/tools/debian-setup.sh +++ b/tools/debian-setup.sh @@ -47,7 +47,6 @@ BASIC_LIST="qttools5-dev \ bison \ flex \ make \ - cmake \ python \ perl \ libgcrypt-dev" @@ -83,6 +82,11 @@ add_package() { eval "${list}=\"\${${list}} \${pkgname}\"" } +# cmake3 3.5.1: Ubuntu 14.04 +# cmake >= 3.5: Debian >= jessie-backports, Ubuntu >= 16.04 +add_package BASIC_LIST cmake3 || +BASIC_LIST="$BASIC_LIST cmake" + # Debian >= wheezy-backports, Ubuntu >= 16.04 add_package ADDITIONAL_LIST libnghttp2-dev || echo "libnghttp2-dev is unavailable" >&2 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() |