diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-11-28 16:33:10 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2020-11-28 18:08:22 +0100 |
| commit | 2a13213dcfbc5ce2ec9b5773f7463046edfc2bae (patch) | |
| tree | 95100834c2e61b600994ee6b6e36810c67d49212 | |
| parent | 24c74a4d1cead8df41a7f22c8f28b1bf9e884de9 (diff) | |
| download | PROJ-2a13213dcfbc5ce2ec9b5773f7463046edfc2bae.tar.gz PROJ-2a13213dcfbc5ce2ec9b5773f7463046edfc2bae.zip | |
Add github action for VS2019 x64 build
| -rw-r--r-- | .github/workflows/windows.yml | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 00000000..13179c18 --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,62 @@ +name: Windows build + +on: [push, pull_request] + +jobs: + + MSVC: + runs-on: windows-latest + if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" + + env: + ARCH: x64 + BUILD_SHARED_LIBS: ON + + steps: + + - uses: actions/checkout@v2 + - uses: ilammy/msvc-dev-cmd@v1 + + - name: Cache vcpkg packages + uses: actions/cache@v2 + id: cache + with: + path: c:\vcpkg\installed + key: ${{ runner.os }}-vcpkg-${{ hashFiles('.github/workflows/windows.yml') }} + + - name: Install build requirements + shell: cmd + if: steps.cache.outputs.cache-hit != 'true' + run: | + vcpkg install sqlite3[core,tool]:${{ env.ARCH }}-windows + vcpkg install tiff:${{ env.ARCH }}-windows + vcpkg install curl:${{ env.ARCH }}-windows + + - name: Build + shell: cmd + run: | + set VCPKG_INSTALLED=c:\vcpkg\installed\${{ env.ARCH }}-windows + dir %VCPKG_INSTALLED%\bin + set PATH=%VCPKG_INSTALLED%\bin;%PATH% + set PROJ_BUILD=%GITHUB_WORKSPACE%\build + mkdir %PROJ_BUILD% + cd %PROJ_BUILD% + set PROJ_DIR=%GITHUB_WORKSPACE%\proj_dir + cmake -GNinja .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS="{{ env.BUILD_SHARED_LIBS }}" -DCMAKE_C_FLAGS="/WX" -DCMAKE_CXX_FLAGS="/WX" -DCMAKE_TOOLCHAIN_FILE=c:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_INSTALL_PREFIX="%PROJ_DIR%" + ninja -v + ninja install + dir %PROJ_DIR%\bin + + - name: Run tests + shell: cmd + run: | + set VCPKG_INSTALLED=c:\vcpkg\installed\${{ env.ARCH }}-windows + set PATH=%VCPKG_INSTALLED%\bin;%PATH% + set PROJ_DIR=%GITHUB_WORKSPACE%\proj_dir + set PROJ_LIB=%PROJ_DIR%\share\proj + set PROJ_BUILD=%GITHUB_WORKSPACE%\build + cd %PROJ_BUILD% + ctest -V -C Release + set PATH=%PROJ_DIR%\bin;%PATH% + call %GITHUB_WORKSPACE%\test\postinstall\test_cmake.bat %PROJ_DIR% + proj |
