aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-11-28 16:33:10 +0100
committerEven Rouault <even.rouault@spatialys.com>2020-11-28 18:08:22 +0100
commit2a13213dcfbc5ce2ec9b5773f7463046edfc2bae (patch)
tree95100834c2e61b600994ee6b6e36810c67d49212
parent24c74a4d1cead8df41a7f22c8f28b1bf9e884de9 (diff)
downloadPROJ-2a13213dcfbc5ce2ec9b5773f7463046edfc2bae.tar.gz
PROJ-2a13213dcfbc5ce2ec9b5773f7463046edfc2bae.zip
Add github action for VS2019 x64 build
-rw-r--r--.github/workflows/windows.yml62
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