CMake: Use "arm64" instead of "win64arm"

Use "arm64" instead of "win64arm". This lets us simplify some of our
CMake logic. Note that we could simplify things further if we used "x64"
instead of "win64" in various places.
This commit is contained in:
Gerald Combs 2023-05-23 15:41:10 -07:00
parent d7189583c7
commit 2dbd2b44dc
4 changed files with 18 additions and 27 deletions

View File

@ -128,8 +128,8 @@ endif()
# %WIRESHARK_TARGET_PLATFORM%.
# XXX We should probably consolidate WIRESHARK_TARGET_PLATFORM and
# WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE and just use "x64" and "arm64"
# instead of "win64" and "win64arm"
# WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE and just use "x64"
# instead of "win64"
if(WIN32)
if(DEFINED ENV{WIRESHARK_TARGET_PLATFORM})
@ -149,12 +149,12 @@ if(WIN32)
elseif($ENV{MSYSTEM_CARCH} MATCHES "i686")
set(WIRESHARK_TARGET_PLATFORM win32)
elseif($ENV{MSYSTEM_CARCH} MATCHES "aarch64")
set(WIRESHARK_TARGET_PLATFORM "win64arm")
set(WIRESHARK_TARGET_PLATFORM "arm64")
else()
set(WIRESHARK_TARGET_PLATFORM "$ENV{MSYSTEM_CARCH}")
endif()
elseif($ENV{Platform} MATCHES arm64 OR CMAKE_GENERATOR_PLATFORM MATCHES arm64)
set(WIRESHARK_TARGET_PLATFORM win64arm)
set(WIRESHARK_TARGET_PLATFORM arm64)
elseif(CMAKE_CL_64 OR CMAKE_GENERATOR MATCHES Win64)
set(WIRESHARK_TARGET_PLATFORM win64)
else()
@ -162,13 +162,11 @@ if(WIN32)
set(WIRESHARK_TARGET_PLATFORM win64)
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 "win64arm")
set(WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE arm64)
elseif(WIRESHARK_TARGET_PLATFORM MATCHES "win32")
message(FATAL_ERROR "Deprecated target platform ${WIRESHARK_TARGET_PLATFORM}. See https://gitlab.com/wireshark/wireshark/-/issues/17779 for details.")
set(WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE x86)
else()
message(FATAL_ERROR "Invalid target platform: ${WIRESHARK_TARGET_PLATFORM}")
endif()

View File

@ -22,15 +22,11 @@ function( FindWSWinLibs _WS_LIB_SEARCH_PATH _LIB_HINT_VAR )
file( GLOB _SUBDIR "${_PROJECT_LIB_DIR}/*" )
# We might be able to use $ENV{VSCMD_ARG_TGT_ARCH} here.
set (_vcpkg_arch x64)
if(WIRESHARK_TARGET_PLATFORM MATCHES win64arm)
set (_vcpkg_arch arm64)
endif()
foreach( _DIR ${_SUBDIR} )
if( IS_DIRECTORY ${_DIR} )
if( "${_DIR}" MATCHES ".*/${_WS_LIB_SEARCH_PATH}" )
set(_vcpkg_dir "${_DIR}/installed/${_vcpkg_arch}-windows")
set(_vcpkg_dir "${_DIR}/installed/${WIRESHARK_TARGET_PROCESSOR_ARCHITECTURE}-windows")
if( IS_DIRECTORY "${_vcpkg_dir}")
set( ${_LIB_HINT_VAR} ${_vcpkg_dir} PARENT_SCOPE )
else()

View File

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

View File

@ -27,7 +27,7 @@ Specifies the destination directory for the text files. The path must
contain the pattern "wireshark-*-libs".
.PARAMETER Platform
Target platform. Must be one of "win64" or "win64arm".
Target platform. Must be one of "win64" or "arm64".
.PARAMETER CMakeExecutable
Specifies the path to the CMake executable, which is used to extract archives.
@ -53,7 +53,7 @@ Param(
$Destination,
[Parameter(Mandatory=$true, Position=1)]
[ValidateSet("win64", "win64arm")]
[ValidateSet("win64", "arm64")]
[String]
$Platform,
@ -70,7 +70,7 @@ Param(
$ErrorActionPreference = "Stop"
# Archive file / SHA256
$Win64Archives = @{
$X64Archives = @{
"AirPcap/AirPcap_Devpack_4_1_0_1622.zip" = "09d637f28a79b1d2ecb09f35436271a90c0f69bd0a1ee82b803abaaf63c18a69";
"bcg729/bcg729-1.0.4-win64ws.zip" = "9a095fda4c39860d96f0c568830faa6651cd17635f68e27aa6de46c689aa0ee2";
"brotli/brotli-1.0.9-1-win64ws.zip" = "3f8d24aec8668201994327ff8d8542fe507d1d468a500a1aec50d0415f695aab";
@ -98,7 +98,7 @@ $Win64Archives = @{
"zstd/zstd-1.5.2-1-win64ws.zip" = "d920afe636951cfcf144824d9c075d1f2c13387f4739152fe185fd9c09fc58f2";
}
$Win64ArmArchives = @{
$Arm64Archives = @{
"bcg729/bcg729-1.1.1-1-win64armws.zip" = "f4d76b9acf0d0e12e87a020e9805d136a0e8775e061eeec23910a10828153625";
"brotli/brotli-1.0.9-1-win64armws.zip" = "5ba1b62ebc514d55c3eae85a00ff107e587b6e7cb1275e2d33fcddcd49f8e2af";
"c-ares/c-ares-1.19.0-1-win64armws.zip" = "3e02db0c77303fcd5e9b85f2abe7b48ed79b0ed5d3bdada291a71842e91a6215";
@ -132,20 +132,20 @@ $ArchivesSubDirectory = @{
# Plain file downloads
$Win64Files = @{
$X64Files = @{
# Nothing here
}
$Win64ArmFiles = @{
$Arm64Files = @{
# Nothing here
}
$Archives = $Win64Archives;
$Files = $Win64Files;
$Archives = $X64Archives;
$Files = $X64Files;
if ($Platform -eq "win64arm") {
$Archives = $Win64ArmArchives;
$Files = $Win64ArmFiles;
if ($Platform -eq "arm64") {
$Archives = $Arm64Archives;
$Files = $Arm64Files;
}
$CurrentManifest = $Archives + $Files