Commit Graph

10 Commits

Author SHA1 Message Date
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
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
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
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