Skip to content

Commit 7e229f7

Browse files
committed
build: support multiple builds of StdlibUnittest
1 parent c6a2fb4 commit 7e229f7

File tree

2 files changed

+17
-21
lines changed

2 files changed

+17
-21
lines changed

stdlib/private/StdlibUnittest/CMakeLists.txt

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,19 @@
1-
set(swift_stdlib_unittest_platform_sources)
2-
set(swift_stdlib_unittest_module_depends
3-
SwiftPrivate SwiftPrivatePthreadExtras SwiftPrivateLibcExtras)
4-
set(swift_stdlib_unittest_framework_depends)
1+
52
set(swift_stdlib_unittest_compile_flags
63
"-Xfrontend" "-disable-objc-attr-requires-foundation-module")
7-
84
if (SWIFT_RUNTIME_ENABLE_LEAK_CHECKER)
95
list(APPEND swift_stdlib_unittest_compile_flags "-DSWIFT_RUNTIME_ENABLE_LEAK_CHECKER")
106
endif()
11-
12-
if(SWIFT_HOST_VARIANT MATCHES "${SWIFT_DARWIN_VARIANTS}")
13-
list(APPEND swift_stdlib_unittest_platform_sources
14-
GetOSVersion.mm)
15-
list(APPEND swift_stdlib_unittest_module_depends
16-
Darwin
17-
Foundation)
18-
list(APPEND swift_stdlib_unittest_framework_depends
19-
Foundation)
20-
endif()
21-
if(SWIFT_HOST_VARIANT STREQUAL "linux" OR SWIFT_HOST_VARIANT STREQUAL "freebsd")
22-
list(APPEND swift_stdlib_unittest_module_depends
23-
Glibc)
24-
endif()
257
if(SWIFT_SERIALIZE_STDLIB_UNITTEST)
268
list(APPEND swift_stdlib_unittest_compile_flags "-Xfrontend" "-sil-serialize-all")
279
endif()
2810

11+
# TODO: extend this through a similar mechanism to SWIFT_MODULE_DEPENDS
12+
set(swift_stdlib_unittest_framework_depends)
13+
if(SWIFT_HOST_VARIANT MATCHES "${SWIFT_DARWIN_VARIANTS}")
14+
list(APPEND swift_stdlib_unittest_framework_depends Foundation)
15+
endif()
16+
2917
add_swift_library(swiftStdlibUnittest ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_STDLIB
3018
# This file should be listed the first. Module name is inferred from the
3119
# filename.
@@ -42,9 +30,15 @@ add_swift_library(swiftStdlibUnittest ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_STD
4230
StringConvertible.swift.gyb
4331
TestHelpers.swift
4432
TypeIndexed.swift
45-
${swift_stdlib_unittest_platform_sources}
33+
GetOSVersion.mm
4634

47-
SWIFT_MODULE_DEPENDS ${swift_stdlib_unittest_module_depends}
35+
SWIFT_MODULE_DEPENDS SwiftPrivate SwiftPrivatePthreadExtras SwiftPrivateLibcExtras
36+
SWIFT_MODULE_DEPENDS_IOS Darwin Foundation
37+
SWIFT_MODULE_DEPENDS_OSX Darwin Foundation
38+
SWIFT_MODULE_DEPENDS_TVOS Darwin Foundation
39+
SWIFT_MODULE_DEPENDS_WATCHOS Darwin Foundation
40+
SWIFT_MODULE_DEPENDS_LINUX Glibc
41+
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
4842
SWIFT_COMPILE_FLAGS ${swift_stdlib_unittest_compile_flags}
4943
FRAMEWORK_DEPENDS ${swift_stdlib_unittest_framework_depends}
5044
INSTALL_IN_COMPONENT stdlib-experimental)

stdlib/private/StdlibUnittest/GetOSVersion.mm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13+
#if defined(__APPLE__)
1314
#include <Foundation/Foundation.h>
1415

1516
#include "swift/Runtime/Config.h"
@@ -33,4 +34,5 @@
3334
[SystemVersion release];
3435
return Result;
3536
}
37+
#endif
3638

0 commit comments

Comments
 (0)