name: C/C++ CI cmake on: push: branches: [ "master" ] paths: [ '**.c', '**.h', 'Makefile.**', '.github/configs', '.github/workflows/c-cpp-cmake.yml' ] pull_request: branches: [ "master" ] paths: [ '**.c', '**.h', 'Makefile.**', '.github/configs', '.github/workflows/c-cpp-cmake.yml' ] jobs: ci: name: "${{ matrix.target }}" strategy: matrix: target: - ubuntu-latest - ubuntu-24.04-arm - macos-15 - windows-2022 runs-on: ${{ matrix.target }} steps: - uses: actions/checkout@v4 # - name: configure # run: ./configure - name: Linux libraries if: ${{ startsWith(matrix.target, 'ubuntu') }} run: sudo apt install libssl-dev libpam-dev libpcre2-dev - name: Mac libraries if: ${{ startsWith(matrix.target, 'macos') }} run: brew install pcre2 - name: install Windows libraries if: ${{ startsWith(matrix.target, 'windows') }} run: vcpkg install pcre2:x64-windows - name: make with CMake POSIX if: ${{ ! startsWith(matrix.target, 'windows') }} run: | mkdir build cd build cmake .. cmake --build . mkdir ~/3proxy DESTDIR=~/3proxy cmake --install . cd .. && rm -rf build/ - name: make with CMake Win if: ${{ startsWith(matrix.target, 'windows') }} shell: cmd run: | mkdir build cd build set "LIB=%LIB%;c:/program files/openssl/lib/VC/x64/MT;c:/vcpkg/installed/x64-windows/lib" set "INCLUDE=%INCLUDE%;c:/program files/openssl/include;c:/vcpkg/installed/x64-windows/include" cmake .. dir cmake --build . cd .. rmdir /s /q build