CMake+Windows: Use "x64" instead of "win64"

Use "x64" to refer to "Windows running on 64-bit Intel processors". Get
rid of WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE in favor of
WIRESHARK_TARGET_PLATFORM because the latter is shorter.
This commit is contained in:
Gerald Combs 2023-06-06 17:54:57 -07:00 committed by AndersBroman
parent 46f5f7a31f
commit 049a89b2ce
15 changed files with 40 additions and 51 deletions

View File

@ -127,10 +127,6 @@ endif()
# WIRESHARK_TARGET_PLATFORM accordingly. Otherwise use
# %WIRESHARK_TARGET_PLATFORM%.
# XXX We should probably consolidate WIRESHARK_TARGET_PLATFORM and
# WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE and just use "x64"
# instead of "win64"
if(WIN32)
if(DEFINED ENV{WIRESHARK_TARGET_PLATFORM})
string(TOLOWER $ENV{WIRESHARK_TARGET_PLATFORM} _target_platform)
@ -142,10 +138,10 @@ if(WIN32)
# The differences among the environments are mainly environment
# variables, default compilers/linkers, architecture,
# system libraries used etc. If you are unsure, go with UCRT64.
set(WIRESHARK_TARGET_PLATFORM win64)
set(WIRESHARK_TARGET_PLATFORM x64)
elseif(USE_MSYSTEM)
if($ENV{MSYSTEM_CARCH} MATCHES "x86_64")
set(WIRESHARK_TARGET_PLATFORM win64)
set(WIRESHARK_TARGET_PLATFORM x64)
elseif($ENV{MSYSTEM_CARCH} MATCHES "i686")
set(WIRESHARK_TARGET_PLATFORM win32)
elseif($ENV{MSYSTEM_CARCH} MATCHES "aarch64")
@ -155,21 +151,16 @@ if(WIN32)
endif()
elseif($ENV{Platform} MATCHES arm64 OR CMAKE_GENERATOR_PLATFORM MATCHES arm64)
set(WIRESHARK_TARGET_PLATFORM arm64)
elseif(CMAKE_CL_64 OR CMAKE_GENERATOR MATCHES Win64)
set(WIRESHARK_TARGET_PLATFORM win64)
elseif(CMAKE_CL_64 OR CMAKE_GENERATOR MATCHES x64)
set(WIRESHARK_TARGET_PLATFORM x64)
else()
message(WARNING "Assuming \"win64\" target platform")
set(WIRESHARK_TARGET_PLATFORM win64)
message(WARNING "Assuming \"x64\" target platform")
set(WIRESHARK_TARGET_PLATFORM x64)
endif()
set(WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE ${WIRESHARK_TARGET_PLATFORM})
if(WIRESHARK_TARGET_PLATFORM MATCHES "win64")
set(WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE x64)
elseif(WIRESHARK_TARGET_PLATFORM MATCHES "arm64")
# Pass
elseif(WIRESHARK_TARGET_PLATFORM MATCHES "win32")
if(WIRESHARK_TARGET_PLATFORM MATCHES "win32")
message(FATAL_ERROR "Deprecated target platform ${WIRESHARK_TARGET_PLATFORM}. See https://gitlab.com/wireshark/wireshark/-/issues/17779 for details.")
else()
elseif(NOT WIRESHARK_TARGET_PLATFORM MATCHES "x64" OR WIRESHARK_TARGET_PLATFORM MATCHES "arm64")
message(FATAL_ERROR "Invalid target platform: ${WIRESHARK_TARGET_PLATFORM}")
endif()
@ -181,7 +172,7 @@ if(WIN32)
set(_vs_platform "[undefined]") # x86
endif()
if(
(_vs_platform STREQUAL "x64" AND NOT WIRESHARK_TARGET_PLATFORM STREQUAL "win64")
(_vs_platform STREQUAL "x64" AND NOT WIRESHARK_TARGET_PLATFORM STREQUAL "x64")
OR
(_vs_platform STREQUAL "[undefined]" AND NOT WIRESHARK_TARGET_PLATFORM STREQUAL "win32")
)
@ -190,8 +181,7 @@ if(WIN32)
endif()
endif()
message(STATUS
"Building for ${WIRESHARK_TARGET_PLATFORM} \
and CPU target ${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}"
"Building for ${WIRESHARK_TARGET_PLATFORM}"
)
if(NOT CMAKE_CROSSCOMPILING)
@ -408,7 +398,7 @@ else()
endif()
# Used in .rc files and manifests
set(MANIFEST_PROCESSOR_ARCHITECTURE ${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE})
set(MANIFEST_PROCESSOR_ARCHITECTURE ${WIRESHARK_TARGET_PLATFORM})
if (MANIFEST_PROCESSOR_ARCHITECTURE MATCHES "x64")
set(MANIFEST_PROCESSOR_ARCHITECTURE "amd64")
endif()
@ -585,7 +575,7 @@ if( CMAKE_C_COMPILER_ID MATCHES "MSVC")
/D_CRT_NONSTDC_NO_WARNINGS
)
if(NOT WIRESHARK_TARGET_PLATFORM STREQUAL "win64")
if(NOT WIRESHARK_TARGET_PLATFORM STREQUAL "x64")
add_definitions("/D_BIND_TO_CURRENT_CRT_VERSION=1")
endif()
@ -2278,7 +2268,7 @@ if(USE_REPOSITORY)
list (APPEND THIRD_PARTY_DLLS "${SPEEXDSP_DLL_DIR}/${SPEEXDSP_DLL}")
endif()
# With libs downloaded to c:/wireshark-win64-libs this currently
# With libs downloaded to c:/wireshark-x64-libs this currently
# (early 2018) expands to about 1900 characters.
if (THIRD_PARTY_DLLS)
add_custom_command(TARGET copy_cli_dlls PRE_BUILD
@ -2316,7 +2306,7 @@ if(USE_REPOSITORY)
if(ZIP_EXECUTABLE)
add_custom_target(pdb_zip_package COMMENT "This packages .PDBs but will not create them.")
set_target_properties(pdb_zip_package PROPERTIES FOLDER "Packaging")
set(_pdb_zip "${CMAKE_BINARY_DIR}/Wireshark-pdb-${PROJECT_VERSION}-${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}.zip")
set(_pdb_zip "${CMAKE_BINARY_DIR}/Wireshark-pdb-${PROJECT_VERSION}-${WIRESHARK_TARGET_PLATFORM}.zip")
file(TO_NATIVE_PATH "${_pdb_zip}" _pdb_zip_win)
add_custom_command(TARGET pdb_zip_package POST_BUILD
COMMAND ${CMAKE_COMMAND} -E remove -f "${_pdb_zip}"

View File

@ -26,7 +26,7 @@ function( FindWSWinLibs _WS_LIB_SEARCH_PATH _LIB_HINT_VAR )
foreach( _DIR ${_SUBDIR} )
if( IS_DIRECTORY ${_DIR} )
if( "${_DIR}" MATCHES ".*/${_WS_LIB_SEARCH_PATH}" )
set(_vcpkg_dir "${_DIR}/installed/${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}-windows")
set(_vcpkg_dir "${_DIR}/installed/${WIRESHARK_TARGET_PLATFORM}-windows")
if( IS_DIRECTORY "${_vcpkg_dir}")
set( ${_LIB_HINT_VAR} ${_vcpkg_dir} PARENT_SCOPE )
else()

View File

@ -17,7 +17,7 @@ ENDIF (WINSPARKLE_INCLUDE_DIRS)
INCLUDE(FindWSWinLibs)
FindWSWinLibs("WinSparkle.*" "WINSPARKLE_HINTS")
set (_release_subdir "${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}/Release")
set (_release_subdir "${WIRESHARK_TARGET_PLATFORM}/Release")
FIND_PATH(WINSPARKLE_INCLUDE_DIR winsparkle.h HINTS "${WINSPARKLE_HINTS}/include" )

View File

@ -37,7 +37,7 @@ the CMake generation step, and subsequently as required when libraries are updat
The libraries are downloaded into the directory indicated by the environment
variable WIRESHARK_BASE_DIR, this must be set appropriately for your environment.
The libraries are downloaded and extracted into WIRESHARK_BASE_DIR\wireshark-win64-libs.
The libraries are downloaded and extracted into WIRESHARK_BASE_DIR\wireshark-x64-libs or WIRESHARK_BASE_DIR\wireshark-arm64-libs depending on your target platform.
You may also set the library directory to a custom value with the environment variable WIRESHARK_LIB_DIR, but you may run into problems if you switch between major versions or target platforms.

View File

@ -562,7 +562,7 @@ rem Let CMake determine the library download directory name under
rem WIRESHARK_BASE_DIR or set it explicitly by using WIRESHARK_LIB_DIR.
rem Set *one* of these.
set WIRESHARK_BASE_DIR=C:\Development
rem set WIRESHARK_LIB_DIR=c:\wireshark-win64-libs
rem set WIRESHARK_LIB_DIR=c:\wireshark-x64-libs
rem Set the Qt installation directory
set WIRESHARK_QT6_PREFIX_PATH=C:\Qt{backslash}{qt6-lts-version}\msvc2019_64
rem Append a custom string to the package version. Optional.

View File

@ -513,7 +513,6 @@ Email _backtrace.txt_ to mailto:{wireshark-dev-list-email}[].
The Windows distributions dont contain the symbol files (.pdb) because they are
very large. You can download them separately at
{wireshark-main-url}download/win32/all-versions/ and
{wireshark-main-url}download/win64/all-versions/ .
// End of WSUG Chapter 1

View File

@ -119,8 +119,8 @@ endif()
find_program(_vcredist
NAMES
"vc_redist.${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}.exe" # Visual Studio 2022 and later
"vcredist_${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}.exe" # Visual Studio 2019 and earlier
"vc_redist.${WIRESHARK_TARGET_PLATFORM}.exe" # Visual Studio 2022 and later
"vcredist_${WIRESHARK_TARGET_PLATFORM}.exe" # Visual Studio 2019 and earlier
PATHS "${_PROJECT_LIB_DIR}" $ENV{VCToolsRedistDir} "${VCINSTALLDIR}"
PATH_SUFFIXES ${_ws_vcredist_subdir} ${_ms_vcredist_subdir}
NO_DEFAULT_PATH
@ -396,12 +396,12 @@ set(CLEAN_FILES
#NEWS.txt
#user-guide.chm
${DATAFILE_DIR}/uninstall-wireshark.exe
wireshark-${VERSION}-${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}.exe
wireshark-${VERSION}-${WIRESHARK_TARGET_PLATFORM}.exe
wireshark-config.nsh
wireshark-manifest.nsh
wireshark-qt-manifest.nsh
${DATAFILE_DIR}/uninstall-logray.exe
logray-${VERSION}-${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}.exe
logray-${VERSION}-${WIRESHARK_TARGET_PLATFORM}.exe
logray-config.nsh
logray-manifest.nsh
logray-qt-manifest.nsh

View File

@ -20,7 +20,7 @@ ManifestDPIAware true
!include "logray-config.nsh"
!define DISPLAY_NAME "${PROGRAM_NAME} ${VERSION} ${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}"
!define DISPLAY_NAME "${PROGRAM_NAME} ${VERSION} ${WIRESHARK_TARGET_PLATFORM}"
Name "${DISPLAY_NAME}"
!define PROGRAM_FULL_NAME "The ${PROGRAM_NAME} Log Analyzer"
@ -34,7 +34,7 @@ VIAddVersionKey "CompanyName" "${PROGRAM_NAME} development team"
; NSIS handles U+00a9 but not a UTF-8 encoded copyright symbol.
VIAddVersionKey "LegalCopyright" "${U+00a9} Gerald Combs and many others"
VIAddVersionKey "LegalTrademarks" "Logray and the 'ray' logo are registered trademarks"
VIAddVersionKey "FileDescription" "${PROGRAM_NAME} installer for Windows on ${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}"
VIAddVersionKey "FileDescription" "${PROGRAM_NAME} installer for Windows on ${WIRESHARK_TARGET_PLATFORM}"
VIAddVersionKey "Language" "English"
VIAddVersionKey "ProductVersion" "${PRODUCT_VERSION}"
VIAddVersionKey "FileVersion" "${PRODUCT_VERSION}"

View File

@ -7,7 +7,7 @@
# MUST match "<Product ... Name=" in wix/Wireshark.wxs.
#define PROGRAM_NAME "@LOG_PROGRAM_NAME@"
#define TOP_SRC_DIR "@TOP_SRC_DIR@"
#define WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE @WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE@
#define WIRESHARK_TARGET_PLATFORM @WIRESHARK_TARGET_PLATFORM@
#define EXTRA_INSTALLER_DIR "@EXTRA_INSTALLER_DIR@"
#define VERSION @LOG_PROJECT_VERSION@
#define PRODUCT_VERSION @LOG_PRODUCT_VERSION@

View File

@ -36,7 +36,7 @@ SetCompressorDictSize 64 ; MB
; ============================================================================
; The file to write
OutFile "${OUTFILE_DIR}\${PROGRAM_NAME}-${VERSION}-${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}.exe"
OutFile "${OUTFILE_DIR}\${PROGRAM_NAME}-${VERSION}-${WIRESHARK_TARGET_PLATFORM}.exe"
; Installer icon
Icon "${TOP_SRC_DIR}\resources\icons\lograyinst.ico"
@ -258,7 +258,7 @@ Var WIX_UNINSTALLSTRING
!include WinMessages.nsh
Function .onInit
!if ${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE} == "x64"
!if ${WIRESHARK_TARGET_PLATFORM} == "x64"
; http://forums.winamp.com/printthread.php?s=16ffcdd04a8c8d52bee90c0cae273ac5&threadid=262873
${IfNot} ${RunningX64}
MessageBox MB_OK "Logray only runs on 64-bit machines." /SD IDOK

View File

@ -20,7 +20,7 @@ ManifestDPIAware true
!include "wireshark-config.nsh"
!define DISPLAY_NAME "${PROGRAM_NAME} ${VERSION} ${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}"
!define DISPLAY_NAME "${PROGRAM_NAME} ${VERSION} ${WIRESHARK_TARGET_PLATFORM}"
Name "${DISPLAY_NAME}"
!define PROGRAM_FULL_NAME "The ${PROGRAM_NAME} Network Protocol Analyzer"
@ -34,7 +34,7 @@ VIAddVersionKey "CompanyName" "${PROGRAM_NAME} development team"
; NSIS handles U+00a9 but not a UTF-8 encoded copyright symbol.
VIAddVersionKey "LegalCopyright" "${U+00a9} Gerald Combs and many others"
VIAddVersionKey "LegalTrademarks" "Wireshark and the 'fin' logo are registered trademarks of the Wireshark Foundation"
VIAddVersionKey "FileDescription" "${PROGRAM_NAME} installer for Windows on ${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}"
VIAddVersionKey "FileDescription" "${PROGRAM_NAME} installer for Windows on ${WIRESHARK_TARGET_PLATFORM}"
VIAddVersionKey "Language" "English"
VIAddVersionKey "ProductVersion" "${PRODUCT_VERSION}"
VIAddVersionKey "FileVersion" "${PRODUCT_VERSION}"

View File

@ -7,7 +7,7 @@
# MUST match "<Product ... Name=" in wix/Wireshark.wxs.
#define PROGRAM_NAME "@PROGRAM_NAME@"
#define TOP_SRC_DIR "@TOP_SRC_DIR@"
#define WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE @WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE@
#define WIRESHARK_TARGET_PLATFORM @WIRESHARK_TARGET_PLATFORM@
#define EXTRA_INSTALLER_DIR "@EXTRA_INSTALLER_DIR@"
#define NPCAP_PACKAGE_VERSION @NPCAP_VERSION@
#define USBPCAP_PACKAGE_VERSION @USBPCAP_VERSION@

View File

@ -39,7 +39,7 @@ ${UnStrRep}
; ============================================================================
; The file to write
OutFile "${OUTFILE_DIR}\${PROGRAM_NAME}-${VERSION}-${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}.exe"
OutFile "${OUTFILE_DIR}\${PROGRAM_NAME}-${VERSION}-${WIRESHARK_TARGET_PLATFORM}.exe"
; Installer icon
Icon "${TOP_SRC_DIR}\resources\icons\wiresharkinst.ico"
; Uninstaller icon
@ -296,13 +296,13 @@ Function .onInit
Abort
${EndIf}
!if ${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE} == "x64"
!if ${WIRESHARK_TARGET_PLATFORM} == "x64"
${If} ${IsNativeARM64}
MessageBox MB_OK "You're installing the x64 version of Wireshark on an Arm64 system.$\nThe native Arm64 installer might work better." /SD IDOK
${EndIf}
!endif
!if ${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE} == "arm64"
!if ${WIRESHARK_TARGET_PLATFORM} == "arm64"
${IfNot} ${IsNativeARM64}
MessageBox MB_OK "You're trying to install the Arm64 version of Wireshark on an x64 system.$\nTry the native x64 installer instead." /SD IDOK
Abort

View File

@ -83,7 +83,7 @@ endif()
# Starting with Visual Studio 2019 merge modules are deprecated but
# are available as an individual component.
# https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes#-deprecations
set(MERGE_MODULE "Microsoft_${MSVC_CRT_VERSION}_CRT_${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}.msm")
set(MERGE_MODULE "Microsoft_${MSVC_CRT_VERSION}_CRT_${WIRESHARK_TARGET_PLATFORM}.msm")
set (PF86_ENV "ProgramFiles(x86)")
set(VC_TOOLS_MERGE_MODULES_DIR)
@ -99,7 +99,7 @@ find_path(MERGE_MODULE_DIR ${MERGE_MODULE}
"$ENV{PROGRAMFILES}/Common Files/Merge Modules"
NO_DEFAULT_PATH
)
file(TO_NATIVE_PATH "${MERGE_MODULE_DIR}/Microsoft_${MSVC_CRT_VERSION}_CRT_${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}.msm" MSM_NATIVE_PATH)
file(TO_NATIVE_PATH "${MERGE_MODULE_DIR}/Microsoft_${MSVC_CRT_VERSION}_CRT_${WIRESHARK_TARGET_PLATFORM}.msm" MSM_NATIVE_PATH)
message(STATUS "Using ${MSM_NATIVE_PATH} for the WiX installer")
# DependentComponents.wxi. Can be created at configure time.
@ -202,7 +202,7 @@ endif()
set(WIX_CANDLE_DEFINES
-v
-sw1076
-dPlatform=${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}
-dPlatform=${WIRESHARK_TARGET_PLATFORM}
-dWiresharkName=${CMAKE_PROJECT_NAME}
-dWiresharkVersion=${PRODUCT_VERSION}
-dWiresharkMajorVersion=${PROJECT_MAJOR_VERSION}
@ -219,7 +219,7 @@ set(WIX_CANDLE_DEFINES
-dVCRedistDir=${MERGE_MODULE_DIR}
${d_smi_dir}
${d_mmdbresolve_exe}
-arch ${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}
-arch ${WIRESHARK_TARGET_PLATFORM}
-ext WixUIExtension
-I${CMAKE_SOURCE_DIR}/packaging/wix
-out ${CMAKE_CURRENT_BINARY_DIR}/
@ -229,7 +229,7 @@ set(WIX_CANDLE_DEFINES
# The NSIS CMakeFile sets the program name + version slightly differently.
set(WIX_LIGHT_DEFINES
-v
-out ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}-${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}.msi
-out ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}-${WIRESHARK_TARGET_PLATFORM}.msi
-sw1076
-ext WixUIExtension
-loc ${CMAKE_CURRENT_SOURCE_DIR}/StringOverrides.wxl

View File

@ -43,7 +43,7 @@ their compressed archives.
A manifest file (library-manifest.xml)
.EXAMPLE
C:\PS> .\tools\win-setup.ps1 -Destination C:\wireshark-master-64-libs -Platform win64
C:\PS> .\tools\win-setup.ps1 -Destination C:\wireshark-master-64-libs -Platform x64
#>
Param(
@ -53,7 +53,7 @@ Param(
$Destination,
[Parameter(Mandatory=$true, Position=1)]
[ValidateSet("win64", "arm64")]
[ValidateSet("x64", "arm64")]
[String]
$Platform,