-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Nikolaj Bjorner <[email protected]>
- Loading branch information
1 parent
910b302
commit 2dd45f8
Showing
1 changed file
with
43 additions
and
13 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,64 @@ | ||
name: Windows | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
push: | ||
branches: [ master ] | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
matrix: | ||
arch : [x86,x64,amd64_arm64] | ||
include: | ||
- arch : x86 | ||
bindings : '-DZ3_BUILD_PYTHON_BINDINGS=True' | ||
- arch : amd64_arm64 | ||
- arch : x64 | ||
cmd1 : 'julia -e "using Pkg; Pkg.add(PackageSpec(name=\"libcxxwrap_julia_jll\", version=\"0.7.0\"))"' | ||
cmd1 : 'julia -e "using Pkg; Pkg.add(PackageSpec(name=\"libcxxwrap_julia_jll\"))"' | ||
cmd2 : 'julia -e "using libcxxwrap_julia_jll; print(dirname(libcxxwrap_julia_jll.libcxxwrap_julia_path))" > tmp.env' | ||
cmd3 : 'set /P JlCxxDir=<tmp.env' | ||
bindings: '-DJlCxx_DIR=%JlCxxDir%\..\lib\cmake\JlCxx $(cmakeJava) $(cmakeNet) $(cmakePy) -DCMAKE_BUILD_TYPE=RelWithDebInfo' | ||
- arch : amd64_arm64 | ||
bindings: '-DZ3_BUILD_PYTHON_BINDINGS=True' | ||
test : 1 | ||
bindings: -DJlCxx_DIR=%JlCxxDir%\..\lib\cmake\JlCxx -DZ3_BUILD_JAVA_BINDINGS=True -DZ3_BUILD_DOTNET_BINDINGS=True -DZ3_BUILD_PYTHON_BINDINGS=True | ||
|
||
runs-on: windows-latest | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
- name: Add msbuild to PATH | ||
uses: microsoft/[email protected] | ||
- name: Build | ||
run: | | ||
uses: microsoft/[email protected] | ||
- run: | | ||
md build | ||
cd build | ||
cmd /c "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.arch }} | ||
cmake -G "NMake Makefiles" ../ | ||
nmake | ||
${{ matrix.cmd1 }} | ||
${{ matrix.cmd2 }} | ||
${{ matrix.cmd3 }} | ||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.arch }} | ||
cmake ${{ matrix.bindings }} -G "NMake Makefiles" ../ | ||
nmake | ||
cd .. | ||
shell: cmd | ||
- name: Run Regressions | ||
if: ${{ matrix.test }} | ||
run: | | ||
git clone https://github.com/z3prover/z3test z3test | ||
python z3test\scripts\test_benchmarks.py build\z3.exe z3test\regressions\smt2 | ||
shell: cmd | ||
- name: Run Tests | ||
if: ${{ matrix.test }} | ||
run: | | ||
pushd build | ||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.arch }} | ||
pushd build\python | ||
python z3test.py z3 | ||
python z3test.py z3num | ||
popd | ||
pushd build | ||
nmake cpp_example | ||
examples\cpp_example_build_dir\cpp_example.exe | ||
nmake c_example | ||
examples\c_example_build_dir\c_example.exe | ||
nmake test-z3 | ||
test-z3.exe -a | ||
popd | ||
shell: cmd | ||
|
||
|