diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7a19265..45557d5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,14 +1,9 @@ -# This starter workflow is for a CMake project running on multiple platforms. There is a different starter workflow if you just want a single platform. -# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-single-platform.yml name: test env: - CC: "ccache clang" - CXX: "ccache clang++" DOWNLOAD_CACHE_VERSION: 8 on: - # don't run on push to main cuz i do that a lot push: branches: [ "main" ] pull_request: @@ -36,7 +31,6 @@ jobs: - os: ubuntu-latest c_compiler: clang cpp_compiler: clang++ - steps: - uses: actions/checkout@v4 with: @@ -46,39 +40,37 @@ jobs: sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update sudo apt-get install -y tree ccache gcc-11 g++-11 freeglut3-dev g++ libasound2-dev libcurl4-openssl-dev libfreetype6-dev libjack-jackd2-dev libx11-dev libxcomposite-dev libxcursor-dev libxinerama-dev libxrandr-dev mesa-common-dev ladspa-sdk webkit2gtk-4.0 libgtk-3-dev xvfb ninja-build libwebkit2gtk-4.1-dev - - name: Set reusable strings # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. id: strings shell: bash run: | echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT" - + - name: Make cache dir + run: mkdir /home/runner/.ccache - name: Cache build artifacts uses: actions/cache@v4 with: - path: .ccache + path: /home/runner/.ccache key: ${{ runner.os }}-ccache-${{ hashFiles('**/CMakeLists.txt') }}-${{ env.DOWNLOAD_CACHE_VERSION }} restore-keys: | ${{ runner.os }}-ccache- - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type run: > cmake -B ${{ steps.strings.outputs.build-output-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} + -D CMAKE_C_COMPILER_LAUNCHER=ccache + -D CMAKE_CXX_COMPILER_LAUNCHER=ccache -S ${{ github.workspace }} - name: Build run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }} --parallel $(nproc) - - - name: Verify cache - run : ls -a - - name: Verify cache 2 - run : tree ~ + - name: Print ccache stats + run: | + ccache -s + ccache -p # - name: Test # working-directory: ${{ steps.strings.outputs.build-output-dir }} diff --git a/CMakeLists.txt b/CMakeLists.txt index 9616099..3892072 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,8 +7,6 @@ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") -# set(C_COMPILER_LAUNCHER ccache) -# set(CXX_COMPILER_LAUNCHER ccache) project(BOX VERSION 0.0.1) if (APPLE)