liba 0.1.15

An algorithm library based on C/C++
Documentation
name: freebsd
on:
  workflow_dispatch:
jobs:
  FreeBSD:
    strategy:
      fail-fast: false
    runs-on: ubuntu-latest
    env:
      CTEST_OUTPUT_ON_FAILURE: 1
      LIBA_OPENMP: 1
    steps:
      - uses: actions/checkout@v4
        with:
          lfs: true
          submodules: true
      - uses: vmactions/freebsd-vm@v1
        with:
          envs: 'CTEST_OUTPUT_ON_FAILURE LIBA_OPENMP'
          copyback: false
          prepare: |
            pkg install -y curl ninja cmake rust python openjdk8
            curl -sSL https://bootstrap.pypa.io/get-pip.py | python -
          run: |
            python -m venv _
            . _/bin/activate
            python -m pip install -r requirements.txt
            cmake -S . -B build -G "Ninja Multi-Config" \
              -DCMAKE_INSTALL_PREFIX=_ \
              -DBUILD_TESTING=1 \
              -DLIBA_WARNINGS=1 \
              -DLIBA_ANALYZER=1 \
              -DLIBA_SANITIZE=1 \
              -DLIBA_WITH_LUA=1 \
              -DLIBA_PYTHON=1 \
              -DLIBA_JAVA=1 \
              -DLIBA_LIBTOOL=1 \
              -DLIBA_PKGCONFIG=1
            cmake --build build --config Debug --target package
            cmake --build build --config Debug --target test
            cmake --build build --config RelWithDebInfo --target package
            cmake --build build --config RelWithDebInfo --target test
            cargo test --all-features
            cargo test --all-features --release
            cmake --build build --config RelWithDebInfo --target install
            cmake -S example -B example/build
            cmake --build example/build -v