diff --git a/.github/workflows/continuous-building.yml b/.github/workflows/continuous-building.yml index 335d8a99..df6a903c 100644 --- a/.github/workflows/continuous-building.yml +++ b/.github/workflows/continuous-building.yml @@ -34,6 +34,11 @@ jobs: run: | sudo apt update sudo apt install qtbase5-dev libqt5svg5-dev + - name: 'Linux: Install TBB and Embree, if using distro packages' + if: ${{ matrix.os == 'ubuntu-24.04' }} + run: | + sudo apt install libtbb-dev libembree-dev + echo "USE_SYSTEM_TBB_AND_EMBREE=1" >> $GITHUB_ENV - name: 'Linux: Build the artifact' if: startsWith(matrix.os, 'ubuntu-') run: ./build-linux-64.sh diff --git a/build-linux-64.sh b/build-linux-64.sh index fd3c5598..ba4fa379 100755 --- a/build-linux-64.sh +++ b/build-linux-64.sh @@ -14,20 +14,29 @@ cmake --version mkdir "$BUILD_DIR" cd "$BUILD_DIR" -wget -q https://github.com/embree/embree/releases/download/v3.13.1/embree-3.13.1.x86_64.linux.tar.gz -O embree.tgz -wget -q https://github.com/oneapi-src/oneTBB/releases/download/v2021.3.0/oneapi-tbb-2021.3.0-lin.tgz -O tbb.tgz -tar xf embree.tgz -tar xf tbb.tgz - -EMBREE_CMAKE_DIR="$(pwd)/embree-3.13.1.x86_64.linux/lib/cmake/embree-3.13.1" -TBB_CMAKE_DIR="$(pwd)/oneapi-tbb-2021.3.0/lib/cmake" - -# check USE_ASAN environment variable (see cmake.yml) -if [ "$USE_ASAN" == "YES" ]; then - cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH="$EMBREE_CMAKE_DIR;$TBB_CMAKE_DIR" -DENABLE_LIGHTPREVIEW=YES -DERICWTOOLS_ASAN=YES +if [ "$USE_SYSTEM_TBB_AND_EMBREE" == "1" ]; then + if [ "$USE_ASAN" == "YES" ]; then + cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DERICWTOOLS_ASAN=YES + else + cmake .. -DCMAKE_BUILD_TYPE=Release + fi else - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$EMBREE_CMAKE_DIR;$TBB_CMAKE_DIR" + wget -q https://github.com/embree/embree/releases/download/v3.13.1/embree-3.13.1.x86_64.linux.tar.gz -O embree.tgz + wget -q https://github.com/oneapi-src/oneTBB/releases/download/v2021.3.0/oneapi-tbb-2021.3.0-lin.tgz -O tbb.tgz + + tar xf embree.tgz + tar xf tbb.tgz + + EMBREE_CMAKE_DIR="$(pwd)/embree-3.13.1.x86_64.linux/lib/cmake/embree-3.13.1" + TBB_CMAKE_DIR="$(pwd)/oneapi-tbb-2021.3.0/lib/cmake" + + # check USE_ASAN environment variable (see cmake.yml) + if [ "$USE_ASAN" == "YES" ]; then + cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH="$EMBREE_CMAKE_DIR;$TBB_CMAKE_DIR" -DENABLE_LIGHTPREVIEW=YES -DERICWTOOLS_ASAN=YES + else + cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$EMBREE_CMAKE_DIR;$TBB_CMAKE_DIR" + fi fi # not yet free of memory leaks, so don't abort on leak detection