@@ -2317,72 +2317,68 @@ function Build-Foundation {
23172317 [Platform ] $Platform ,
23182318 [Parameter (Position = 1 , Mandatory = $true )]
23192319 [hashtable ] $Arch ,
2320- [switch ] $Static = $false ,
2321- [switch ] $Test = $false
2320+ [switch ] $Static = $false
23222321 )
23232322
2324- if ($Test ) {
2325- # Foundation tests build via swiftpm rather than CMake
2326- Build-SPMProject `
2327- - Action Test `
2328- - Src $SourceCache \swift- foundation `
2329- - Bin " $BinaryCache \$ ( $Arch.LLVMTarget ) \CoreFoundationTests" `
2330- - Arch $HostArch `
2331- - Configuration $FoundationTestConfiguration
2332-
2333- $ShortArch = $Arch.LLVMName
2334- Invoke-IsolatingEnvVars {
2335- $env: DISPATCH_INCLUDE_PATH = " $ ( Get-SwiftSDK $Platform ) /usr/include"
2336- $env: LIBXML_LIBRARY_PATH = " $LibraryRoot /libxml2-2.11.5/usr/lib/$Platform /$ShortArch "
2337- $env: LIBXML_INCLUDE_PATH = " $LibraryRoot /libxml2-2.11.5/usr/include/libxml2"
2338- $env: ZLIB_LIBRARY_PATH = " $LibraryRoot /zlib-1.3.1/usr/lib/$Platform /$ShortArch "
2339- $env: CURL_LIBRARY_PATH = " $LibraryRoot /curl-8.9.1/usr/lib/$Platform /$ShortArch "
2340- $env: CURL_INCLUDE_PATH = " $LibraryRoot /curl-8.9.1/usr/include"
2341- Build-SPMProject `
2342- - Action Test `
2343- - Src $SourceCache \swift- corelibs- foundation `
2344- - Bin " $BinaryCache \$ ( $Arch.LLVMTarget ) \FoundationTests" `
2345- - Arch $HostArch `
2346- - Configuration $FoundationTestConfiguration
2347- }
2323+ $FoundationBinaryCache = if ($Static ) {
2324+ Get-ProjectBinaryCache $Arch StaticFoundation
23482325 } else {
2349- $FoundationBinaryCache = if ($Static ) {
2350- Get-ProjectBinaryCache $Arch StaticFoundation
2351- } else {
2352- Get-ProjectBinaryCache $Arch DynamicFoundation
2326+ Get-ProjectBinaryCache $Arch DynamicFoundation
2327+ }
2328+
2329+ Build-CMakeProject `
2330+ - Src $SourceCache \swift- corelibs- foundation `
2331+ - Bin $FoundationBinaryCache `
2332+ - InstallTo $ (if ($Static ) { " $ ( Get-SwiftSDK $Platform - Identifier " ${Platform} Experimental" ) \usr" } else { " $ ( Get-SwiftSDK $Platform ) \usr" }) `
2333+ - Arch $Arch `
2334+ - Platform $Platform `
2335+ - UseBuiltCompilers ASM, C, CXX, Swift `
2336+ - SwiftSDK (Get-SwiftSDK $Platform ) `
2337+ - Defines @ {
2338+ BUILD_SHARED_LIBS = if ($Static ) { " NO" } else { " YES" };
2339+ CMAKE_FIND_PACKAGE_PREFER_CONFIG = " YES" ;
2340+ CMAKE_NINJA_FORCE_RESPONSE_FILE = " YES" ;
2341+ CMAKE_STATIC_LIBRARY_PREFIX_Swift = " lib" ;
2342+ ENABLE_TESTING = " NO" ;
2343+ FOUNDATION_BUILD_TOOLS = if ($Platform -eq " Windows" ) { " YES" } else { " NO" };
2344+ CURL_DIR = " $LibraryRoot \curl-8.9.1\usr\lib\$Platform \$ ( $Arch.LLVMName ) \cmake\CURL" ;
2345+ LibXml2_DIR = " $LibraryRoot \libxml2-2.11.5\usr\lib\$Platform \$ ( $Arch.LLVMName ) \cmake\libxml2-2.11.5" ;
2346+ ZLIB_LIBRARY = if ($Platform -eq " Windows" ) {
2347+ " $LibraryRoot \zlib-1.3.1\usr\lib\$Platform \$ ( $Arch.LLVMName ) \zlibstatic.lib"
2348+ } else {
2349+ " $LibraryRoot \zlib-1.3.1\usr\lib\$Platform \$ ( $Arch.LLVMName ) \libz.a"
2350+ };
2351+ ZLIB_INCLUDE_DIR = " $LibraryRoot \zlib-1.3.1\usr\include" ;
2352+ dispatch_DIR = (Get-ProjectCMakeModules $Arch Dispatch);
2353+ SwiftSyntax_DIR = (Get-ProjectBinaryCache $HostArch Compilers);
2354+ _SwiftFoundation_SourceDIR = " $SourceCache \swift-foundation" ;
2355+ _SwiftFoundationICU_SourceDIR = " $SourceCache \swift-foundation-icu" ;
2356+ _SwiftCollections_SourceDIR = " $SourceCache \swift-collections" ;
2357+ SwiftFoundation_MACRO = " $ ( Get-ProjectBinaryCache $BuildArch FoundationMacros) \bin"
23532358 }
2354- $ShortArch = $Arch .LLVMName
2359+ }
23552360
2356- Build-CMakeProject `
2361+ function Test-Foundation {
2362+ # Foundation tests build via swiftpm rather than CMake
2363+ Build-SPMProject `
2364+ - Action Test `
2365+ - Src $SourceCache \swift- foundation `
2366+ - Bin " $BinaryCache \$ ( $BuildArch.LLVMTarget ) \CoreFoundationTests" `
2367+ - Arch $BuildArch
2368+
2369+ Invoke-IsolatingEnvVars {
2370+ $env: DISPATCH_INCLUDE_PATH = " $ ( Get-SwiftSDK Windows) /usr/include"
2371+ $env: LIBXML_LIBRARY_PATH = " $LibraryRoot /libxml2-2.11.5/usr/lib/windows/$ ( $BuildArch.LLVMName ) "
2372+ $env: LIBXML_INCLUDE_PATH = " $LibraryRoot /libxml2-2.11.5/usr/include/libxml2"
2373+ $env: ZLIB_LIBRARY_PATH = " $LibraryRoot /zlib-1.3.1/usr/lib/windows/$ ( $BuildArch.LLVMName ) "
2374+ $env: CURL_LIBRARY_PATH = " $LibraryRoot /curl-8.9.1/usr/lib/windows/$ ( $BuildArch.LLVMName ) "
2375+ $env: CURL_INCLUDE_PATH = " $LibraryRoot /curl-8.9.1/usr/include"
2376+ Build-SPMProject `
2377+ - Action Test `
23572378 - Src $SourceCache \swift- corelibs- foundation `
2358- - Bin $FoundationBinaryCache `
2359- - InstallTo $ (if ($Static ) { " $ ( Get-SwiftSDK $Platform - Identifier " ${Platform} Experimental" ) \usr" } else { " $ ( Get-SwiftSDK $Platform ) \usr" }) `
2360- - Arch $Arch `
2361- - Platform $Platform `
2362- - UseBuiltCompilers ASM, C, CXX, Swift `
2363- - SwiftSDK (Get-SwiftSDK $Platform ) `
2364- - Defines @ {
2365- BUILD_SHARED_LIBS = if ($Static ) { " NO" } else { " YES" };
2366- CMAKE_FIND_PACKAGE_PREFER_CONFIG = " YES" ;
2367- CMAKE_NINJA_FORCE_RESPONSE_FILE = " YES" ;
2368- CMAKE_STATIC_LIBRARY_PREFIX_Swift = " lib" ;
2369- ENABLE_TESTING = " NO" ;
2370- FOUNDATION_BUILD_TOOLS = if ($Platform -eq " Windows" ) { " YES" } else { " NO" };
2371- CURL_DIR = " $LibraryRoot \curl-8.9.1\usr\lib\$Platform \$ShortArch \cmake\CURL" ;
2372- LibXml2_DIR = " $LibraryRoot \libxml2-2.11.5\usr\lib\$Platform \$ShortArch \cmake\libxml2-2.11.5" ;
2373- ZLIB_LIBRARY = if ($Platform -eq " Windows" ) {
2374- " $LibraryRoot \zlib-1.3.1\usr\lib\$Platform \$ShortArch \zlibstatic.lib"
2375- } else {
2376- " $LibraryRoot \zlib-1.3.1\usr\lib\$Platform \$ShortArch \libz.a"
2377- };
2378- ZLIB_INCLUDE_DIR = " $LibraryRoot \zlib-1.3.1\usr\include" ;
2379- dispatch_DIR = (Get-ProjectCMakeModules $Arch Dispatch);
2380- SwiftSyntax_DIR = (Get-ProjectBinaryCache $HostArch Compilers);
2381- _SwiftFoundation_SourceDIR = " $SourceCache \swift-foundation" ;
2382- _SwiftFoundationICU_SourceDIR = " $SourceCache \swift-foundation-icu" ;
2383- _SwiftCollections_SourceDIR = " $SourceCache \swift-collections" ;
2384- SwiftFoundation_MACRO = " $ ( Get-ProjectBinaryCache $BuildArch FoundationMacros) \bin"
2385- }
2379+ - Bin " $BinaryCache \$ ( $BuildArch.LLVMTarget ) \FoundationTests" `
2380+ - Arch $BuildArch `
2381+ - Configuration $FoundationTestConfiguration
23862382 }
23872383}
23882384
@@ -3294,12 +3290,8 @@ if (-not $IsCrossCompiling) {
32943290 if ($Test -contains " dispatch" ) {
32953291 Build-Dispatch Windows $HostArch - Test
32963292 }
3297- if ($Test -contains " foundation" ) {
3298- Build-Foundation Windows $HostArch - Test
3299- }
3300- if ($Test -contains " xctest" ) {
3301- Test-XCTest
3302- }
3293+ if ($Test -contains " foundation" ) { Test-Foundation }
3294+ if ($Test -contains " xctest" ) { Test-XCTest }
33033295 if ($Test -contains " testing" ) { Test-Testing }
33043296 if ($Test -contains " llbuild" ) { Test-LLBuild }
33053297 if ($Test -contains " swiftpm" ) { Test-PackageManager }
0 commit comments