Topic/update cmake #764
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Conda-CI | |
on: [push,pull_request] | |
jobs: | |
eigenpy-conda: | |
name: ${{ matrix.os }} - Python ${{ matrix.python-version }} ${{ matrix.build_type }} ${{ matrix.cxx_options }} | |
runs-on: ${{ matrix.os }} | |
env: | |
CCACHE_DIR: ${{ matrix.CCACHE_DIR }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-latest", "macos-latest"] | |
cxx_options: ['', '-mavx2'] | |
build_type: [Release, Debug] | |
python-version: ["3.10", "3.11", "3.12"] | |
include: | |
- os: ubuntu-latest | |
CCACHE_DIR: /home/runner/.ccache | |
- os: macos-latest | |
CCACHE_DIR: /Users/runner/.ccache | |
exclude: | |
- build_type: Debug | |
cxx_options: -mavx2 | |
os: macos-latest | |
- build_type: Release | |
cxx_options: -mavx2 | |
os: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: eigenpy | |
auto-update-conda: true | |
environment-file: .github/workflows/conda/environment.yml | |
python-version: ${{ matrix.python-version }} | |
- uses: actions/cache@v3 | |
with: | |
path: ${{ env.CCACHE_DIR }} | |
key: ccache-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.cxx_options }} | |
- name: Prepare cache dir | |
run: sudo mkdir -p ${CCACHE_DIR}/tmp && sudo chown -R $(id -un) ${CCACHE_DIR} | |
- name: Install cmake and update conda | |
shell: bash -l {0} | |
run: | | |
conda activate eigenpy | |
conda install cmake ccache -c conda-forge | |
conda list | |
- name: Build EigenPy | |
shell: bash -l {0} | |
run: | | |
conda activate eigenpy | |
echo $CONDA_PREFIX | |
mkdir build | |
cd build | |
cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DPYTHON_EXECUTABLE=$(which python3) -DGENERATE_PYTHON_STUBS=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_FLAGS=${{ matrix.cxx_options }} | |
make | |
make build_tests | |
export CTEST_OUTPUT_ON_FAILURE=1 | |
make test | |
make install | |
- name: Test packaging | |
shell: bash -l {0} | |
run: | | |
conda activate eigenpy | |
cmake -B test-packaging -S unittest/packaging/cmake -DPYTHON_EXECUTABLE=$(which python3) | |
- name: Configure hpp-fcl | |
shell: bash -l {0} | |
run: | | |
conda activate eigenpy | |
conda install -c conda-forge octomap assimp qhull | |
git clone https://github.com/humanoid-path-planner/hpp-fcl.git --recursive | |
cd hpp-fcl | |
mkdir build && cd build | |
cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$(which python3) | |
- name: Uninstall EigenPy | |
shell: bash -l {0} | |
run: | | |
cd build | |
make uninstall |