Merge topic 'vs-arm64-tests'

834422e075 Tests: Fix test failures for Windows Arm64 platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7251
This commit is contained in:
Brad King
2022-05-12 13:25:22 +00:00
committed by Kitware Robot
7 changed files with 25 additions and 12 deletions
+7 -3
View File
@@ -431,8 +431,10 @@ if(BUILD_TESTING)
if(${CMAKE_GENERATOR} MATCHES "Visual Studio ([^9]|[9][0-9])")
ADD_TEST_MACRO(CSharpOnly CSharpOnly)
ADD_TEST_MACRO(CSharpLinkToCxx CSharpLinkToCxx)
ADD_TEST_MACRO(CSharpLinkFromCxx CSharpLinkFromCxx)
if(NOT CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64")
ADD_TEST_MACRO(CSharpLinkToCxx CSharpLinkToCxx)
ADD_TEST_MACRO(CSharpLinkFromCxx CSharpLinkFromCxx)
endif()
ADD_TEST_MACRO(CSharpWin32GenEx CSharpWin32GenEx)
set_tests_properties(CSharpWin32GenEx PROPERTIES
PASS_REGULAR_EXPRESSION "Target \"CSharpWin32GenEx\" has a generator expression in its\n WIN32_EXECUTABLE property\\. This is not supported on managed executables\\."
@@ -2113,6 +2115,7 @@ if(BUILD_TESTING)
if(MSVC AND NOT MSVC_VERSION LESS 1310
AND (NOT CMAKE_GENERATOR MATCHES "Visual Studio 9 "
OR CMAKE_SIZEOF_VOID_P EQUAL 4)
AND (NOT CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64")
)
ADD_TEST_MACRO(VSMASM VSMASM)
endif()
@@ -2123,7 +2126,8 @@ if(BUILD_TESTING)
endif()
if(NOT "${CMAKE_GENERATOR}" MATCHES "Visual Studio 9 "
AND NOT CMAKE_GENERATOR_TOOLSET STREQUAL "v90")
AND NOT CMAKE_GENERATOR_TOOLSET STREQUAL "v90"
AND NOT CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64")
ADD_TEST_MACRO(VSWindowsFormsResx VSWindowsFormsResx)
ADD_TEST_MACRO(VSManagedCustomCommand)
endif()
@@ -6,7 +6,8 @@ add_library(objlib OBJECT objlib.c)
set_property(TARGET objlib PROPERTY POSITION_INDEPENDENT_CODE 1)
add_library(autoexport SHARED hello.cxx world.cxx foo.c $<TARGET_OBJECTS:objlib>)
add_library(autoexport3 SHARED cppCLI.cxx)
if(MSVC AND NOT MSVC_VERSION VERSION_LESS 1600)
if(MSVC AND NOT MSVC_VERSION VERSION_LESS 1600
AND NOT CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64")
set_property(TARGET autoexport3 PROPERTY COMMON_LANGUAGE_RUNTIME "")
endif()
@@ -15,7 +16,8 @@ if(MSVC)
set_target_properties(say PROPERTIES ENABLE_EXPORTS ON)
add_library(autoexport_for_exec SHARED hello2.c)
target_link_libraries(autoexport_for_exec say)
if(NOT MSVC_VERSION VERSION_LESS 1600)
if(NOT MSVC_VERSION VERSION_LESS 1600 AND
NOT CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64")
enable_language(ASM_MASM)
target_sources(autoexport PRIVATE nop.asm)
set_property(SOURCE nop.asm PROPERTY COMPILE_FLAGS /safeseh)
+3 -1
View File
@@ -960,7 +960,9 @@ endif()
if(${CMAKE_GENERATOR} MATCHES "Visual Studio ([^9]|9[0-9])")
add_RunCMake_test(CSharpCustomCommand)
add_RunCMake_test(CSharpReferenceImport)
if(NOT CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64")
add_RunCMake_test(CSharpReferenceImport)
endif()
endif()
add_RunCMake_test("CTestCommandExpandLists")
@@ -1 +1 @@
-- CMAKE_VS_PLATFORM_NAME='(x64|Win32)'
-- CMAKE_VS_PLATFORM_NAME='(x64|Win32|ARM64)'
@@ -1,10 +1,15 @@
message(STATUS "CMAKE_VS_PLATFORM_TOOLSET='${CMAKE_VS_PLATFORM_TOOLSET}'")
message(STATUS "CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE='${CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE}'")
message(STATUS "CMAKE_HOST_SYSTEM_PROCESSOR='${CMAKE_HOST_SYSTEM_PROCESSOR}'")
if(CMAKE_GENERATOR MATCHES "Visual Studio 1[67]")
cmake_host_system_information(RESULT is_64_bit QUERY IS_64BIT)
if(is_64_bit)
if(NOT "${CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE}" STREQUAL "x64")
if("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "ARM64")
if(NOT "${CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE}" STREQUAL "")
message(FATAL_ERROR "CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE is not empty as expected.")
endif()
elseif(NOT "${CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE}" STREQUAL "x64")
message(FATAL_ERROR "CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE is not 'x64' as expected.")
endif()
endif()
@@ -17,9 +17,9 @@ set(releaseOK FALSE)
file(STRINGS "${csProjectFile}" lines)
foreach(line IN LISTS lines)
#message(STATUS ${line})
if(line MATCHES "^ *<PropertyGroup .*Debug\\|(Win32|x64).*")
if(line MATCHES "^ *<PropertyGroup .*Debug\\|(Win32|x64|ARM64).*")
set(inDebug TRUE)
elseif(line MATCHES "^ *<PropertyGroup .*Release\\|(Win32|x64).*")
elseif(line MATCHES "^ *<PropertyGroup .*Release\\|(Win32|x64|ARM64).*")
set(inRelease TRUE)
elseif(line MATCHES "^ *</PropertyGroup> *$")
set(inRelease FALSE)
@@ -17,9 +17,9 @@ set(releaseOK FALSE)
file(STRINGS "${csProjectFile}" lines)
foreach(line IN LISTS lines)
#message(STATUS ${line})
if(line MATCHES "^ *<PropertyGroup .*Debug\\|(Win32|x64).*")
if(line MATCHES "^ *<PropertyGroup .*Debug\\|(Win32|x64|ARM64).*")
set(inDebug TRUE)
elseif(line MATCHES "^ *<PropertyGroup .*Release\\|(Win32|x64).*")
elseif(line MATCHES "^ *<PropertyGroup .*Release\\|(Win32|x64|ARM64).*")
set(inRelease TRUE)
elseif(line MATCHES "^ *</PropertyGroup> *$")
set(inRelease FALSE)