diff --git a/.github/workflows/CI-unixish.yml b/.github/workflows/CI-unixish.yml index f745a21e177..6cc6fe6a9d4 100644 --- a/.github/workflows/CI-unixish.yml +++ b/.github/workflows/CI-unixish.yml @@ -243,6 +243,39 @@ jobs: run: | ls lib/*.cpp | xargs -n 1 -P $(nproc) g++ -fsyntax-only -std=c++0x -Ilib -Iexternals -Iexternals/picojson -Iexternals/simplecpp -Iexternals/tinyxml2 -DNONNEG + build_cmake_boost: + + strategy: + matrix: + os: [macos-13, macos-15] # non-macos platforms are already built with Boost in other contexts + fail-fast: false # Prefer quick result + + runs-on: ${{ matrix.os }} + + env: + # TODO: figure out why there are cache misses with PCH enabled + CCACHE_SLOPPINESS: pch_defines,time_macros + + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }} + + # coreutils contains "nproc" + - name: Install missing software on macos + run: | + brew install coreutils boost + + - name: CMake build on macOS (with Boost) + run: | + cmake -S . -B cmake.output.boost -G "Unix Makefiles" -DBUILD_TESTS=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache + cmake --build cmake.output.boost -- -j$(nproc) + build: strategy: diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 0155cd15e80..0bbcea9d8a9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -20,6 +20,9 @@ if (BUILD_TESTS) target_include_directories(testrunner SYSTEM PRIVATE ${tinyxml2_INCLUDE_DIRS}) endif() target_externals_include_directories(testrunner PRIVATE ${PROJECT_SOURCE_DIR}/externals/simplecpp/) + if (Boost_FOUND) + target_include_directories(testrunner SYSTEM PRIVATE ${Boost_INCLUDE_DIRS}) + endif() if (HAVE_RULES) target_link_libraries(testrunner ${PCRE_LIBRARY}) endif()