Skip to content

Commit 0dc8fbd

Browse files
authored
Merge pull request #70814 from compnerd/format
build: migrate to CMake based build of swift-format
2 parents 50785b5 + 1864caa commit 0dc8fbd

File tree

5 files changed

+49
-26
lines changed

5 files changed

+49
-26
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -802,7 +802,7 @@ if(SWIFT_PATH_TO_CMARK_BUILD)
802802
OUTPUT_STRIP_TRAILING_WHITESPACE)
803803
message(STATUS "CMark Version: ${_CMARK_VERSION}")
804804
elseif(SWIFT_INCLUDE_TOOLS)
805-
find_package(cmark-gfm CONFIG REQUIRED)
805+
find_package(cmark-gfm REQUIRED)
806806
endif()
807807
message(STATUS "")
808808

cmake/caches/Windows-aarch64.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ set(LLVM_ENABLE_PROJECTS
66
CACHE STRING "")
77

88
set(LLVM_EXTERNAL_PROJECTS
9-
cmark
109
swift
1110
CACHE STRING "")
1211

cmake/caches/Windows-x86_64.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ set(LLVM_ENABLE_PROJECTS
66
CACHE STRING "")
77

88
set(LLVM_EXTERNAL_PROJECTS
9-
cmark
109
swift
1110
CACHE STRING "")
1211

stdlib/cmake/modules/SwiftSource.cmake

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1042,7 +1042,8 @@ function(_compile_swift_files
10421042
if (NOT SWIFTFILE_IS_MAIN)
10431043
add_custom_command_target(
10441044
module_dependency_target
1045-
COMMAND "${CMAKE_COMMAND}" -E make_directory ${dirs_to_create}
1045+
COMMAND
1046+
"${CMAKE_COMMAND}" -E make_directory ${dirs_to_create}
10461047
COMMAND
10471048
"${CMAKE_COMMAND}" "-E" "remove" "-f" ${module_outputs}
10481049
COMMAND

utils/build.ps1

Lines changed: 46 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -853,11 +853,11 @@ function Build-CMark($Arch) {
853853
Build-CMakeProject `
854854
-Src $SourceCache\cmark `
855855
-Bin "$($Arch.BinaryCache)\cmark-gfm-0.29.0.gfm.13" `
856-
-InstallTo "$LibraryRoot\cmark-0.29.0.gfm.13\usr" `
856+
-InstallTo "$($Arch.ToolchainInstallRoot)\usr" `
857857
-Arch $Arch `
858858
-BuildTargets default `
859859
-Defines @{
860-
BUILD_SHARED_LIBS = "NO";
860+
BUILD_SHARED_LIBS = "YES";
861861
BUILD_TESTING = "NO";
862862
CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP = "YES";
863863
}
@@ -913,8 +913,7 @@ function Build-Compilers() {
913913

914914
Isolate-EnvVars {
915915
if ($TestClang -or $TestLLD -or $TestLLDB -or $TestLLVM -or $TestSwift) {
916-
$LibdispatchBinDir = "$BinaryCache\1\tools\swift\libdispatch-windows-$($Arch.LLVMName)-prefix\bin"
917-
$env:Path = "$LibdispatchBinDir;$BinaryCache\1\bin;$env:Path;$VSInstallRoot\DIA SDK\bin\$($HostArch.VSName);$UnixToolsBinDir"
916+
$env:Path = "$($HostArch.BinaryCache)\cmark-gfm-0.29.0.gfm.13\src;$BinaryCache\1\tools\swift\libdispatch-windows-$($Arch.LLVMName)-prefix\bin;$BinaryCache\1\bin;$env:Path;$VSInstallRoot\DIA SDK\bin\$($HostArch.VSName);$UnixToolsBinDir"
918917
$Targets = @()
919918
$TestingDefines = @{
920919
SWIFT_BUILD_DYNAMIC_SDK_OVERLAY = "YES";
@@ -1159,18 +1158,19 @@ function Build-Runtime($Arch) {
11591158
$LLVMBinaryCache = Get-ProjectBinaryCache $Arch 0
11601159

11611160
Isolate-EnvVars {
1162-
$env:Path = "$(Get-PinnedToolchainRuntime);${env:Path}"
1161+
$env:Path = "$($HostArch.BinaryCache)\cmark-gfm-0.29.0.gfm.13\src;$(Get-PinnedToolchainRuntime);${env:Path}"
11631162

11641163
Build-CMakeProject `
11651164
-Src $SourceCache\swift `
11661165
-Bin (Get-ProjectBinaryCache $Arch 1) `
11671166
-InstallTo "$($Arch.SDKInstallRoot)\usr" `
11681167
-Arch $Arch `
11691168
-CacheScript $SourceCache\swift\cmake\caches\Runtime-Windows-$($Arch.LLVMName).cmake `
1170-
-UseBuiltCompilers C,CXX `
1169+
-UseBuiltCompilers C,CXX,Swift `
11711170
-BuildTargets default `
11721171
-Defines @{
11731172
CMAKE_Swift_COMPILER_TARGET = $Arch.LLVMTarget;
1173+
CMAKE_Swift_COMPILER_WORKS = "YES";
11741174
LLVM_DIR = "$LLVMBinaryCache\lib\cmake\llvm";
11751175
SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY = "YES";
11761176
SWIFT_ENABLE_EXPERIMENTAL_CXX_INTEROP = "YES";
@@ -1606,10 +1606,45 @@ function Build-PackageManager($Arch) {
16061606
}
16071607
}
16081608

1609+
function Build-Markdown($Arch) {
1610+
Build-CMakeProject `
1611+
-Src $SourceCache\swift-markdown `
1612+
-Bin $BinaryCache\13 `
1613+
-InstallTo "$($Arch.ToolchainInstallRoot)\usr" `
1614+
-Arch $Arch `
1615+
-UseBuiltCompilers Swift `
1616+
-SwiftSDK $SDKInstallRoot `
1617+
-BuildTargets default `
1618+
-Defines @{
1619+
BUILD_SHARED_LIBS = "NO";
1620+
ArgumentParser_DIR = "$BinaryCache\6\cmake\modules";
1621+
"cmark-gfm_DIR" = "$($Arch.BinaryCache)\cmark-gfm-0.29.0.gfm.13";
1622+
}
1623+
}
1624+
1625+
function Build-Format($Arch) {
1626+
Build-CMakeProject `
1627+
-Src $SourceCache\swift-format `
1628+
-Bin $BinaryCache\14 `
1629+
-InstallTo "$($Arch.ToolchainInstallRoot)\usr" `
1630+
-Arch $Arch `
1631+
-UseMSVCCompilers C `
1632+
-UseBuiltCompilers Swift `
1633+
-SwiftSDK $SDKInstallRoot `
1634+
-BuildTargets default `
1635+
-Defines @{
1636+
BUILD_SHARED_LIBS = "YES";
1637+
ArgumentParser_DIR = "$BinaryCache\6\cmake\modules";
1638+
SwiftSyntax_DIR = "$BinaryCache\1\cmake\modules";
1639+
"cmark-gfm_DIR" = "$($Arch.BinaryCache)\cmark-gfm-0.29.0.gfm.13";
1640+
SwiftMarkdown_DIR = "$BinaryCache\13\cmake\modules";
1641+
}
1642+
}
1643+
16091644
function Build-IndexStoreDB($Arch) {
16101645
Build-CMakeProject `
16111646
-Src $SourceCache\indexstore-db `
1612-
-Bin $BinaryCache\13 `
1647+
-Bin $BinaryCache\15 `
16131648
-Arch $Arch `
16141649
-UseBuiltCompilers C,CXX,Swift `
16151650
-SwiftSDK $SDKInstallRoot `
@@ -1624,7 +1659,7 @@ function Build-IndexStoreDB($Arch) {
16241659
function Build-SourceKitLSP($Arch) {
16251660
Build-CMakeProject `
16261661
-Src $SourceCache\sourcekit-lsp `
1627-
-Bin $BinaryCache\14 `
1662+
-Bin $BinaryCache\16 `
16281663
-InstallTo "$($Arch.ToolchainInstallRoot)\usr" `
16291664
-Arch $Arch `
16301665
-UseBuiltCompilers C,Swift `
@@ -1639,7 +1674,7 @@ function Build-SourceKitLSP($Arch) {
16391674
SwiftCrypto_DIR = "$BinaryCache\8\cmake\modules";
16401675
SwiftCollections_DIR = "$BinaryCache\9\cmake\modules";
16411676
SwiftPM_DIR = "$BinaryCache\12\cmake\modules";
1642-
IndexStoreDB_DIR = "$BinaryCache\13\cmake\modules";
1677+
IndexStoreDB_DIR = "$BinaryCache\15\cmake\modules";
16431678
}
16441679
}
16451680

@@ -1675,18 +1710,6 @@ function Build-Inspect() {
16751710
}
16761711
}
16771712

1678-
function Build-Format() {
1679-
$OutDir = Join-Path -Path $HostArch.BinaryCache -ChildPath swift-format
1680-
1681-
Isolate-EnvVars {
1682-
$env:SWIFTCI_USE_LOCAL_DEPS=1
1683-
Build-SPMProject `
1684-
-Src $SourceCache\swift-format `
1685-
-Bin $OutDir `
1686-
-Arch $HostArch
1687-
}
1688-
}
1689-
16901713
function Build-DocC() {
16911714
$OutDir = Join-Path -Path $HostArch.BinaryCache -ChildPath swift-docc
16921715

@@ -1813,6 +1836,8 @@ if (-not $SkipBuild) {
18131836
Invoke-BuildStep Build-ASN1 $HostArch
18141837
Invoke-BuildStep Build-Certificates $HostArch
18151838
Invoke-BuildStep Build-PackageManager $HostArch
1839+
Invoke-BuildStep Build-Markdown $HostArch
1840+
Invoke-BuildStep Build-Format $HostArch
18161841
Invoke-BuildStep Build-IndexStoreDB $HostArch
18171842
Invoke-BuildStep Build-SourceKitLSP $HostArch
18181843
}
@@ -1821,7 +1846,6 @@ Install-HostToolchain
18211846

18221847
if (-not $SkipBuild) {
18231848
Invoke-BuildStep Build-Inspect $HostArch
1824-
Invoke-BuildStep Build-Format $HostArch
18251849
Invoke-BuildStep Build-DocC $HostArch
18261850
}
18271851

0 commit comments

Comments
 (0)