diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 42df9b8c8f..3b4ccf6a47 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,13 +5,13 @@ on: [ push, pull_request ] jobs: build: name: ${{ matrix.config.name }} SCALAR_DOUBLE=${{ matrix.scalar_double }} - runs-on: ${{ matrix.config.os }} + runs-on: self-hosted if: "!contains(github.event.head_commit.message, '[skip ci]')" strategy: fail-fast: false matrix: - scalar_double: [ "OFF", "ON" ] + scalar_double: [ "ON" ] config: - { name: "Windows MSVC", @@ -22,15 +22,6 @@ jobs: compile_qpcl: "OFF", compile_qransac: "ON", } - - { - name: "macOS Clang", - os: macos-latest, - generator: "Ninja", - conda_library_dir: ".", - compile_qanimation_with_ffmpeg: "OFF", - compile_qpcl: "OFF", - compile_qransac: "ON", - } steps: - name: Checkout @@ -63,15 +54,13 @@ jobs: # DGM: without caching, using conda on Windows takes a long time... - name: Install Dependencies uses: conda-incubator/setup-miniconda@v2 + env: + CONDA: C:\ProgramData\miniconda3 with: activate-environment: CloudCompareDev auto-activate-base: false environment-file: .ci/conda.yml - miniconda-version: 'latest' - - - name: Install Dependencies (macOS) - if: matrix.config.os == 'macos-latest' - run: brew install xerces-c + #miniconda-version: 'latest' - name: Configure MSVC console (Windows) if: matrix.config.os == 'windows-latest' @@ -86,7 +75,7 @@ jobs: echo "CC=cl.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - name: Configure CMake - shell: bash -l {0} + shell: gitbash -l {0} run: | mkdir build @@ -135,106 +124,102 @@ jobs: - name: Build run: cmake --build build --parallel - - name: Install (macOs) - if: matrix.config.os == 'macos-latest' - run: sudo cmake --install build - - name: Install (Windows) if: matrix.config.os == 'windows-latest' run: cmake --install build - ubuntu-build: - name: Ubuntu ${{ matrix.compiler }} SCALAR_DOUBLE=${{ matrix.scalar_double }} - runs-on: ubuntu-20.04 - if: "!contains(github.event.head_commit.message, '[skip ci]')" - - strategy: - fail-fast: false - matrix: - scalar_double: [ "OFF", "ON" ] - compiler: ["GCC", "Clang"] - - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - - - name: Install Dependencies - run: > - sudo apt-get update -qq - - sudo apt-get install -qy cmake ninja-build - libqt5svg5-dev libqt5opengl5-dev qt5-default qttools5-dev qttools5-dev-tools libqt5websockets5-dev - libtbb-dev - libavcodec-dev libavformat-dev libavutil-dev libswscale-dev - libboost-program-options-dev libboost-thread-dev - libeigen3-dev - libcgal-dev libcgal-qt5-dev libgdal-dev libpcl-dev - libdlib-dev libproj-dev libxerces-c-dev xvfb libjsoncpp-dev liblaszip-dev - - - name: Setup GCC - if: matrix.compiler == 'GCC' - run: | - echo "CC=gcc" >> $GITHUB_ENV - echo "CXX=g++" >> $GITHUB_ENV - - - name: Setup Clang - if: matrix.compiler == 'Clang' - run: | - echo "CC=clang" >> $GITHUB_ENV - echo "CXX=clang++" >> $GITHUB_ENV - - - name: Configure cmake - run: > - mkdir build - - cmake - -B build - -S . - -G Ninja - -DEIGEN_ROOT_DIR=/usr/include/eigen3 - -DJSON_ROOT_DIR=/usr/include/jsoncpp - -DDLIB_ROOT=/usr/include - -DCCCORELIB_SCALAR_DOUBLE=${{ matrix.scalar_double }} - -DCCCORELIB_USE_TBB=ON - -DPLUGIN_EXAMPLE_GL=ON - -DPLUGIN_EXAMPLE_IO=ON - -DPLUGIN_EXAMPLE_STANDARD=ON - -DPLUGIN_GL_QEDL=ON - -DPLUGIN_GL_QSSAO=ON - -DPLUGIN_IO_QADDITIONAL=ON - -DPLUGIN_IO_QCORE=ON - -DPLUGIN_IO_QE57=ON - -DE57_RELEASE_LTO=OFF - -DPLUGIN_IO_QPHOTOSCAN=ON - -DPLUGIN_IO_QLAS=ON - -DPLUGIN_IO_QRDB=ON - -DPLUGIN_IO_QRDB_FETCH_DEPENDENCY=ON - -DPLUGIN_IO_QRDB_INSTALL_DEPENDENCY=ON - -DPLUGIN_STANDARD_QANIMATION=ON - -DQANIMATION_WITH_FFMPEG_SUPPORT=ON - -DPLUGIN_STANDARD_QBROOM=ON - -DPLUGIN_STANDARD_QCANUPO=ON - -DPLUGIN_STANDARD_QCOMPASS=ON - -DPLUGIN_STANDARD_QCSF=ON - -DPLUGIN_STANDARD_QFACETS=ON - -DPLUGIN_STANDARD_QHOUGH_NORMALS=ON - -DPLUGIN_STANDARD_QHPR=ON - -DPLUGIN_STANDARD_QM3C2=ON - -DPLUGIN_STANDARD_QPCV=ON - -DPLUGIN_STANDARD_QPOISSON_RECON=ON - -DPLUGIN_STANDARD_QSRA=ON - -DPLUGIN_STANDARD_QRANSAC_SD=ON - -DPLUGIN_STANDARD_QPCL=ON - -DPLUGIN_STANDARD_QCLOUDLAYERS=ON - -DBUILD_TESTING=ON - - - name: Build - run: cmake --build build --parallel - - - name: Test - run: xvfb-run ctest --test-dir build - - - name: Install - run: sudo cmake --install build +# ubuntu-build: +# name: Ubuntu ${{ matrix.compiler }} SCALAR_DOUBLE=${{ matrix.scalar_double }} +# runs-on: ubuntu-20.04 +# if: "!contains(github.event.head_commit.message, '[skip ci]')" + +# strategy: +# fail-fast: false +# matrix: +# scalar_double: [ "OFF", "ON" ] +# compiler: ["GCC", "Clang"] + +# steps: +# - name: Checkout +# uses: actions/checkout@v3 +# with: +# submodules: recursive + +# - name: Install Dependencies +# run: > +# sudo apt-get update -qq + +# sudo apt-get install -qy cmake ninja-build +# libqt5svg5-dev libqt5opengl5-dev qt5-default qttools5-dev qttools5-dev-tools libqt5websockets5-dev +# libtbb-dev +# libavcodec-dev libavformat-dev libavutil-dev libswscale-dev +# libboost-program-options-dev libboost-thread-dev +# libeigen3-dev +# libcgal-dev libcgal-qt5-dev libgdal-dev libpcl-dev +# libdlib-dev libproj-dev libxerces-c-dev xvfb libjsoncpp-dev liblaszip-dev + +# - name: Setup GCC +# if: matrix.compiler == 'GCC' +# run: | +# echo "CC=gcc" >> $GITHUB_ENV +# echo "CXX=g++" >> $GITHUB_ENV + +# - name: Setup Clang +# if: matrix.compiler == 'Clang' +# run: | +# echo "CC=clang" >> $GITHUB_ENV +# echo "CXX=clang++" >> $GITHUB_ENV + +# - name: Configure cmake +# run: > +# mkdir build + +# cmake +# -B build +# -S . +# -G Ninja +# -DEIGEN_ROOT_DIR=/usr/include/eigen3 +# -DJSON_ROOT_DIR=/usr/include/jsoncpp +# -DDLIB_ROOT=/usr/include +# -DCCCORELIB_SCALAR_DOUBLE=${{ matrix.scalar_double }} +# -DCCCORELIB_USE_TBB=ON +# -DPLUGIN_EXAMPLE_GL=ON +# -DPLUGIN_EXAMPLE_IO=ON +# -DPLUGIN_EXAMPLE_STANDARD=ON +# -DPLUGIN_GL_QEDL=ON +# -DPLUGIN_GL_QSSAO=ON +# -DPLUGIN_IO_QADDITIONAL=ON +# -DPLUGIN_IO_QCORE=ON +# -DPLUGIN_IO_QE57=ON +# -DE57_RELEASE_LTO=OFF +# -DPLUGIN_IO_QPHOTOSCAN=ON +# -DPLUGIN_IO_QLAS=ON +# -DPLUGIN_IO_QRDB=ON +# -DPLUGIN_IO_QRDB_FETCH_DEPENDENCY=ON +# -DPLUGIN_IO_QRDB_INSTALL_DEPENDENCY=ON +# -DPLUGIN_STANDARD_QANIMATION=ON +# -DQANIMATION_WITH_FFMPEG_SUPPORT=ON +# -DPLUGIN_STANDARD_QBROOM=ON +# -DPLUGIN_STANDARD_QCANUPO=ON +# -DPLUGIN_STANDARD_QCOMPASS=ON +# -DPLUGIN_STANDARD_QCSF=ON +# -DPLUGIN_STANDARD_QFACETS=ON +# -DPLUGIN_STANDARD_QHOUGH_NORMALS=ON +# -DPLUGIN_STANDARD_QHPR=ON +# -DPLUGIN_STANDARD_QM3C2=ON +# -DPLUGIN_STANDARD_QPCV=ON +# -DPLUGIN_STANDARD_QPOISSON_RECON=ON +# -DPLUGIN_STANDARD_QSRA=ON +# -DPLUGIN_STANDARD_QRANSAC_SD=ON +# -DPLUGIN_STANDARD_QPCL=ON +# -DPLUGIN_STANDARD_QCLOUDLAYERS=ON +# -DBUILD_TESTING=ON + +# - name: Build +# run: cmake --build build --parallel + +# - name: Test +# run: xvfb-run ctest --test-dir build + +# - name: Install +# run: sudo cmake --install build