Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake based build #1720

Merged
merged 5 commits into from
Nov 2, 2018
Merged

CMake based build #1720

merged 5 commits into from
Nov 2, 2018

Conversation

compnerd
Copy link
Collaborator

These set of changes are needed to build with the CMake system.

Copy link
Contributor

@millenomi millenomi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like many of these changes but I’m really confused why they are in the CMake PR.

@compnerd
Copy link
Collaborator Author

@millenomi - the underlying CF changes that can be done are in a separate PR (that should go in first). The Foundation side of the changes I expect will require the CF to be built as a framework (which is part of what I did in the CMake based build). Once the base CF changes are in, I will rebase this.

The hack for plutil I haven't figured out why the type of doesn't work. After that, I am going to try to switch over the Foundation build to CMake :-)

@spevans
Copy link
Collaborator

spevans commented Oct 11, 2018

With the CMake build, will libFoundation.a still be built? I notice that after swift-corelibs-xctest and swift-corelibs-libdispatch were switched over to CMake, the respective static libraries stopped being built and I was hoping that wouldn't be the case for Foundation (and eventually the other two can be fixed as well).

@compnerd
Copy link
Collaborator Author

@spevans, sure, passing -DBUILD_SHARED_LIBS=NO will generate a static library. Updating build-script to do two builds will allow the distributions to have the static builds.

The CMake based build uncovered that swift can sometimes get confused about the
refernece to type in the interpolation.  Workaround it by specifying the
qualified name.  Thanks to Lily Vulcano for the hint!
This set of change is less than ideal.  However, this is the last piece to make
the generated toolchain image currently the same with the old build system.
With this in plae, we can finally switch over to CMake.
@compnerd
Copy link
Collaborator Author

compnerd commented Nov 1, 2018

Please test with following PRs:
apple/swift#20032
apple/swift-llbuild#388
apple/swift-package-manager#1833
apple/swift-corelibs-xctest#230

@swift-ci please test Linux platform

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants