@@ -123,10 +123,11 @@ function Build-CMakeProject
123
123
Invoke-VsDevShell $Arch
124
124
$CurrentVSDevShellTargetArch = $Arch
125
125
}
126
-
126
+
127
127
# Add additional defines (unless already present)
128
128
$Defines = $Defines.Clone ()
129
129
TryAddKeyValue $Defines CMAKE_BUILD_TYPE $BuildType
130
+ TryAddKeyValue $Defines CMAKE_MT " mt"
130
131
131
132
$CFlags = " /GS- /Gw /Gy /Oi /Oy /Zi /Zc:inline"
132
133
$CXXFlags = " /GS- /Gw /Gy /Oi /Oy /Zi /Zc:inline /Zc:__cplusplus"
@@ -158,17 +159,19 @@ function Build-CMakeProject
158
159
if ($UseBuiltCompilers.Contains (" Swift" )) {
159
160
TryAddKeyValue $Defines CMAKE_Swift_COMPILER S:/ b/ 1 / bin/ swiftc.exe
160
161
TryAddKeyValue $Defines CMAKE_Swift_COMPILER_TARGET $Arch.LLVMTarget
161
-
162
+
162
163
$RuntimeBuildDir = Get-ProjectBuildDir $Arch 1
163
164
$SwiftResourceDir = " ${RuntimeBuildDir} \lib\swift"
164
- $SwiftcFlags = @ (" -resource-dir $SwiftResourceDir " ,
165
+ $SwiftcFlags = @ (
166
+ " -resource-dir $SwiftResourceDir " ,
165
167
" -L $SwiftResourceDir \windows" ,
166
168
" -vfsoverlay $RuntimeBuildDir \stdlib\windows-vfs-overlay.yaml" ,
167
169
" -g -debug-info-format=codeview" ,
168
170
" -Xlinker /INCREMENTAL:NO" ,
169
171
" -Xlinker /DEBUG" ,
170
172
" -Xlinker /OPT:REF" ,
171
- " -Xlinker /OPT:ICF" ) -Join " "
173
+ " -Xlinker /OPT:ICF"
174
+ ) -Join " "
172
175
173
176
TryAddKeyValue $Defines CMAKE_Swift_FLAGS $SwiftcFlags
174
177
}
@@ -200,7 +203,7 @@ function Build-CMakeProject
200
203
cmake -- build $Bin -- target $Target
201
204
Check- LastExitCode
202
205
}
203
-
206
+
204
207
if (" " -ne $InstallTo )
205
208
{
206
209
cmake -- build $Bin -- target install
@@ -221,7 +224,6 @@ function Build-Compilers($Arch)
221
224
- CacheScript $SourceCache \swift\cmake\caches\Windows- $ ($Arch.LLVMName ).cmake `
222
225
- Defines @ {
223
226
CMAKE_INSTALL_PREFIX = " $ToolchainInstallRoot \usr" ;
224
- CMAKE_MT = " mt" ;
225
227
LLVM_ENABLE_PDB = " YES" ;
226
228
LLVM_EXTERNAL_CMARK_SOURCE_DIR = " $SourceCache \cmark" ;
227
229
LLVM_EXTERNAL_SWIFT_SOURCE_DIR = " $SourceCache \swift" ;
@@ -253,15 +255,14 @@ function Build-LLVM($Arch)
253
255
- Bin (Get-ProjectBuildDir $Arch 0 ) `
254
256
- Arch $Arch `
255
257
- Defines @ {
256
- CMAKE_MT = " mt" ;
257
258
LLVM_HOST_TRIPLE = $Arch.LLVMTarget ;
258
259
}
259
260
}
260
261
261
262
function Build-ZLib ($Arch )
262
263
{
263
264
$ArchName = $Arch.ShortName
264
-
265
+
265
266
Build-CMakeProject `
266
267
- Src $SourceCache \zlib `
267
268
- Bin $BinaryCache \zlib- 1.2 .11 .$ArchName `
@@ -270,7 +271,6 @@ function Build-ZLib($Arch)
270
271
- BuildDefaultTarget `
271
272
- Defines @ {
272
273
BUILD_SHARED_LIBS = " NO" ;
273
- CMAKE_MT = " mt" ;
274
274
INSTALL_BIN_DIR = " $InstallRoot \zlib-1.2.11\usr\bin\$ArchName " ;
275
275
INSTALL_LIB_DIR = " $InstallRoot \zlib-1.2.11\usr\lib\$ArchName " ;
276
276
}
@@ -288,7 +288,6 @@ function Build-XML2($Arch)
288
288
- BuildDefaultTarget `
289
289
- Defines @ {
290
290
BUILD_SHARED_LIBS = " NO" ;
291
- CMAKE_MT = " mt" ;
292
291
CMAKE_INSTALL_BINDIR = " bin/$ArchName " ;
293
292
CMAKE_INSTALL_LIBDIR = " lib/$ArchName " ;
294
293
LIBXML2_WITH_ICONV = " NO" ;
@@ -313,7 +312,6 @@ function Build-CURL($Arch)
313
312
- BuildDefaultTarget `
314
313
- Defines @ {
315
314
BUILD_SHARED_LIBS = " NO" ;
316
- CMAKE_MT = " mt" ;
317
315
CMAKE_INSTALL_BINDIR = " bin/$ArchName " ;
318
316
CMAKE_INSTALL_LIBDIR = " lib/$ArchName " ;
319
317
BUILD_CURL_EXE = " NO" ;
@@ -371,12 +369,11 @@ function Build-ICU($Arch)
371
369
- InstallTo " $InstallRoot \icu-69.1\usr" `
372
370
- Arch $Arch `
373
371
- BuildDefaultTarget `
374
- - Defines (@ {
372
+ - Defines ($BuildToolsDefines + @ {
375
373
BUILD_SHARED_LIBS = " NO" ;
376
- CMAKE_MT = " mt" ;
377
374
CMAKE_INSTALL_BINDIR = " bin/$ArchName " ;
378
375
CMAKE_INSTALL_LIBDIR = " lib/$ArchName " ;
379
- } + $BuildToolsDefines )
376
+ })
380
377
}
381
378
382
379
function Build-Runtime ($Arch )
@@ -392,7 +389,6 @@ function Build-Runtime($Arch)
392
389
- UseBuiltCompilers C, CXX `
393
390
- BuildDefaultTarget `
394
391
- Defines @ {
395
- CMAKE_MT = " mt" ;
396
392
LLVM_DIR = " $LLVMBuildDir \lib\cmake\llvm" ;
397
393
SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY = " YES" ;
398
394
SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING = " YES" ;
@@ -423,7 +419,6 @@ function Build-Dispatch($Arch)
423
419
- UseBuiltCompilers C, CXX, Swift `
424
420
- BuildDefaultTarget `
425
421
- Defines @ {
426
- CMAKE_MT = " mt" ;
427
422
CMAKE_SYSTEM_NAME = " Windows" ;
428
423
CMAKE_SYSTEM_PROCESSOR = $Arch.CMakeName ;
429
424
ENABLE_SWIFT = " YES" ;
@@ -479,7 +474,6 @@ function Build-Foundation($Arch)
479
474
- UseBuiltCompilers ASM, C, Swift `
480
475
- BuildDefaultTarget `
481
476
- Defines @ {
482
- CMAKE_MT = " mt" ;
483
477
CMAKE_SYSTEM_NAME = " Windows" ;
484
478
CMAKE_SYSTEM_PROCESSOR = $Arch.CMakeName ;
485
479
CURL_DIR = " $InstallRoot \curl-7.77.0\usr\lib\$ShortArch \cmake\CURL" ;
@@ -592,7 +586,7 @@ function Build-SQLite($Arch)
592
586
." $env: ProgramFiles \Git\usr\bin\unzip.exe" - j - o S:\var \cache\sqlite- amalgamation- 3360000. zip - d $Dest
593
587
Copy-Item $SourceCache \swift- build\cmake\SQLite\CMakeLists.txt $Dest \
594
588
}
595
-
589
+
596
590
Build-CMakeProject `
597
591
- Src $SourceCache \sqlite- 3.36 .0 `
598
592
- Bin $BinaryCache \sqlite- 3.36 .0 .$ArchName `
@@ -601,7 +595,6 @@ function Build-SQLite($Arch)
601
595
- BuildDefaultTarget `
602
596
- Defines @ {
603
597
BUILD_SHARED_LIBS = " NO" ;
604
- CMAKE_MT = " mt"
605
598
}
606
599
}
607
600
@@ -615,17 +608,15 @@ function Build-System($Arch)
615
608
- UseBuiltCompilers C, Swift `
616
609
- BuildDefaultTarget `
617
610
- Defines @ {
618
- BUILD_SHARED_LIBS = " NO" ;
619
- CMAKE_INSTALL_LIBDIR = " lib/$ ( $Arch.ShortName ) " ;
620
- CMAKE_MT = " mt"
611
+ BUILD_SHARED_LIBS = " YES" ;
621
612
}
622
613
}
623
614
624
615
function Build-ToolsSupportCore ($Arch )
625
616
{
626
617
$DispatchBuildDir = Get-ProjectBuildDir $Arch 2
627
618
$FoundationBuildDir = Get-ProjectBuildDir $Arch 3
628
-
619
+
629
620
Build-CMakeProject `
630
621
- Src $SourceCache \swift- tools- support- core `
631
622
- Bin $BinaryCache \3 `
@@ -635,7 +626,6 @@ function Build-ToolsSupportCore($Arch)
635
626
- BuildDefaultTarget `
636
627
- Defines @ {
637
628
BUILD_SHARED_LIBS = " YES" ;
638
- CMAKE_MT = " mt" ;
639
629
dispatch_DIR = " $DispatchBuildDir \cmake\modules" ;
640
630
Foundation_DIR = " $FoundationBuildDir \cmake\modules" ;
641
631
SwiftSystem_DIR = " $BinaryCache \2\cmake\modules" ;
@@ -648,7 +638,7 @@ function Build-LLBuild($Arch)
648
638
{
649
639
$DispatchBuildDir = Get-ProjectBuildDir $Arch 2
650
640
$FoundationBuildDir = Get-ProjectBuildDir $Arch 3
651
-
641
+
652
642
Build-CMakeProject `
653
643
- Src $SourceCache \llbuild `
654
644
- Bin $BinaryCache \4 `
@@ -659,8 +649,6 @@ function Build-LLBuild($Arch)
659
649
- BuildDefaultTarget `
660
650
- Defines @ {
661
651
BUILD_SHARED_LIBS = " YES" ;
662
- CMAKE_INSTALL_LIBDIR = " lib/$ ( $Arch.ShortName ) " ;
663
- CMAKE_MT = " mt" ;
664
652
LLBUILD_SUPPORT_BINDINGS = " Swift" ;
665
653
dispatch_DIR = " $DispatchBuildDir \cmake\modules" ;
666
654
Foundation_DIR = " $FoundationBuildDir \cmake\modules" ;
@@ -674,11 +662,10 @@ function Build-Yams($Arch)
674
662
$DispatchBuildDir = Get-ProjectBuildDir $Arch 2
675
663
$FoundationBuildDir = Get-ProjectBuildDir $Arch 3
676
664
$XCTestBuildDir = Get-ProjectBuildDir $Arch 4
677
-
665
+
678
666
Build-CMakeProject `
679
667
- Src $SourceCache \Yams `
680
668
- Bin $BinaryCache \5 `
681
- - InstallTo $ToolchainInstallRoot \usr `
682
669
- Arch $Arch `
683
670
- UseBuiltCompilers Swift `
684
671
- BuildDefaultTarget `
@@ -695,7 +682,7 @@ function Build-ArgumentParser($Arch)
695
682
$DispatchBuildDir = Get-ProjectBuildDir $Arch 2
696
683
$FoundationBuildDir = Get-ProjectBuildDir $Arch 3
697
684
$XCTestBuildDir = Get-ProjectBuildDir $Arch 4
698
-
685
+
699
686
Build-CMakeProject `
700
687
- Src $SourceCache \swift- argument- parser `
701
688
- Bin $BinaryCache \6 `
@@ -746,7 +733,6 @@ function Build-Crypto($Arch)
746
733
Build-CMakeProject `
747
734
- Src $SourceCache \swift- crypto `
748
735
- Bin $BinaryCache \8 `
749
- - InstallTo $ToolchainInstallRoot \usr `
750
736
- Arch $Arch `
751
737
- UseBuiltCompilers Swift `
752
738
- BuildDefaultTarget `
@@ -779,7 +765,6 @@ function Build-ASN1($Arch)
779
765
Build-CMakeProject `
780
766
- Src $SourceCache \swift- asn1 `
781
767
- Bin $BinaryCache \10 `
782
- - InstallTo $ToolchainInstallRoot \usr `
783
768
- Arch $Arch `
784
769
- UseBuiltCompilers Swift `
785
770
- BuildDefaultTarget `
@@ -794,7 +779,7 @@ function Build-Certificates($Arch)
794
779
{
795
780
$DispatchBuildDir = Get-ProjectBuildDir $Arch 2
796
781
$FoundationBuildDir = Get-ProjectBuildDir $Arch 3
797
-
782
+
798
783
Build-CMakeProject `
799
784
- Src $SourceCache \swift- certificates `
800
785
- Bin $BinaryCache \11 `
@@ -803,7 +788,6 @@ function Build-Certificates($Arch)
803
788
- BuildDefaultTarget `
804
789
- Defines @ {
805
790
BUILD_SHARED_LIBS = " NO" ;
806
- CMAKE_INSTALL_PREFIX = " $ToolchainInstallRoot \usr" ; # Don't use -InstallTo, we don't build install
807
791
dispatch_DIR = " $DispatchBuildDir \cmake\modules" ;
808
792
Foundation_DIR = " $FoundationBuildDir \cmake\modules" ;
809
793
SwiftASN1_DIR = " $BinaryCache \10\cmake\modules" ;
@@ -817,7 +801,7 @@ function Build-PackageManager($Arch)
817
801
$SwiftResourceDir = " ${RuntimeBuildDir} \lib\swift"
818
802
$DispatchBuildDir = Get-ProjectBuildDir $Arch 2
819
803
$FoundationBuildDir = Get-ProjectBuildDir $Arch 3
820
-
804
+
821
805
Build-CMakeProject `
822
806
- Src $SourceCache \swift- package- manager `
823
807
- Bin $BinaryCache \12 `
@@ -827,7 +811,6 @@ function Build-PackageManager($Arch)
827
811
- BuildDefaultTarget `
828
812
- Defines @ {
829
813
BUILD_SHARED_LIBS = " YES" ;
830
- CMAKE_MT = " mt" ;
831
814
CMAKE_Swift_FLAGS = " -DCRYPTO_v2 -resource-dir $SwiftResourceDir -L $SwiftResourceDir \windows -vfsoverlay $RuntimeBuildDir \stdlib\windows-vfs-overlay.yaml" ;
832
815
dispatch_DIR = " $DispatchBuildDir \cmake\modules" ;
833
816
Foundation_DIR = " $FoundationBuildDir \cmake\modules" ;
@@ -849,7 +832,7 @@ function Build-IndexStoreDB($Arch)
849
832
{
850
833
$DispatchBuildDir = Get-ProjectBuildDir $Arch 2
851
834
$FoundationBuildDir = Get-ProjectBuildDir $Arch 3
852
-
835
+
853
836
Build-CMakeProject `
854
837
- Src $SourceCache \indexstore- db `
855
838
- Bin $BinaryCache \13 `
@@ -858,9 +841,7 @@ function Build-IndexStoreDB($Arch)
858
841
- BuildDefaultTarget `
859
842
- Defines @ {
860
843
BUILD_SHARED_LIBS = " NO" ;
861
- CMAKE_MT = " mt" ;
862
844
CMAKE_CXX_FLAGS = " -Xclang -fno-split-cold-code" ;
863
- CMAKE_INSTALL_PREFIX = " $ToolchainInstallRoot \usr" ; # Specify here to not build the install target
864
845
dispatch_DIR = " $DispatchBuildDir \cmake\modules" ;
865
846
Foundation_DIR = " $FoundationBuildDir \cmake\modules" ;
866
847
}
@@ -876,15 +857,15 @@ function Build-Syntax($Arch)
876
857
- UseBuiltCompilers Swift `
877
858
- BuildDefaultTarget `
878
859
- Defines @ {
879
- CMAKE_MT = " mt " ;
860
+ BUILD_SHARED_LIBS = " YES " ;
880
861
}
881
862
}
882
863
883
864
function Build-SourceKitLSP ($Arch )
884
865
{
885
866
$DispatchBuildDir = Get-ProjectBuildDir $Arch 2
886
867
$FoundationBuildDir = Get-ProjectBuildDir $Arch 3
887
-
868
+
888
869
Build-CMakeProject `
889
870
- Src $SourceCache \sourcekit- lsp `
890
871
- Bin $BinaryCache \15 `
@@ -893,7 +874,6 @@ function Build-SourceKitLSP($Arch)
893
874
- UseBuiltCompilers C, Swift `
894
875
- BuildDefaultTarget `
895
876
- Defines @ {
896
- CMAKE_MT = " mt" ;
897
877
dispatch_DIR = " $DispatchBuildDir \cmake\modules" ;
898
878
Foundation_DIR = " $FoundationBuildDir \cmake\modules" ;
899
879
SwiftSystem_DIR = " $BinaryCache \2\cmake\modules" ;
@@ -947,7 +927,7 @@ Copy-Item -Force $BinaryCache\7\bin\swift-driver.exe $ToolchainInstallRoot\usr\b
947
927
$python = " ${Env: ProgramFiles(x86)} \Microsoft Visual Studio\Shared\Python39_64\python.exe"
948
928
if (-not (Test-Path $python ))
949
929
{
950
- $python = (( where.exe python) | Out-String ).Trim()
930
+ $python = (where.exe python) | Select - First 1
951
931
if (-not (Test-Path $python ))
952
932
{
953
933
throw " Python.exe not found"
0 commit comments