name: ABI Compatibility

on: [check_run, push, pull_request]

env:
  FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

jobs:
  abi-compatibility:
    runs-on: ${{ matrix.os }}

    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
        shared_libs: [ON, OFF]
        include:
          - jsoncpp_std: 11
            app_std: 17
          - jsoncpp_std: 17
            app_std: 11
          - jsoncpp_std: 11
            app_std: 23
          - jsoncpp_std: 23
            app_std: 11
          - jsoncpp_std: 17
            app_std: 23
          - jsoncpp_std: 23
            app_std: 17

    steps:
      - name: checkout project
        uses: actions/checkout@v4

      - name: build and install JsonCpp (C++${{ matrix.jsoncpp_std }})
        shell: bash
        run: |
          mkdir build-jsoncpp
          cd build-jsoncpp
          cmake .. -DCMAKE_CXX_STANDARD=${{ matrix.jsoncpp_std }} \
                   -DCMAKE_CXX_STANDARD_REQUIRED=ON \
                   -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/install-jsoncpp \
                   -DBUILD_SHARED_LIBS=${{ matrix.shared_libs }} \
                   -DJSONCPP_WITH_TESTS=OFF
          cmake --build . --config Release
          cmake --install . --config Release

      - name: create example app
        shell: bash
        run: |
          mkdir example-app
          cat << 'EOF' > example-app/CMakeLists.txt
          cmake_minimum_required(VERSION 3.10)
          project(abi_test)

          find_package(jsoncpp REQUIRED CONFIG)

          add_executable(abi_test jsontest.cpp fuzz.cpp main.cpp)
          target_link_libraries(abi_test PRIVATE JsonCpp::JsonCpp)
          EOF

          cp src/test_lib_json/*.cpp example-app/
          cp src/test_lib_json/*.h example-app/

      - name: build example app (C++${{ matrix.app_std }})
        shell: bash
        run: |
          cd example-app
          mkdir build
          cd build
          cmake .. -DCMAKE_CXX_STANDARD=${{ matrix.app_std }} \
                   -DCMAKE_CXX_STANDARD_REQUIRED=ON \
                   -DCMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/install-jsoncpp
          cmake --build . --config Release

      - name: run example app
        shell: bash
        run: |
          if [ "$RUNNER_OS" == "Windows" ]; then
            export PATH=$GITHUB_WORKSPACE/install-jsoncpp/bin:$PATH
            ./example-app/build/Release/abi_test.exe
          elif [ "$RUNNER_OS" == "macOS" ]; then
            export DYLD_LIBRARY_PATH=$GITHUB_WORKSPACE/install-jsoncpp/lib:$DYLD_LIBRARY_PATH
            ./example-app/build/abi_test
          else
            export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/install-jsoncpp/lib:$LD_LIBRARY_PATH
            ./example-app/build/abi_test
          fi
