Skip to content

Commit a53b278

Browse files
committed
CMake: Check platform availability on Apple
Platform availability is an Apple concept because Swift is shipped as part of the OS. It doesn't make sense to check or to warn on other platforms. Only checking and setting it for Apple platforms.
1 parent 16ce6b8 commit a53b278

File tree

1 file changed

+38
-36
lines changed

1 file changed

+38
-36
lines changed

Runtimes/Core/cmake/modules/PlatformInfo.cmake

Lines changed: 38 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -43,47 +43,49 @@ if(NOT SwiftCore_ARCH_SUBDIR)
4343
message(CONFIGURE_LOG "Swift Arch: ${arch}")
4444
endif()
4545

46-
# Note: *moduleTriple* doesn't have an "x" on the end of "macos"; just to be
47-
# safe, we support both cases here.
48-
set(availability_platform_macos "macOS")
49-
set(availaiblity_platform_macosx "macOS")
50-
set(availability_platform_ios "iOS")
51-
set(availability_platform_watchos "watchOS")
52-
set(availability_platform_tvos "tvOS")
53-
set(availability_platform_xros "visionOS")
54-
set(availability_platform_bridgeos "bridgeOS")
46+
if(APPLE)
47+
# Note: *moduleTriple* doesn't have an "x" on the end of "macos"; just to be
48+
# safe, we support both cases here.
49+
set(availability_platform_macos "macOS")
50+
set(availaiblity_platform_macosx "macOS")
51+
set(availability_platform_ios "iOS")
52+
set(availability_platform_watchos "watchOS")
53+
set(availability_platform_tvos "tvOS")
54+
set(availability_platform_xros "visionOS")
55+
set(availability_platform_bridgeos "bridgeOS")
5556

56-
if(NOT SwiftCore_SWIFT_AVAILABILITY_PLATFORM)
57-
if(SwiftCore_MODULE_TRIPLE MATCHES ".*-([^-]+)-simulator$")
58-
set(platform "${CMAKE_MATCH_1}")
59-
elseif(SwiftCore_MODULE_TRIPLE MATCHES ".*-([^-]+)-msvc$")
60-
set(platform "${CMAKE_MATCH_1}")
61-
elseif(SwiftCore_MODULE_TRIPLE MATCHES ".*-([^-]+)$")
62-
set(platform "${CMAKE_MATCH_1}")
63-
else()
64-
message(WARNING "Unable to extract platform name from triple ${SwiftCore_MODULE_TRIPLE}")
65-
endif()
57+
if(NOT SwiftCore_SWIFT_AVAILABILITY_PLATFORM)
58+
if(SwiftCore_MODULE_TRIPLE MATCHES ".*-([^-]+)-simulator$")
59+
set(platform "${CMAKE_MATCH_1}")
60+
elseif(SwiftCore_MODULE_TRIPLE MATCHES ".*-([^-]+)-msvc$")
61+
set(platform "${CMAKE_MATCH_1}")
62+
elseif(SwiftCore_MODULE_TRIPLE MATCHES ".*-([^-]+)$")
63+
set(platform "${CMAKE_MATCH_1}")
64+
else()
65+
message(WARNING "Unable to extract platform name from triple ${SwiftCore_MODULE_TRIPLE}")
66+
endif()
6667

67-
if(availability_platform_${platform})
68-
set(SwiftCore_SWIFT_AVAILABILITY_PLATFORM "${availability_platform_${platform}}")
69-
else()
70-
set(SwiftCore_SWIFT_AVAILABILITY_PLATFORM "unknown")
71-
message(WARNING "Unknown platform ${platform} for availability")
68+
if(availability_platform_${platform})
69+
set(SwiftCore_SWIFT_AVAILABILITY_PLATFORM "${availability_platform_${platform}}")
70+
else()
71+
set(SwiftCore_SWIFT_AVAILABILITY_PLATFORM "unknown")
72+
message(WARNING "Unknown platform ${platform} for availability")
73+
endif()
7274
endif()
73-
endif()
7475

75-
set(SwiftCore_VARIANT_AVAILABILITY_PLATFORM "none")
76-
if(SwiftCore_VARIANT_MODULE_TRIPLE)
77-
if(SwiftCore_VARIANT_MODULE_TRIPLE MATCHES ".*-([^-]+)$")
78-
set(platform "${CMAKE_MATCH_1}")
79-
else()
80-
message(FATAL_ERROR "Unable to extract platform name from triple ${SwiftCore_VARIANT_MODULE_TRIPLE}")
81-
endif()
76+
set(SwiftCore_VARIANT_AVAILABILITY_PLATFORM "none")
77+
if(SwiftCore_VARIANT_MODULE_TRIPLE)
78+
if(SwiftCore_VARIANT_MODULE_TRIPLE MATCHES ".*-([^-]+)$")
79+
set(platform "${CMAKE_MATCH_1}")
80+
else()
81+
message(FATAL_ERROR "Unable to extract platform name from triple ${SwiftCore_VARIANT_MODULE_TRIPLE}")
82+
endif()
8283

83-
if(availability_platform_${platform})
84-
set(SwiftCore_VARIANT_AVAILABILITY_PLATFORM "${availability_platform_${platform}}")
85-
else()
86-
message(WARNING "Unknown platform ${platform} for variant availability")
84+
if(availability_platform_${platform})
85+
set(SwiftCore_VARIANT_AVAILABILITY_PLATFORM "${availability_platform_${platform}}")
86+
else()
87+
message(WARNING "Unknown platform ${platform} for variant availability")
88+
endif()
8789
endif()
8890
endif()
8991

0 commit comments

Comments
 (0)