Commit Graph

18 Commits

Author SHA1 Message Date
Hamish Knight
486cd42bba [xcodegen] Avoid buildable folders for mixed Swift targets
If a Swift target has sources in its folder that
aren't part of the target, we can't form a buildable
folder.
2024-12-14 19:53:51 +00:00
Hamish Knight
54bf65b2e9 [xcodegen] Include Obj-C(++) sources
Can't believe I missed these for so long.
2024-12-14 19:53:51 +00:00
Hamish Knight
71eeb612f0 [xcodegen] Avoid emitting Swift Obj-C header
This isn't needed currently and works around
an assertion failure.
2024-12-14 19:53:51 +00:00
Hamish Knight
780a546646 [xcodegen] Restrict dependency computation a bit
Only consider `.o` and `.swiftmodule` inputs for now. Previously
we could end up with unnecessary dependencies for e.g plugin
dylibs, but we don't build and patch those in currently.
2024-12-14 19:53:51 +00:00
Hamish Knight
dfe1f9cc53 [xcodegen] Infer project root from xcodegen location
Instead of inferring from the build directory location,
infer from the location of swift-xcodegen itself since
we know that's in the swift repo.
2024-12-14 14:30:55 +00:00
Hamish Knight
7f313a6621 Merge pull request #77791 from hamishknight/enable-buildable-folders 2024-12-02 09:19:47 +00:00
Hamish Knight
dade4217db [xcodegen] Show caveat for --stdlib-swift too
While here, also add a caveat for the fact that
`--stdlib-swift` is disabled by default since it's
surprised a couple of folks now.
2024-11-29 16:07:13 +00:00
Hamish Knight
e04efdd2bb [xcodegen] Enable buildable folders by default
I've been living on this for a bit without issue,
enable by default.
2024-11-29 16:05:12 +00:00
Hamish Knight
b0d91b016c Fix typo
Co-authored-by: Jamie <2119834+jamieQ@users.noreply.github.com>
2024-11-22 16:00:09 +00:00
Hamish Knight
ac4d52d5c3 [xcodegen] Update help text for --stdlib-swift
Clarify why a development snapshot is needed
for stdlib Swift targets.
2024-11-22 15:50:36 +00:00
Hamish Knight
9a53db6b9a [xcodegen] Add --buildable-folders
This enables the use of folder references for
compatible targets, allowing new source files to
be added without needing to regenerate the project.
Currently disabled by default; I'd like to get
some living-on before enabling.
2024-11-09 20:16:45 +00:00
Hamish Knight
a596880b65 [xcodegen] Add --prefer-folder-refs flag 2024-11-09 20:01:37 +00:00
Hamish Knight
84ba92dbe8 [xcodegen] Add serialization support for buildable folders 2024-11-09 20:01:37 +00:00
Hamish Knight
29cfe90869 [xcodegen] Remove isImportant
This only existed to avoid adding anything under
a folder reference. Now that we add those
references first, this is no longer needed.
2024-11-09 20:01:37 +00:00
Hamish Knight
5ff60d014b [xcodegen] Add file references to project first
This requires ensuring we check that we're not
ever attempting to add a group under an existing
folder reference. This will be required for
buildable folders.
2024-11-09 20:01:37 +00:00
Hamish Knight
94b744ce4f [xcodegen] Fix typo 2024-11-06 12:20:44 +00:00
Hamish Knight
43be5456b1 [xcodegen] Allow output to be missing in compile_commands.json
This may not always be present for CI builds.
2024-11-06 12:20:44 +00:00
Hamish Knight
03d8ea5248 Introduce swift-xcodegen
This is a tool specifically designed to generate
Xcode projects for the Swift repo (as well as a
couple of adjacent repos such as LLVM and Clang).
It aims to provide a much more user-friendly experience
than the CMake Xcode generation (`build-script --xcode`).
2024-11-05 22:42:10 +00:00