diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7f479eb6a..aa3013ffb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,9 +43,6 @@ jobs: - name: Setup Visual Studio environment uses: ilammy/msvc-dev-cmd@v1 - - name: Setup Ninja - uses: seanmiddleditch/gha-setup-ninja@v5 - - name: Locate vcpkg id: vcpkg shell: pwsh @@ -155,7 +152,7 @@ jobs: - name: Install build dependencies shell: bash - run: brew install glslang ninja + run: brew install glslang - name: Install Qt 6.10.3 uses: jurplel/install-qt-action@v4 @@ -318,7 +315,6 @@ jobs: libxrandr-dev \ libxss-dev \ lld \ - ninja-build \ pkg-config \ wayland-protocols diff --git a/CMakeLists.txt b/CMakeLists.txt index 46104ee04..29e717e27 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,22 @@ endif() project(Kyty) +find_program(SCCACHE_PROGRAM sccache) +find_program(CCACHE_PROGRAM ccache) + +foreach(lang IN ITEMS C CXX) + # An explicitly empty launcher disables caching for this language. + if(NOT DEFINED CMAKE_${lang}_COMPILER_LAUNCHER) + if(SCCACHE_PROGRAM) + set(CMAKE_${lang}_COMPILER_LAUNCHER "${SCCACHE_PROGRAM}") + message(STATUS "sccache enabled for ${lang}: ${SCCACHE_PROGRAM}") + elseif(CCACHE_PROGRAM) + set(CMAKE_${lang}_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") + message(STATUS "ccache enabled for ${lang}: ${CCACHE_PROGRAM}") + endif() + endif() +endforeach() + set(KYTY_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src") set(KYTY_TESTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tests") set(KYTY_THIRD_PARTY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty")