diff --git a/.github/workflows/linux.yaml b/.github/workflows/linux.yaml index cecf36b2..08f3a327 100644 --- a/.github/workflows/linux.yaml +++ b/.github/workflows/linux.yaml @@ -6,18 +6,18 @@ on: # branches: [ master ] jobs: - Linux-GCC: - runs-on: ubuntu-20.04 + Latest: + runs-on: ubuntu-24.04 strategy: matrix: - cxx: ['7', '13'] + cxx: ['g++-14', 'clang++-18'] env: CMAKE_OPTIONS: -DDEV_MODE=ON -DBUILD_TESTING=ON CMAKE_MATROSKA_OPTIONS: -DBUILD_EXAMPLES=ON + CXX: ${{matrix.cxx}} steps: - - uses: egor-tensin/setup-gcc@v1 - with: - version: ${{matrix.cxx}} + - name: list compilers + run: dpkg --list | grep compiler - name: Get pushed code uses: actions/checkout@v4 @@ -47,22 +47,23 @@ jobs: - name: Test installation run: cmake --install _build --prefix ${GITHUB_WORKSPACE}/_built - Linux-Clang: + Oldest: runs-on: ubuntu-20.04 strategy: matrix: - cxx: ['7', '18'] + cxx: ['g++-7', 'clang++-7'] env: - CMAKE_OPTIONS: -DDEV_MODE=ON -DBUILD_TESTING=ON -DCMAKE_CXX_FLAGS="-stdlib=libc++" + CMAKE_OPTIONS: -DDEV_MODE=ON -DBUILD_TESTING=ON CMAKE_MATROSKA_OPTIONS: -DBUILD_EXAMPLES=ON + CXX: ${{matrix.cxx}} steps: - - uses: egor-tensin/setup-clang@v1 - with: - version: ${{matrix.cxx}} - - - name: Install libc++ + - name: install gcc-7 run: | - sudo apt install -y libc++abi-${{matrix.cxx}}-dev libc++-${{matrix.cxx}}-dev + sudo add-apt-repository --yes --update ppa:ubuntu-toolchain-r/test + sudo DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends ${{matrix.cxx}} + + - name: list compilers + run: dpkg --list | grep compiler - name: Get pushed code uses: actions/checkout@v4 diff --git a/.github/workflows/macos.yaml b/.github/workflows/macos.yaml deleted file mode 100644 index fb589181..00000000 --- a/.github/workflows/macos.yaml +++ /dev/null @@ -1,46 +0,0 @@ -name: "macOS" -on: - push: - branches: [ master ] - pull_request: - # branches: [ master ] - -jobs: - build_libmatroska: - name: libmatroska ${{ matrix.arch }} - runs-on: macos-latest - strategy: - fail-fast: false - matrix: - arch: [x86_64, arm64] - env: - CMAKE_OPTIONS: -DDEV_MODE=ON - CMAKE_MATROSKA_OPTIONS: -DBUILD_EXAMPLES=ON - steps: - - name: Get pushed code - uses: actions/checkout@v4 - - - name: Checkout libebml - uses: actions/checkout@v4 - with: - repository: Matroska-Org/libebml - path: libebml - # minimum version we support ref: 'release-1.4.3' - - - name: Configure libebml - run: cmake -S libebml -B libebml/_build ${{ env.CMAKE_OPTIONS }} -DCMAKE_OSX_ARCHITECTURES="${{ matrix.arch }}" - - - name: Build libebml - run: cmake --build libebml/_build --parallel - - - name: Install libebml - run: cmake --install libebml/_build --prefix ${GITHUB_WORKSPACE}/_built - - - name: Configure CMake - run: cmake -S . -B _build ${{ env.CMAKE_OPTIONS }} ${{ env.CMAKE_MATROSKA_OPTIONS }} -DCMAKE_OSX_ARCHITECTURES="${{ matrix.arch }}" -DEBML_DIR="${GITHUB_WORKSPACE}/_built/lib/cmake/EBML" - - - name: Build with CMake - run: cmake --build _build --parallel - - - name: Test installation - run: cmake --install _build --prefix ${GITHUB_WORKSPACE}/_built diff --git a/.github/workflows/uwp.yaml b/.github/workflows/uwp.yaml deleted file mode 100644 index 1ad6e42b..00000000 --- a/.github/workflows/uwp.yaml +++ /dev/null @@ -1,50 +0,0 @@ -name: "Windows UWP" -on: - push: - branches: [ master ] - pull_request: - # branches: [ master ] - -jobs: - build_libmatroska: - name: libmatroska ${{ matrix.arch.name }} ${{ matrix.config }} - runs-on: windows-latest - strategy: - fail-fast: false - matrix: - config: [Debug, Release] - arch: [ - { "name": "x64", "option": "x64"}, - { "name": "arm64", "option": "arm64"}, - ] - env: - CMAKE_OPTIONS: -DDEV_MODE=ON -DCMAKE_SYSTEM_NAME="WindowsStore" -DCMAKE_SYSTEM_VERSION="10.0" -DCMAKE_CXX_FLAGS_INIT="-DWINVER=0x0A00 -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP" - CMAKE_MATROSKA_OPTIONS: -DBUILD_EXAMPLES=ON - steps: - - name: Get pushed code - uses: actions/checkout@v4 - - - name: Checkout libebml - uses: actions/checkout@v4 - with: - repository: Matroska-Org/libebml - path: libebml - # minimum version we support ref: 'release-1.4.3' - - - name: Configure libebml - run: cmake -S libebml -B libebml/_build ${{ env.CMAKE_OPTIONS }} -A ${{ matrix.arch.option }} -DBUILD_SHARED_LIBS=OFF - - - name: Build libebml - run: cmake --build libebml/_build --config ${{ matrix.config }} --parallel - - - name: Install libebml - run: cmake --install libebml/_build --config ${{ matrix.config }} --prefix ${GITHUB_WORKSPACE}/_built - - - name: Configure library - run: cmake -S . -B _build ${{ env.CMAKE_OPTIONS }} ${{ env.CMAKE_MATROSKA_OPTIONS }} -A ${{ matrix.arch.option }} -DEBML_DIR="${GITHUB_WORKSPACE}/_built/lib/cmake/EBML" -DBUILD_SHARED_LIBS=OFF - - - name: Build - run: cmake --build _build --config ${{ matrix.config }} --parallel - - - name: Test installation - run: cmake --install _build --config ${{ matrix.config }} --prefix ${GITHUB_WORKSPACE}/_built diff --git a/.github/workflows/windows.yaml b/.github/workflows/windows.yaml deleted file mode 100644 index c97fa54f..00000000 --- a/.github/workflows/windows.yaml +++ /dev/null @@ -1,51 +0,0 @@ -name: "Windows" -on: - push: - branches: [ master ] - pull_request: - # branches: [ master ] - -jobs: - build_libmatroska: - name: libmatroska ${{ matrix.arch.name }} ${{ matrix.config }} - runs-on: windows-latest - strategy: - fail-fast: false - matrix: - config: [Debug, Release] - arch: [ - { "name": "x64", "option": "x64"}, - { "name": "x86", "option": "win32"}, - { "name": "arm64", "option": "arm64"}, - ] - env: - CMAKE_OPTIONS: -DDEV_MODE=ON -DCMAKE_CXX_FLAGS_INIT="-DWINVER=0x0501" - CMAKE_MATROSKA_OPTIONS: -DBUILD_EXAMPLES=ON - steps: - - name: Get pushed code - uses: actions/checkout@v4 - - - name: Checkout libebml - uses: actions/checkout@v4 - with: - repository: Matroska-Org/libebml - path: libebml - # minimum version we support ref: 'release-1.4.3' - - - name: Configure libebml - run: cmake -S libebml -B libebml/_build ${{ env.CMAKE_OPTIONS }} -A ${{ matrix.arch.option }} - - - name: Build libebml - run: cmake --build libebml/_build --config ${{ matrix.config }} --parallel - - - name: Install libebml - run: cmake --install libebml/_build --config ${{ matrix.config }} --prefix ${GITHUB_WORKSPACE}/_built - - - name: Configure library - run: cmake -S . -B _build ${{ env.CMAKE_OPTIONS }} ${{ env.CMAKE_MATROSKA_OPTIONS }} -A ${{ matrix.arch.option }} -DEBML_DIR="${GITHUB_WORKSPACE}/_built/lib/cmake/EBML" - - - name: Build - run: cmake --build _build --config ${{ matrix.config }} --parallel - - - name: Test installation - run: cmake --install _build --config ${{ matrix.config }} --prefix ${GITHUB_WORKSPACE}/_built diff --git a/CMakeLists.txt b/CMakeLists.txt index 8267ba5e..538bc73f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,6 @@ if(DEV_MODE) set(CMAKE_CXX_EXTENSIONS OFF) add_cxx_flag_if_supported(-Wno-error=unused-command-line-argument -Wall -Wextra -Wpedantic -Wfatal-errors -fstack-protector-strong - -Wno-self-assign -Wcast-align -W4) endif()