Skip to content

Commit dd8c544

Browse files
authored
Merge pull request #15295 from AndrewSB/more-win🐶-cleanup
docs/Windows: More cleanup
2 parents 6b899b6 + a5b7776 commit dd8c544

File tree

1 file changed

+21
-12
lines changed

1 file changed

+21
-12
lines changed

docs/WindowsBuild.md

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,9 @@ argument to `x86` and run
7474
VsDevCmd -arch=x86
7575
```
7676

77-
- Then adapt the following command and run it.
77+
- Then adapt the following command and run it. Make sure to use forward slashes
78+
(`/`) instead of backslashes (`\`) as the path seperators. `clang` breaks
79+
with backslashed paths
7880
```cmd
7981
set swift_source_dir=path-to-directory-containing-all-cloned-repositories
8082
```
@@ -113,7 +115,14 @@ cmake -G "Ninja"^
113115
-DLLVM_TARGETS_TO_BUILD=X86^
114116
"%swift_source_dir%/llvm"
115117
popd
116-
cmake --build "%swift_source_dir%/build/Ninja-DebugAssert/llvm-windows-amd64"
118+
cmake --build "%swift_source_dir%/build/Ninja-RelWithDebInfoAssert/llvm-windows-amd64"
119+
```
120+
- store the llvm `bin` directory in an environment variable so it can be used
121+
to build swift. Assuming you followed the instructions exactly, the path
122+
below is correct, but it may be different based on your build variant and
123+
platform, so double check.
124+
```cmd
125+
set llvm_bin_dir="%swift_source_dir%/build/Ninja-RelWithDebInfoAssert/llvm-windows-amd64/bin"
117126
```
118127

119128
### 7. Build Swift
@@ -122,8 +131,8 @@ cmake --build "%swift_source_dir%/build/Ninja-DebugAssert/llvm-windows-amd64"
122131
- You may need to adjust the `SWIFT_WINDOWS_LIB_DIRECTORY` parameter depending on
123132
your target platform or Windows SDK version.
124133
```cmd
125-
mkdir "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64/ninja"
126-
pushd "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64/ninja"
134+
mkdir "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64"
135+
pushd "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64"
127136
cmake -G "Ninja" "%swift_source_dir%/swift"^
128137
-DCMAKE_BUILD_TYPE=Debug^
129138
-DSWIFT_PATH_TO_CMARK_SOURCE="%swift_source_dir%/cmark"^
@@ -141,13 +150,13 @@ cmake -G "Ninja" "%swift_source_dir%/swift"^
141150
-DICU_I18N_LIB_NAME="icuin"^
142151
-DSWIFT_INCLUDE_DOCS=FALSE^
143152
-DSWIFT_INCLUDE_TESTS=FALSE^
144-
-DCMAKE_C_COMPILER="<path-to-llvm-bin>/clang-cl.exe"^
145-
-DCMAKE_CXX_COMPILER="<path-to-llvm-bin>/bin/clang-cl.exe"^
153+
-DCMAKE_C_COMPILER="%llvm_bin_dir%/clang-cl.exe"^
154+
-DCMAKE_CXX_COMPILER="%llvm_bin_dir%/clang-cl.exe"^
146155
-DCMAKE_C_FLAGS="-fms-compatibility-version=19.00 /Z7"^
147156
-DCMAKE_CXX_FLAGS="-fms-compatibility-version=19.00 -Z7" ^
148157
-DSWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER=FALSE
149158
popd
150-
cmake --build "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64/ninja"
159+
cmake --build "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64"
151160
```
152161

153162
- To create a Visual Studio project, you'll need to change the generator and,
@@ -168,13 +177,13 @@ cmake -G "Visual Studio 15" "%swift_source_dir%/swift"^
168177
Follow instructions 1-6 for `clang-cl`, but run the following instead to build Swift
169178

170179
```cmd
171-
mkdir "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64/ninja"
172-
pushd "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64/ninja"
180+
mkdir "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64"
181+
pushd "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64"
173182
cmake -G "Ninja" "%swift_source_dir%/swift"^
174183
-DCMAKE_BUILD_TYPE=Debug^
175184
-DSWIFT_PATH_TO_CMARK_SOURCE="%swift_source_dir%/cmark"^
176-
-DSWIFT_PATH_TO_CMARK_BUILD="%swift_source_dir%/build/Ninja-DebugAssert/cmark-windows-amd64"^
177-
-DSWIFT_CMARK_LIBRARY_DIR="%swift_source_dir%/build/Ninja-DebugAssert/cmark-windows-amd64/src"^
185+
-DSWIFT_PATH_TO_CMARK_BUILD="%swift_source_dir%/build/Ninja-RelWithDebInfoAssert/cmark-windows-amd64"^
186+
-DSWIFT_CMARK_LIBRARY_DIR="%swift_source_dir%/build/Ninja-RelWithDebInfoAssert/cmark-windows-amd64/src"^
178187
-DSWIFT_PATH_TO_LLVM_SOURCE="%swift_source_dir%/llvm"^
179188
-DSWIFT_PATH_TO_LLVM_BUILD="%swift_source_dir%/build/Ninja-RelWithDebInfoAssert/llvm-windows-amd64"^
180189
-DSWIFT_PATH_TO_CLANG_SOURCE="%swift_source_dir%/llvm/tools/clang"^
@@ -190,5 +199,5 @@ cmake -G "Ninja" "%swift_source_dir%/swift"^
190199
-DSWIFT_BUILD_DYNAMIC_SDK_OVERLAY=FALSE^
191200
-DSWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER=FALSE
192201
popd
193-
cmake --build "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64/ninja"
202+
cmake --build "%swift_source_dir%/build/Ninja-DebugAssert/swift-windows-amd64"
194203
```

0 commit comments

Comments
 (0)