From a82e3e3aafcb0f56edbfad6debdd511343a131cd Mon Sep 17 00:00:00 2001 From: Evan Wilde Date: Fri, 29 May 2026 15:06:43 -0700 Subject: [PATCH] Swift: Verify setting sizeof_void_p Adding a test to verify that we are setting the data pointer size and `CMAKE_SIZEOF_VOID_P` in a test that only enables Swift. --- Tests/RunCMake/CMakeLists.txt | 1 + Tests/RunCMake/Swift/RunCMakeTest.cmake | 5 +++++ Tests/RunCMake/Swift/SwiftPtrSize-stdout.txt | 2 ++ Tests/RunCMake/Swift/SwiftPtrSize.cmake | 4 ++++ 4 files changed, 12 insertions(+) create mode 100644 Tests/RunCMake/Swift/SwiftPtrSize-stdout.txt create mode 100644 Tests/RunCMake/Swift/SwiftPtrSize.cmake diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index cdfd0aec16..fe7fec76fc 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -621,6 +621,7 @@ add_RunCMake_test(ScriptMode) add_RunCMake_test(StandardLinkDirectories) add_RunCMake_test(Swift -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DCMake_TEST_Swift=${CMake_TEST_Swift} + -DCMAKE_Swift_COMPILER_VERSION=${CMAKE_Swift_COMPILER_VERSION} -DXCODE_VERSION=${XCODE_VERSION}) add_RunCMake_test(TargetArtifacts -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}) add_RunCMake_test(TargetObjects) diff --git a/Tests/RunCMake/Swift/RunCMakeTest.cmake b/Tests/RunCMake/Swift/RunCMakeTest.cmake index d066a7a73f..f927e77ae8 100644 --- a/Tests/RunCMake/Swift/RunCMakeTest.cmake +++ b/Tests/RunCMake/Swift/RunCMakeTest.cmake @@ -74,6 +74,11 @@ block() endif() endblock() +if(CMAKE_Swift_COMPILER_VERSION VERSION_GREATER_EQUAL 6.2 + OR XCODE_VERSION VERSION_GREATER_EQUAL 26) + run_cmake(SwiftPtrSize) +endif() + if(RunCMake_GENERATOR MATCHES "Ninja") block() if (CMAKE_SYSTEM_NAME MATCHES "Windows") diff --git a/Tests/RunCMake/Swift/SwiftPtrSize-stdout.txt b/Tests/RunCMake/Swift/SwiftPtrSize-stdout.txt new file mode 100644 index 0000000000..6f94fbfc88 --- /dev/null +++ b/Tests/RunCMake/Swift/SwiftPtrSize-stdout.txt @@ -0,0 +1,2 @@ +-- CMAKE_Swift_SIZEOF_DATA_PTR='[1-9][0-9]*' +-- CMAKE_SIZEOF_VOID_P='[1-9][0-9]*' diff --git a/Tests/RunCMake/Swift/SwiftPtrSize.cmake b/Tests/RunCMake/Swift/SwiftPtrSize.cmake new file mode 100644 index 0000000000..7b52d67150 --- /dev/null +++ b/Tests/RunCMake/Swift/SwiftPtrSize.cmake @@ -0,0 +1,4 @@ +enable_language(Swift) + +message(STATUS "CMAKE_Swift_SIZEOF_DATA_PTR='${CMAKE_Swift_SIZEOF_DATA_PTR}'") +message(STATUS "CMAKE_SIZEOF_VOID_P='${CMAKE_SIZEOF_VOID_P}'")