From 18db69c0783cc2a4940f2202d7391e523e1ecb49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20St=C3=B6neberg?= Date: Tue, 27 Sep 2022 18:49:18 +0200 Subject: [PATCH] enabled Boost usage in optimized CI builds (#4512) --- .github/workflows/CI-unixish.yml | 4 ++-- .github/workflows/asan.yml | 4 ++-- .github/workflows/release-windows.yml | 1 + .github/workflows/selfcheck.yml | 9 +++++++-- .github/workflows/tsan.yml | 4 ++-- .github/workflows/ubsan.yml | 4 ++-- .github/workflows/valgrind.yml | 5 +++-- 7 files changed, 19 insertions(+), 12 deletions(-) diff --git a/.github/workflows/CI-unixish.yml b/.github/workflows/CI-unixish.yml index 96a747f9b..fe043cde9 100644 --- a/.github/workflows/CI-unixish.yml +++ b/.github/workflows/CI-unixish.yml @@ -444,13 +444,13 @@ jobs: - name: Install missing software on ubuntu run: | sudo apt-get update - sudo apt-get install qtbase5-dev qttools5-dev libqt5charts5-dev + sudo apt-get install qtbase5-dev qttools5-dev libqt5charts5-dev libboost-container-dev - name: Self check (build) run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" # compile with verification and ast matchers - make -j$(nproc) -s CPPFLAGS="-DCHECK_INTERNAL" CXXFLAGS="-g -O2" MATCHCOMPILER=yes VERIFY=1 + make -j$(nproc) -s CPPFLAGS="-DCHECK_INTERNAL" CXXFLAGS="-g -O2 -DHAVE_BOOST" MATCHCOMPILER=yes VERIFY=1 - name: Generate UI files run: | diff --git a/.github/workflows/asan.yml b/.github/workflows/asan.yml index e593eff7b..332af4d19 100644 --- a/.github/workflows/asan.yml +++ b/.github/workflows/asan.yml @@ -26,7 +26,7 @@ jobs: - name: Install missing software on ubuntu run: | sudo apt-get update - sudo apt-get install -y cmake make libpcre3-dev + sudo apt-get install -y cmake make libpcre3-dev libboost-container-dev - name: Install clang run: | @@ -36,7 +36,7 @@ jobs: - name: CMake run: | - cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_ADDRESS=On -DENABLE_CHECK_INTERNAL=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On + cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_ADDRESS=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On env: CC: clang-15 CXX: clang++-15 diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml index bb0816634..7a23dc53b 100644 --- a/.github/workflows/release-windows.yml +++ b/.github/workflows/release-windows.yml @@ -97,6 +97,7 @@ jobs: del Build\gui\cppcheck-gui.ilk || exit /b !errorlevel! del Build\gui\cppcheck-gui.pdb || exit /b !errorlevel! + # TODO: build with boost enabled - name: Build CLI x64 release configuration using MSBuild run: msbuild -m cppcheck.sln -t:cli -p:Configuration=Release-PCRE -p:Platform=x64 || exit /b !errorlevel! diff --git a/.github/workflows/selfcheck.yml b/.github/workflows/selfcheck.yml index 778857fae..c1b4a1548 100644 --- a/.github/workflows/selfcheck.yml +++ b/.github/workflows/selfcheck.yml @@ -18,6 +18,11 @@ jobs: steps: - uses: actions/checkout@v2 + - name: Install missing software + run: | + sudo apt-get update + sudo apt-get install libboost-container-dev + - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -41,7 +46,7 @@ jobs: - name: Self check (build) run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - make -j$(nproc) -s CXXFLAGS="-O2 -w" MATCHCOMPILER=yes + make -j$(nproc) -s CXXFLAGS="-O2 -w -DHAVE_BOOST" MATCHCOMPILER=yes - name: CMake run: | @@ -67,7 +72,7 @@ jobs: # the following steps are duplicated from above since setting up the build node in a parallel step takes longer than the actual steps - name: CMake (no test) run: | - cmake -S . -B cmake.output.notest -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=0 -DBUILD_GUI=ON -DWITH_QCHART=ON -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On + cmake -S . -B cmake.output.notest -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=Off -DBUILD_GUI=ON -DWITH_QCHART=ON -DENABLE_CHECK_INTERNAL=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On - name: Generate dependencies (no test) run: | diff --git a/.github/workflows/tsan.yml b/.github/workflows/tsan.yml index d0bc678cf..81a7f7cc5 100644 --- a/.github/workflows/tsan.yml +++ b/.github/workflows/tsan.yml @@ -26,7 +26,7 @@ jobs: - name: Install missing software on ubuntu run: | sudo apt-get update - sudo apt-get install -y cmake make libpcre3-dev + sudo apt-get install -y cmake make libpcre3-dev libboost-container-dev - name: Install clang run: | @@ -36,7 +36,7 @@ jobs: - name: CMake run: | - cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_THREAD=On -DUSE_THREADS=On -DENABLE_CHECK_INTERNAL=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On + cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_THREAD=On -DUSE_THREADS=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On env: CC: clang-15 CXX: clang++-15 diff --git a/.github/workflows/ubsan.yml b/.github/workflows/ubsan.yml index 25fa1e4bf..b421711c0 100644 --- a/.github/workflows/ubsan.yml +++ b/.github/workflows/ubsan.yml @@ -26,7 +26,7 @@ jobs: - name: Install missing software on ubuntu run: | sudo apt-get update - sudo apt-get install -y cmake make libpcre3-dev + sudo apt-get install -y cmake make libpcre3-dev libboost-container-dev - name: Install clang run: | @@ -36,7 +36,7 @@ jobs: - name: CMake run: | - cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_UNDEFINED=On -DENABLE_CHECK_INTERNAL=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On + cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_UNDEFINED=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On env: CC: clang-15 CXX: clang++-15 diff --git a/.github/workflows/valgrind.yml b/.github/workflows/valgrind.yml index f0c1b3c17..a214634eb 100644 --- a/.github/workflows/valgrind.yml +++ b/.github/workflows/valgrind.yml @@ -40,16 +40,17 @@ jobs: sudo apt-get install libxml2-utils sudo apt-get install valgrind sudo apt-get install libc6-dbg-amd64-cross + sudo apt-get install libboost-container-dev - name: Build cppcheck run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - CXXFLAGS="-O1 -g" make -j$(nproc) HAVE_RULES=yes MATCHCOMPILER=yes + CXXFLAGS="-O1 -g -DHAVE_BOOST" make -j$(nproc) HAVE_RULES=yes MATCHCOMPILER=yes - name: Build test run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - CXXFLAGS="-O1 -g" make -j$(nproc) testrunner HAVE_RULES=yes MATCHCOMPILER=yes + CXXFLAGS="-O1 -g -DHAVE_BOOST" make -j$(nproc) testrunner HAVE_RULES=yes MATCHCOMPILER=yes - name: Run valgrind run: |