-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Split Windows library build scripts from CI #13478
Merged
straight-shoota
merged 8 commits into
crystal-lang:master
from
HertzDevil:refactor/windows-ci-libs
May 24, 2023
Merged
Split Windows library build scripts from CI #13478
straight-shoota
merged 8 commits into
crystal-lang:master
from
HertzDevil:refactor/windows-ci-libs
May 24, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HertzDevil
added
topic:infrastructure
kind:refactor
platform:windows
Windows support based on the MSVC toolchain / Win32 API
labels
May 17, 2023
oprypin
reviewed
May 18, 2023
oprypin
reviewed
May 18, 2023
straight-shoota
approved these changes
May 23, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
kind:refactor
platform:windows
Windows support based on the MSVC toolchain / Win32 API
topic:infrastructure/ci
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR extracts the build scripts for the various third-party libraries in the Windows CI jobs into individual PowerShell scripts.
These scripts can be run from any directory. They all require CMake and Git;
setup.ps1
will try to detect them from several common locations, even if they aren't present in%PATH%
. Additionally, building PCRE requires 7-Zip, and building OpenSSL requires NASM and Strawberry Perl.All those scripts support static and dynamic builds; the latter adds
-dynamic
to the names of all import libraries, in accordance with #13473. To build the libraries as DLLs, start from the MSVC developer prompt: (Strawberry Perl adds a lot of things to%PATH%
, so it is a good idea to use the portable installation and keep%PATH%
intact outside building OpenSSL)This will place all the import libraries inside
.\libs
and all the DLLs inside.\dlls
. To build static libraries simply remove the-Dynamic
; static and dynamic builds should use separate build trees to avoid surprising behavior.This PR also upgrades libxml2 from 2.10.3 to 2.11.3, and OpenSSL from 3.0.7 to 3.1.0.
Eventually the scripts will be moved to a completely different place where all the libraries (and possibly the installer too) will be published as a single artifact.