This commit is contained in:
Chloe 2024-08-31 03:44:34 -07:00 committed by GitHub
commit 2794f21043
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 28 additions and 21 deletions

View file

@ -154,23 +154,20 @@ jobs:
has-sccache: ${{ inputs.use-ccache }} has-sccache: ${{ inputs.use-ccache }}
if: inputs.build-debug-info if: inputs.build-debug-info
- name: Setup caches # due to very strange performance issues, sccache is currently disabled for macos. sorry
uses: ./.github/actions/setup-cache
with: # - name: Setup caches
host: mac # uses: ./.github/actions/setup-cache
target: mac # with:
use-ccache: ${{ github.event_name != 'workflow_dispatch' || inputs.use-ccache }} # host: mac
# target: mac
# use-ccache: ${{ github.event_name != 'workflow_dispatch' || inputs.use-ccache }}
- name: Setup Ninja - name: Setup Ninja
uses: ./.github/actions/setup-ninja uses: ./.github/actions/setup-ninja
with: with:
host: mac host: mac
- name: Install LLVM
run: |
brew install llvm
echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH
- name: Setup CLI - name: Setup CLI
uses: geode-sdk/cli/.github/actions/setup@main uses: geode-sdk/cli/.github/actions/setup@main
@ -180,9 +177,8 @@ jobs:
-DCMAKE_C_COMPILER=clang -DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_COMPILER=clang++
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15
-DCMAKE_AR='/usr/bin/ar' -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
-DCMAKE_RANLIB='/usr/bin/ranlib' -DGEODE_DISABLE_PRECOMPILED_HEADERS=OFF
-DGEODE_DISABLE_PRECOMPILED_HEADERS=Off
${{ steps.build-debug-info.outputs.extra-configure }} ${{ steps.build-debug-info.outputs.extra-configure }}
- name: Build - name: Build

View file

@ -132,19 +132,30 @@ endif()
if (DEFINED GEODE_CCACHE_VARIANT) if (DEFINED GEODE_CCACHE_VARIANT)
if (NOT DEFINED GEODE_DISABLE_PRECOMPILED_HEADERS) if (NOT DEFINED GEODE_DISABLE_PRECOMPILED_HEADERS)
if (${GEODE_CCACHE_VARIANT} STREQUAL "sccache" AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") if (${GEODE_CCACHE_VARIANT} STREQUAL "sccache" AND (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang"))
message(NOTICE "Using ${GEODE_CCACHE_VARIANT} with ${CMAKE_CXX_COMPILER_ID}, PCH will be enabled.") if (DEFINED CMAKE_OSX_ARCHITECTURES AND (CMAKE_OSX_ARCHITECTURES STREQUAL "arm64;x86_64" OR CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64;arm64"))
set(GEODE_DISABLE_PRECOMPILED_HEADERS OFF) message(NOTICE "Using ${GEODE_CCACHE_VARIANT} with ${CMAKE_CXX_COMPILER_ID} while building multiple architectures, PCH will be disabled due to issues with sccache.")
set(GEODE_DISABLE_PRECOMPILED_HEADERS ON)
else()
message(NOTICE "Using ${GEODE_CCACHE_VARIANT} with ${CMAKE_CXX_COMPILER_ID}, PCH will be enabled.")
set(GEODE_DISABLE_PRECOMPILED_HEADERS OFF)
endif()
else() else()
message(NOTICE "Using ${GEODE_CCACHE_VARIANT} with ${CMAKE_CXX_COMPILER_ID}, PCH will be disabled.") message(NOTICE "Using ${GEODE_CCACHE_VARIANT} with ${CMAKE_CXX_COMPILER_ID}, PCH will be disabled.")
set(GEODE_DISABLE_PRECOMPILED_HEADERS ON) set(GEODE_DISABLE_PRECOMPILED_HEADERS ON)
endif() endif()
endif() endif()
else() else()
message(NOTICE "Not using a caching compiler (ccache/sccache). " if (DEFINED CMAKE_OSX_ARCHITECTURES AND (CMAKE_OSX_ARCHITECTURES STREQUAL "arm64;x86_64" OR CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64;arm64"))
"It is recommended to install one to improve build times.") # when building for multiple architectures, a caching compiler is not recommended
message(NOTICE "We recommend sccache, check its README for installation instructions, " message(NOTICE "Not using a caching compiler (ccache/sccache).")
"normally you can just use your usual package manager (e.g. 'scoop install sccache').") else()
message(NOTICE "Not using a caching compiler (ccache/sccache). "
"It is recommended to install one to improve build times.")
message(NOTICE "We recommend sccache, check its README for installation instructions, "
"normally you can just use your usual package manager (e.g. 'scoop install sccache').")
endif()
if (NOT DEFINED GEODE_DISABLE_PRECOMPILED_HEADERS) if (NOT DEFINED GEODE_DISABLE_PRECOMPILED_HEADERS)
message(NOTICE "Because of this, PCH will be enabled.") message(NOTICE "Because of this, PCH will be enabled.")
set(GEODE_DISABLE_PRECOMPILED_HEADERS OFF) set(GEODE_DISABLE_PRECOMPILED_HEADERS OFF)