diff --git a/.github/workflows/on_PR_linux_matrix.yml b/.github/workflows/on_PR_linux_matrix.yml index 71c69909..21ca38ed 100644 --- a/.github/workflows/on_PR_linux_matrix.yml +++ b/.github/workflows/on_PR_linux_matrix.yml @@ -47,8 +47,6 @@ jobs: tree install - name: Test - env: - EXIV2_EXT: .exe run: | cd build ctest --output-on-failure diff --git a/.github/workflows/on_PR_linux_special_buils.yml b/.github/workflows/on_PR_linux_special_buils.yml index 613b4443..838288eb 100644 --- a/.github/workflows/on_PR_linux_special_buils.yml +++ b/.github/workflows/on_PR_linux_special_buils.yml @@ -37,8 +37,6 @@ jobs: cmake --build . - name: Tests + Upload coverage - env: - EXIV2_EXT: .exe run: | cd build ctest --output-on-failure @@ -85,8 +83,6 @@ jobs: cmake --build . - name: Tests with valgrind - env: - EXIV2_EXT: .exe run: | cd build/bin valgrind ./unit_tests @@ -123,8 +119,6 @@ jobs: cmake --build . - name: Tests - env: - EXIV2_EXT: .exe run: | cd build ctest --output-on-failure @@ -163,21 +157,3 @@ jobs: - name: Generate documentation run: | make doc - - special_FedoraMinGW: - name: 'Fedora MinGW' - runs-on: ubuntu-latest - container: - image: "fedora:latest" - - steps: - - uses: actions/checkout@v2 - - - name: install dependencies - run: | - dnf -y upgrade - dnf -y install mingw64-gcc-c++ mingw64-filesystem mingw64-expat mingw64-zlib cmake make - - - name: Build - run: - python3 ci/test_build.py --without-tests --cmake-executable "mingw64-cmake" --cmake-options "-DEXIV2_TEAM_EXTRA_WARNINGS=OFF -DEXIV2_TEAM_WARNINGS_AS_ERRORS=OFF -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_WIN_UNICODE=ON " --compilers --shared-libs OFF diff --git a/.github/workflows/on_PR_mac_matrix.yml b/.github/workflows/on_PR_mac_matrix.yml index 11226eb6..d65f0b57 100644 --- a/.github/workflows/on_PR_mac_matrix.yml +++ b/.github/workflows/on_PR_mac_matrix.yml @@ -40,8 +40,6 @@ jobs: cmake --build . --target install - name: Test - env: - EXIV2_EXT: .exe run: | cd build ctest --output-on-failure diff --git a/.github/workflows/on_PR_windows_matrix.yml b/.github/workflows/on_PR_windows_matrix.yml index 9f0180ed..780a8a55 100644 --- a/.github/workflows/on_PR_windows_matrix.yml +++ b/.github/workflows/on_PR_windows_matrix.yml @@ -19,7 +19,7 @@ jobs: build_type: [Release, Debug] shared_libraries: [ON, OFF] platform: [ x64, x86 ] - + steps: - uses: actions/checkout@v2 @@ -28,7 +28,7 @@ jobs: with: arch: ${{matrix.platform}} - - name: Setup Ninja + - name: Set up Ninja uses: ashutoshvarma/setup-ninja@master with: version: 1.10.0 @@ -38,7 +38,7 @@ jobs: with: python-version: 3.7 - - name: Restore conan cache + - name: Restore Conan cache uses: actions/cache@v2 with: path: ${{github.workspace}}/conanCache @@ -68,23 +68,131 @@ jobs: conan install .. --build missing dir .. tree /f ../conanCache - + - name: Build run: | - cd build - cmake -GNinja -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} -DEXIV2_ENABLE_NLS=OFF -DEXIV2_ENABLE_PNG=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_BUILD_UNIT_TESTS=ON -DEXIV2_ENABLE_WIN_UNICODE=OFF -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON -DEXIV2_ENABLE_BMFF=ON -DCMAKE_INSTALL_PREFIX=install .. - ninja + cmake -GNinja ` + -DCMAKE_BUILD_TYPE=${{matrix.build_type}} ` + -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} ` + -DEXIV2_ENABLE_NLS=OFF ` + -DEXIV2_ENABLE_WIN_UNICODE=OFF ` + -DEXIV2_ENABLE_WEBREADY=ON ` + -DEXIV2_ENABLE_BMFF=ON ` + -DEXIV2_BUILD_UNIT_TESTS=ON ` + -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON ` + -DCMAKE_INSTALL_PREFIX=install ` + -S . -B build && ` + cmake --build build - name: Install run: | cd build - ninja install + cmake --install . tree /f install - name: Test if: ${{matrix.platform == 'x64'}} - env: - EXIV2_EXT: .exe run: | - cd build - ctest --output-on-failure + ctest --test-dir build --output-on-failure + + msys2: + runs-on: windows-latest + strategy: + fail-fast: false + matrix: + build_type: [Release, Debug] + shared_libraries: [ON, OFF] + sys: [MINGW64] + name: MSYS2 ${{matrix.sys}} - BuildType:${{matrix.build_type}} - SHARED:${{matrix.shared_libraries}} + defaults: + run: + shell: msys2 {0} + steps: + - uses: actions/checkout@v2 + + - name: Set up MSYS2 + uses: msys2/setup-msys2@v2 + with: + msystem: ${{matrix.sys}} + update: true + install: >- + base-devel + pacboy: >- + toolchain:p + cmake:p + ninja:p + expat:p + gettext:p + gtest:p + libiconv:p + python-lxml:p + zlib:p + + - name: Build + run: | + cmake -GNinja \ + -DCMAKE_CXX_FLAGS=-Wno-deprecated \ + -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \ + -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} \ + -DEXIV2_ENABLE_NLS=ON \ + -DEXIV2_ENABLE_WIN_UNICODE=ON \ + -DEXIV2_ENABLE_WEBREADY=ON \ + -DEXIV2_ENABLE_BMFF=ON \ + -DEXIV2_BUILD_UNIT_TESTS=ON \ + -S . -B build && \ + cmake --build build + + - name: Test + run: | + ctest --test-dir build --output-on-failure + + cygwin: + runs-on: windows-latest + strategy: + fail-fast: false + matrix: + build_type: [Release] + shared_libraries: [ON] + platform: [x64] + name: Cygwin ${{matrix.platform}} - BuildType:${{matrix.build_type}} - SHARED:${{matrix.shared_libraries}} + env: + SHELLOPTS: igncr + defaults: + run: + shell: C:\tools\cygwin\bin\bash.exe -eo pipefail '{0}' + steps: + # Make sure we don't check out scripts using Windows CRLF line endings + - run: git config --global core.autocrlf input + shell: pwsh + - uses: actions/checkout@v2 + + - name: Set up Cygwin + uses: egor-tensin/setup-cygwin@v3 + with: + platform: ${{matrix.platform}} + packages: >- + gcc-g++ + cmake + ninja + libexpat-devel + libxml2-devel + libxslt-devel + python38-lxml + zlib-devel + - name: Build + run: | + cmake -GNinja \ + -DCMAKE_CXX_FLAGS=-Wno-deprecated \ + -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \ + -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} \ + -DEXIV2_ENABLE_NLS=OFF \ + -DEXIV2_ENABLE_WIN_UNICODE=OFF \ + -DEXIV2_ENABLE_WEBREADY=ON \ + -DEXIV2_ENABLE_BMFF=ON \ + -DEXIV2_BUILD_UNIT_TESTS=OFF \ + -S . -B build && \ + cmake --build build + + - name: Test + run: | + ctest --test-dir build --output-on-failure diff --git a/.github/workflows/on_push_ExtraJobsForMain.yml b/.github/workflows/on_push_ExtraJobsForMain.yml index 9bb7e7ba..1a5e34f0 100644 --- a/.github/workflows/on_push_ExtraJobsForMain.yml +++ b/.github/workflows/on_push_ExtraJobsForMain.yml @@ -38,8 +38,6 @@ jobs: make -j - name: Tests + Upload coverage - env: - EXIV2_EXT: .exe run: | cd build ctest --output-on-failure