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

Adopt vcpkg and streamline the build process #924

Merged
merged 15 commits into from
Dec 18, 2020
Merged

Adopt vcpkg and streamline the build process #924

merged 15 commits into from
Dec 18, 2020

Conversation

yvt
Copy link
Owner

@yvt yvt commented Dec 13, 2020

This PR makes the following changes to OpenSpades' standard build process for macOS and Windows.

  • It now uses vcpkg to fetch and build external dependencies. This makes their builds fully reproducible and reviewable and obviates the need to trust the prebuilt library packages' maintainer.
  • The CMake build process for macOS now produces a complete application bundle, which is almost ready for distribution.
  • The macOS build process now automatically downloads required assets.
  • The external dependencies are now built as static libraries. This means the following benefits:
    • Their .dll files no longer clutter the Windows binary distribution.
    • Static linking decreases the total code size.
  • The Xcode project has been removed because the CMake build process can do the job.
  • The new CI pipeline runs in GitHub Actions.

Tasks

  • Get the Windows build working
  • Get the macOS build working
  • CI: Windows builds
  • CI: macOS builds
  • Document the revised build process for Windows
  • Document the revised build process for macOS
  • Get rid of the Externals directory
  • Update the publishing process

@yvt yvt changed the title Adopt vcpkg, streamline the build process Adopt vcpkg and streamline the build process Dec 13, 2020
@yvt yvt added this to the 0.1.4 milestone Dec 13, 2020
@yvt
Copy link
Owner Author

yvt commented Dec 17, 2020

Static linking in action (left: the latest release, right: this PR)

Screenshot from 2020-12-18 02-25-25

We don't need it anymore since we now use vcpkg to fetch dependencies.
@yvt yvt marked this pull request as ready for review December 18, 2020 12:56
@yvt yvt merged commit 4d078e7 into master Dec 18, 2020
@yvt yvt deleted the patch-vcpkg branch December 18, 2020 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant