diff options
| author | Mike Taves <mwtoews@gmail.com> | 2021-12-09 00:45:03 +1300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-09 00:45:03 +1300 |
| commit | 7a9b6566ac02d8c408f4f3758bfa5fcc3e90b552 (patch) | |
| tree | d71d0771cc9f95d5a8ea96bd975bbd4164188813 /.github | |
| parent | 1b18defb63c7d2420d18e4375348663874247838 (diff) | |
| download | PROJ-7a9b6566ac02d8c408f4f3758bfa5fcc3e90b552.tar.gz PROJ-7a9b6566ac02d8c408f4f3758bfa5fcc3e90b552.zip | |
Refactor post-install suite to test shared and static projlib (#2972)
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/windows.yml | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 9358aaa6..ce744f81 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -11,12 +11,14 @@ jobs: strategy: fail-fast: false matrix: + BUILD_SHARED_LIBS: [ON, OFF] BUILD_TYPE: [Release, Debug] env: ARCH: x64 - BUILD_SHARED_LIBS: ON + BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS }} BUILD_TYPE: ${{ matrix.BUILD_TYPE }} + CMAKE_GENERATOR: Ninja steps: @@ -48,7 +50,7 @@ jobs: mkdir %PROJ_BUILD% cd %PROJ_BUILD% set PROJ_DIR=%GITHUB_WORKSPACE%\proj_dir - cmake -GNinja .. -DCMAKE_BUILD_TYPE="${{ env.BUILD_TYPE }}" -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%" + cmake -DCMAKE_BUILD_TYPE="${{ env.BUILD_TYPE }}" -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 @@ -56,14 +58,18 @@ jobs: - name: Run tests shell: cmd run: | - set VCPKG_INSTALLED=c:\vcpkg\installed\${{ env.ARCH }}-windows + set VCPKG_ROOT=c:\vcpkg + set platform=${{ env.ARCH }} + set VCPKG_INSTALLED=%VCPKG_ROOT%\installed\%platform%-windows set PATH=%VCPKG_INSTALLED%\bin;%PATH% set PROJ_DIR=%GITHUB_WORKSPACE%\proj_dir set PROJ_BUILD=%GITHUB_WORKSPACE%\build cd %PROJ_BUILD% ctest -V -C "${{ env.BUILD_TYPE }}" set PATH=%PROJ_DIR%\bin;%PATH% - if "${{ env.BUILD_TYPE }}"=="Release" call %GITHUB_WORKSPACE%\test\postinstall\test_cmake.bat %PROJ_DIR% + set BUILD_MODE=shared + if "${{ env.BUILD_SHARED_LIBS }}"=="OFF" (set BUILD_MODE=static) + if "${{ env.BUILD_TYPE }}"=="Release" call %GITHUB_WORKSPACE%\test\postinstall\test_cmake.bat %PROJ_DIR% %BUILD_MODE% if "${{ env.BUILD_TYPE }}"=="Release" proj MSYS2: @@ -74,13 +80,27 @@ jobs: run: shell: msys2 {0} + strategy: + fail-fast: false + matrix: + BUILD_SHARED_LIBS: [ON, OFF] + env: + BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS }} + BUILD_TYPE: Release CMAKE_GENERATOR: "MSYS Makefiles" steps: - uses: actions/checkout@v2 + - name: Cache + uses: actions/cache@v2 + id: cache + with: + path: ~/.ccache + key: ${{ runner.os }}-cache-msys-${{ hashFiles('.github/workflows/windows.yml') }} + - uses: msys2/setup-msys2@v2 with: msystem: MINGW64 @@ -89,6 +109,7 @@ jobs: git make mingw-w64-x86_64-cmake + mingw-w64-x86_64-ccache mingw-w64-x86_64-curl mingw-w64-x86_64-gcc mingw-w64-x86_64-libtiff @@ -96,14 +117,17 @@ jobs: - name: Build run: | + ccache -M 500M + ccache -s PROJ_BUILD=${GITHUB_WORKSPACE}/build PROJ_DIR=${GITHUB_WORKSPACE}/proj_dir mkdir ${PROJ_BUILD} cd ${PROJ_BUILD} - cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX="${PROJ_DIR}" -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror" .. + cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DBUILD_SHARED_LIBS=${{ env.BUILD_SHARED_LIBS }} -DCMAKE_INSTALL_PREFIX="${PROJ_DIR}" -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror" -DUSE_CCACHE=ON .. make -j 2 make install ls ${PROJ_DIR}/bin + ccache -s - name: Run tests run: | @@ -112,6 +136,8 @@ jobs: cd ${PROJ_BUILD} ctest --output-on-failure export PATH=${PROJ_DIR}/bin:${PATH} - ../test/postinstall/test_cmake.sh ${PROJ_DIR} - ../test/postinstall/test_pkg-config.sh ${PROJ_DIR} + BUILD_MODE=shared + if [ ${{ env.BUILD_SHARED_LIBS }} == "OFF" ]; then BUILD_MODE=static; fi + ../test/postinstall/test_cmake.sh ${PROJ_DIR} ${BUILD_MODE} + ../test/postinstall/test_pkg-config.sh ${PROJ_DIR} ${BUILD_MODE} proj |
