You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First step at getting full Windows CI: This PR gets us as far as doing
a Windows build of OSL for each Windows flavor on GHA. This is an
important part of making it much harder for us to inadvertently break
the build on Windows.
We currently only build, but we don't run the testsuite. This is
in progress and we don't pass all tests quite yet, but I didn't want
to wait any longer to get this much in our CI.
This is just about getting our own CI runs for Windows and still relies
on helper scripts being run as part of the CI to build or install the
dependencies before the main build starts. We want eventually to get
to the point where OSL's build system can itself auto-build all the
important dependencies if not found and it's not something most
users need to worry about.
A few notes about specific changes in this patch that came along
for the ride:
* Port many build_blah.bash scripts (or recent changes thereto) from
OIIO to OSL to synchronize them between the two projects and move
improvements made on the OIIO side to OSL's versions.
* Augment the build_llvm.bash script with logic to work on Windows,
too, using pre-built binaries associated with LLVM releases. Note
that not all of their releases have Windows binaries pre-built,
so you have to pick one of the right releases for it to work.
* Fix a problem with the way we propagate C++ std level flags from the
main build to the bitcode-generating pass. On Linux and Mac,
`-std=c++17` works identically on gcc/clang that we use for OSL
itself and the clang we use to generate precompiled bitcode. But on
Windows, the standard-setting flags for MSVC we use to build the cpp
is different from the flags needed for clang when compiling to
bicode.
* Modify the ci.yml to allow special branch names to exclude platforms,
to simplify iterating over many CI runs when only caring about one
platform. If the branch name contains the substring "windows-only",
the Linux and Mac CI test variants will be skipped, and analogously
for "macos-only" and "linux-only".
---------
Signed-off-by: Larry Gritz <[email protected]>
Co-authored-by: Brecht Van Lommel <[email protected]>
0 commit comments