mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-06 06:10:04 -05:00
Tests: Fix test failures for Windows Arm64 platforms
This commit is contained in:
@@ -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\\."
|
||||
@@ -2109,6 +2111,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()
|
||||
@@ -2119,7 +2122,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)
|
||||
|
||||
@@ -959,7 +959,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)
|
||||
|
||||
Reference in New Issue
Block a user