Enable CCache to make CI builds run more quickly. (#1328)
* Enable CCache to make CI builds run more quickly. * Ensure Hamlib is also part of ccache. * Try creating symlink. * Increase ccache max size limit. * Add ccache for Windows builds. * Add cache for lint as well. * Make sure PGO is covered by ccache. * Dummy change to make sure build is cached. * macOS: Ensure node 24 is used for ccache * Windows: use node 24. * Increase max cache size on macOS to 5G. * Add Windows debugging for ccache. * Use CMake compiler launcher to launch ccache. * Use symlinks for PGO builds. * Don't cache PGO use steps, we can't afford to with only 10GB available. * Fix issue causing cache misses. * Forgot that we need to use single quotes. * Revert previous whitespace change. * Enable ccache for Linux builds. * Fix shell command error. * Add PR #1328 to changelog.ms-zero-audio-startup
parent
c3102f4ac5
commit
52f1b5daf9
|
|
@ -26,6 +26,12 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2.23
|
||||||
|
with:
|
||||||
|
key: ${{ github.job }}
|
||||||
|
max-size: "5G"
|
||||||
|
|
||||||
- name: Install required packages
|
- name: Install required packages
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -47,7 +53,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
mkdir build_linux
|
mkdir build_linux
|
||||||
cd build_linux
|
cd build_linux
|
||||||
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..
|
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ..
|
||||||
# Build so we have all required .h and .c/.cpp files
|
# Build so we have all required .h and .c/.cpp files
|
||||||
make -j$(nproc)
|
make -j$(nproc)
|
||||||
|
|
||||||
|
|
@ -75,6 +81,20 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2.23
|
||||||
|
if: ${{ matrix.os == 'ubuntu-22.04-arm' }}
|
||||||
|
with:
|
||||||
|
key: ${{ github.job }}-aarch64
|
||||||
|
max-size: "5G"
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2.23
|
||||||
|
if: ${{ matrix.os == 'ubuntu-22.04' }}
|
||||||
|
with:
|
||||||
|
key: ${{ github.job }}-x86_64
|
||||||
|
max-size: "5G"
|
||||||
|
|
||||||
- name: Install LLVM/Clang >=20.0
|
- name: Install LLVM/Clang >=20.0
|
||||||
run: |
|
run: |
|
||||||
set -euxo pipefail
|
set -euxo pipefail
|
||||||
|
|
@ -144,7 +164,7 @@ jobs:
|
||||||
working-directory: ${{github.workspace}}
|
working-directory: ${{github.workspace}}
|
||||||
run: |
|
run: |
|
||||||
. ./rade-venv/bin/activate
|
. ./rade-venv/bin/activate
|
||||||
BUILD_TYPE=Release CC=clang-21 CXX=clang++-21 PGO_INSTRUMENT=1 ENABLE_LTO=1 STATIC_LIBGCC=1 ./build_linux.sh
|
BUILD_TYPE=Release CC=clang-21 CXX=clang++-21 USE_CCACHE=1 PGO_INSTRUMENT=1 ENABLE_LTO=1 STATIC_LIBGCC=1 ./build_linux.sh
|
||||||
|
|
||||||
- name: Generate optimization profile
|
- name: Generate optimization profile
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
@ -457,6 +477,12 @@ jobs:
|
||||||
# with:
|
# with:
|
||||||
# detached: true
|
# detached: true
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2.23
|
||||||
|
with:
|
||||||
|
key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.sanitizer }}-${{ matrix.native-audio }}
|
||||||
|
max-size: "5G"
|
||||||
|
|
||||||
- name: Install LLVM/Clang >=20.0
|
- name: Install LLVM/Clang >=20.0
|
||||||
if: ${{ matrix.os == 'ubuntu-24.04' || matrix.os == 'ubuntu-24.04-arm' }}
|
if: ${{ matrix.os == 'ubuntu-24.04' || matrix.os == 'ubuntu-24.04-arm' }}
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -552,7 +578,7 @@ jobs:
|
||||||
if: ${{ matrix.sanitizer != 'WITH_ASAN=0' }}
|
if: ${{ matrix.sanitizer != 'WITH_ASAN=0' }}
|
||||||
run: |
|
run: |
|
||||||
. ./rade-venv/bin/activate
|
. ./rade-venv/bin/activate
|
||||||
UT_ENABLE=1 CC=clang-21 CXX=clang++-21 ${{matrix.native-audio}} ${{matrix.sanitizer}} ./build_linux.sh
|
UT_ENABLE=1 CC=clang-21 CXX=clang++-21 USE_CCACHE=1 ${{matrix.native-audio}} ${{matrix.sanitizer}} ./build_linux.sh
|
||||||
|
|
||||||
- name: Build freedv-gui
|
- name: Build freedv-gui
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
@ -560,7 +586,7 @@ jobs:
|
||||||
if: ${{ matrix.sanitizer == 'WITH_ASAN=0' }}
|
if: ${{ matrix.sanitizer == 'WITH_ASAN=0' }}
|
||||||
run: |
|
run: |
|
||||||
. ./rade-venv/bin/activate
|
. ./rade-venv/bin/activate
|
||||||
UT_ENABLE=1 CC=clang-21 CXX=clang++-21 ${{matrix.native-audio}} ${{matrix.sanitizer}} ./build_linux.sh
|
UT_ENABLE=1 CC=clang-21 CXX=clang++-21 USE_CCACHE=1 ${{matrix.native-audio}} ${{matrix.sanitizer}} ./build_linux.sh
|
||||||
|
|
||||||
- name: Execute unit tests
|
- name: Execute unit tests
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,12 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2.23
|
||||||
|
with:
|
||||||
|
key: ${{ github.job }}
|
||||||
|
max-size: "5G"
|
||||||
|
|
||||||
- name: Install needed packages
|
- name: Install needed packages
|
||||||
run: |
|
run: |
|
||||||
brew install automake libtool numpy sox wxwidgets speexdsp portaudio libsndfile hamlib libebur128
|
brew install automake libtool numpy sox wxwidgets speexdsp portaudio libsndfile hamlib libebur128
|
||||||
|
|
@ -42,7 +48,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
mkdir build_osx
|
mkdir build_osx
|
||||||
cd build_osx
|
cd build_osx
|
||||||
CC=clang CXX=clang++ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..
|
CC=clang CXX=clang++ cmake -DCMAKE_OBJCXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..
|
||||||
# Build so we have all required .h and .c/.cpp files
|
# Build so we have all required .h and .c/.cpp files
|
||||||
make -j$(sysctl -n hw.logicalcpu)
|
make -j$(sysctl -n hw.logicalcpu)
|
||||||
|
|
||||||
|
|
@ -64,6 +70,13 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2.23
|
||||||
|
with:
|
||||||
|
key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.sanitizer }}
|
||||||
|
create-symlink: true
|
||||||
|
max-size: "5G"
|
||||||
|
|
||||||
#- name: Setup tmate session
|
#- name: Setup tmate session
|
||||||
# uses: mxschmitt/action-tmate@v3
|
# uses: mxschmitt/action-tmate@v3
|
||||||
# with:
|
# with:
|
||||||
|
|
@ -145,6 +158,25 @@ jobs:
|
||||||
# with:
|
# with:
|
||||||
# detached: true
|
# detached: true
|
||||||
|
|
||||||
|
# There's a bug where macos-26 ends up downloading macos-26-intel's cache and thus
|
||||||
|
# having few/no cache hits. To prevent this, we make sure that the cache key is unique
|
||||||
|
# enough on both platforms to avoid inadvertent matches.
|
||||||
|
- name: ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2.23
|
||||||
|
if: ${{ matrix.os == 'macos-26-intel' }}
|
||||||
|
with:
|
||||||
|
key: ${{ github.job }}-x86_64
|
||||||
|
max-size: "5G"
|
||||||
|
create-symlink: true
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2.23
|
||||||
|
if: ${{ matrix.os == 'macos-26' }}
|
||||||
|
with:
|
||||||
|
key: ${{ github.job }}-aarch64
|
||||||
|
max-size: "5G"
|
||||||
|
create-symlink: true
|
||||||
|
|
||||||
- name: Install needed packages
|
- name: Install needed packages
|
||||||
run: |
|
run: |
|
||||||
brew install automake libtool numpy sox llvm@20 lld@20 # note: LLVM 21 introduces incompatibilities - see https://github.com/Homebrew/homebrew-core/issues/235411
|
brew install automake libtool numpy sox llvm@20 lld@20 # note: LLVM 21 introduces incompatibilities - see https://github.com/Homebrew/homebrew-core/issues/235411
|
||||||
|
|
@ -174,7 +206,7 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{github.workspace}}
|
working-directory: ${{github.workspace}}
|
||||||
run: |
|
run: |
|
||||||
BUILD_TYPE=Release UT_ENABLE=0 UNIV_BUILD=0 BUILD_DEPS=1 PGO_INSTRUMENT=1 ENABLE_LTO=1 ./build_osx.sh
|
BUILD_TYPE=Release UT_ENABLE=0 UNIV_BUILD=0 BUILD_DEPS=1 PGO_INSTRUMENT=1 ENABLE_LTO=1 USE_CCACHE=1 ./build_osx.sh
|
||||||
|
|
||||||
- name: Generate optimization profile
|
- name: Generate optimization profile
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,13 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2.23
|
||||||
|
with:
|
||||||
|
key: ${{ github.job }}-${{ matrix.arch }}
|
||||||
|
max-size: "5G"
|
||||||
|
verbose: 2
|
||||||
|
|
||||||
- name: Install required packages
|
- name: Install required packages
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ${{github.workspace}}
|
working-directory: ${{github.workspace}}
|
||||||
|
|
@ -49,7 +56,7 @@ jobs:
|
||||||
export PATH=${{github.workspace}}/llvm-mingw-20251216-ucrt-ubuntu-22.04-x86_64/bin:$PATH
|
export PATH=${{github.workspace}}/llvm-mingw-20251216-ucrt-ubuntu-22.04-x86_64/bin:$PATH
|
||||||
mkdir build_windows
|
mkdir build_windows
|
||||||
cd build_windows
|
cd build_windows
|
||||||
cmake -DENABLE_LTO=1 -DPGO_INSTRUMENT=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/cross-compile/freedv-mingw-llvm-${{ matrix.arch }}.cmake ..
|
cmake -DENABLE_LTO=1 -DPGO_INSTRUMENT=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/cross-compile/freedv-mingw-llvm-${{ matrix.arch }}.cmake ..
|
||||||
|
|
||||||
- name: Build freedv-gui (unsigned)
|
- name: Build freedv-gui (unsigned)
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
||||||
|
|
@ -992,6 +992,7 @@ LDPC | Low Density Parity Check Codes - a family of powerful FEC codes
|
||||||
* Require C++20 to build FreeDV. (PR #1440)
|
* Require C++20 to build FreeDV. (PR #1440)
|
||||||
* Enable LTO/PGO for macOS .app build. (PR #1456)
|
* Enable LTO/PGO for macOS .app build. (PR #1456)
|
||||||
* Enable PGO for Windows builds. (PR #1457)
|
* Enable PGO for Windows builds. (PR #1457)
|
||||||
|
* Add support for CCache. (PR #1328)
|
||||||
4. Other:
|
4. Other:
|
||||||
* FlexRadio/KA9Q integrations moved to freedv-integrations repo. (PR #1368)
|
* FlexRadio/KA9Q integrations moved to freedv-integrations repo. (PR #1368)
|
||||||
* Improve tab save/load behavior on systems with wxWidgets 3.3+. (PR #1435)
|
* Improve tab save/load behavior on systems with wxWidgets 3.3+. (PR #1435)
|
||||||
|
|
|
||||||
|
|
@ -18,14 +18,21 @@ STATIC_LIBGCC=${STATIC_LIBGCC:-0}
|
||||||
ENABLE_LTO=${ENABLE_LTO:-0}
|
ENABLE_LTO=${ENABLE_LTO:-0}
|
||||||
PGO_INSTRUMENT=${PGO_INSTRUMENT:-0}
|
PGO_INSTRUMENT=${PGO_INSTRUMENT:-0}
|
||||||
PGO_USE_PROFILE=${PGO_USE_PROFILE:-}
|
PGO_USE_PROFILE=${PGO_USE_PROFILE:-}
|
||||||
|
USE_CCACHE=${USE_CCACHE:-0}
|
||||||
|
|
||||||
export FREEDVGUIDIR=${PWD}
|
export FREEDVGUIDIR=${PWD}
|
||||||
|
|
||||||
|
if [ $USE_CCACHE == 1 ]; then
|
||||||
|
CCACHE_ARGS="-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
|
||||||
|
else
|
||||||
|
CCACHE_ARGS=""
|
||||||
|
fi
|
||||||
|
|
||||||
# Finally, build freedv-gui
|
# Finally, build freedv-gui
|
||||||
cd $FREEDVGUIDIR
|
cd $FREEDVGUIDIR
|
||||||
if [ -d .git ]; then
|
if [ -d .git ]; then
|
||||||
git pull
|
git pull
|
||||||
fi
|
fi
|
||||||
mkdir -p build_linux && cd build_linux && rm -Rf *
|
mkdir -p build_linux && cd build_linux && rm -Rf *
|
||||||
cmake -DPGO_INSTRUMENT=${PGO_INSTRUMENT} -DPGO_USE_PROFILE=${PGO_USE_PROFILE} -DENABLE_LTO=${ENABLE_LTO} -DSTATIC_LIBGCC=${STATIC_LIBGCC} -DENABLE_UBSAN=${WITH_UBSAN} -DENABLE_TSAN=${WITH_TSAN} -DENABLE_RTSAN=${WITH_RTSAN} -DENABLE_ASAN=${WITH_ASAN} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DUSE_NATIVE_AUDIO=$USE_NATIVE_AUDIO -DUNITTEST=$UT_ENABLE ..
|
cmake ${CCACHE_ARGS} -DPGO_INSTRUMENT=${PGO_INSTRUMENT} -DPGO_USE_PROFILE=${PGO_USE_PROFILE} -DENABLE_LTO=${ENABLE_LTO} -DSTATIC_LIBGCC=${STATIC_LIBGCC} -DENABLE_UBSAN=${WITH_UBSAN} -DENABLE_TSAN=${WITH_TSAN} -DENABLE_RTSAN=${WITH_RTSAN} -DENABLE_ASAN=${WITH_ASAN} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DUSE_NATIVE_AUDIO=$USE_NATIVE_AUDIO -DUNITTEST=$UT_ENABLE ..
|
||||||
make -j$(nproc)
|
make -j$(nproc)
|
||||||
|
|
|
||||||
34
build_osx.sh
34
build_osx.sh
|
|
@ -5,7 +5,6 @@
|
||||||
# lpcnet repos so they are available for parallel development.
|
# lpcnet repos so they are available for parallel development.
|
||||||
|
|
||||||
export FREEDVGUIDIR=${PWD}
|
export FREEDVGUIDIR=${PWD}
|
||||||
export HAMLIBDIR=$FREEDVGUIDIR/hamlib
|
|
||||||
export UT_ENABLE=${UT_ENABLE:-0}
|
export UT_ENABLE=${UT_ENABLE:-0}
|
||||||
export UNIV_BUILD=${UNIV_BUILD:-1}
|
export UNIV_BUILD=${UNIV_BUILD:-1}
|
||||||
export CODESIGN_IDENTITY=${CODESIGN_IDENTITY:--}
|
export CODESIGN_IDENTITY=${CODESIGN_IDENTITY:--}
|
||||||
|
|
@ -19,6 +18,7 @@ export WITH_UBSAN=${WITH_UBSAN:-0}
|
||||||
export ENABLE_LTO=${ENABLE_LTO:-0}
|
export ENABLE_LTO=${ENABLE_LTO:-0}
|
||||||
export PGO_INSTRUMENT=${PGO_INSTRUMENT:-0}
|
export PGO_INSTRUMENT=${PGO_INSTRUMENT:-0}
|
||||||
export PGO_USE_PROFILE=${PGO_USE_PROFILE:-}
|
export PGO_USE_PROFILE=${PGO_USE_PROFILE:-}
|
||||||
|
export USE_CCACHE=${USE_CCACHE:-0}
|
||||||
|
|
||||||
# Prerequisite: build dylibbundler
|
# Prerequisite: build dylibbundler
|
||||||
if [ ! -d macdylibbundler ]; then
|
if [ ! -d macdylibbundler ]; then
|
||||||
|
|
@ -28,25 +28,7 @@ if [ ! -d macdylibbundler ]; then
|
||||||
cd ..
|
cd ..
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prerequisite: build hamlib
|
# Build freedv-gui
|
||||||
cd $FREEDVGUIDIR
|
|
||||||
if [ $BUILD_DEPS == 1 ]; then
|
|
||||||
if [ ! -d hamlib-code ]; then
|
|
||||||
git clone https://github.com/Hamlib/Hamlib.git hamlib-code
|
|
||||||
fi
|
|
||||||
cd hamlib-code && git checkout 4.7.2 && git pull
|
|
||||||
./bootstrap
|
|
||||||
if [ $UNIV_BUILD == 1 ]; then
|
|
||||||
CFLAGS="-g -O3 -mmacosx-version-min=11.0 -arch x86_64 -arch arm64" CXXFLAGS="-g -O3 -mmacosx-version-min=11.0 -arch x86_64 -arch arm64" ./configure --enable-shared --prefix $HAMLIBDIR --without-libusb
|
|
||||||
else
|
|
||||||
CFLAGS="-g -O3 -mmacosx-version-min=11.0" CXXFLAGS="-g -O3 -mmacosx-version-min=11.0" ./configure --enable-shared --prefix $HAMLIBDIR --without-libusb
|
|
||||||
fi
|
|
||||||
|
|
||||||
make -j$(sysctl -n hw.logicalcpu)
|
|
||||||
make install
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Finally, build freedv-gui
|
|
||||||
cd $FREEDVGUIDIR
|
cd $FREEDVGUIDIR
|
||||||
if [ -d .git ]; then
|
if [ -d .git ]; then
|
||||||
git pull
|
git pull
|
||||||
|
|
@ -57,10 +39,16 @@ if [ "$CODESIGN_KEYCHAIN_PROFILE" != "" ]; then
|
||||||
export CODESIGN_KEYCHAIN_PROFILE_ARG=-DMACOS_CODESIGN_KEYCHAIN_PROFILE=$CODESIGN_KEYCHAIN_PROFILE
|
export CODESIGN_KEYCHAIN_PROFILE_ARG=-DMACOS_CODESIGN_KEYCHAIN_PROFILE=$CODESIGN_KEYCHAIN_PROFILE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $BUILD_DEPS == 1 ]; then
|
if [ $USE_CCACHE == 1 ]; then
|
||||||
cmake -DCMAKE_AR=/usr/bin/ar -DCMAKE_RANLIB=/usr/bin/ranlib -DPGO_INSTRUMENT=${PGO_INSTRUMENT} -DPGO_USE_PROFILE=${PGO_USE_PROFILE} -DENABLE_LTO=${ENABLE_LTO} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DENABLE_UBSAN=${WITH_UBSAN} -DENABLE_TSAN=${WITH_TSAN} -DENABLE_RTSAN=${WITH_RTSAN} -DENABLE_ASAN=${WITH_ASAN} -DUSE_NATIVE_AUDIO=$USE_NATIVE_AUDIO -DBUILD_OSX_UNIVERSAL=${UNIV_BUILD} -DUNITTEST=$UT_ENABLE -DBOOTSTRAP_WXWIDGETS=1 -DUSE_STATIC_SPEEXDSP=1 -DUSE_STATIC_PORTAUDIO=1 -DUSE_STATIC_SAMPLERATE=1 -DUSE_STATIC_SNDFILE=1 -DUSE_STATIC_LIBRESSL=1 -DHAMLIB_INCLUDE_DIR=${HAMLIBDIR}/include -DHAMLIB_LIBRARY=${HAMLIBDIR}/lib/libhamlib.dylib -DMACOS_CODESIGN_IDENTITY=${CODESIGN_IDENTITY} ${CODESIGN_KEYCHAIN_PROFILE_ARG} ..
|
CCACHE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_OBJCXX_COMPILER_LAUNCHER=ccache
|
||||||
else
|
else
|
||||||
cmake -DCMAKE_AR=/usr/bin/ar -DCMAKE_RANLIB=/usr/bin/ranlib -DPGO_INSTRUMENT=${PGO_INSTRUMENT} -DPGO_USE_PROFILE=${PGO_USE_PROFILE} -DENABLE_LTO=${ENABLE_LTO} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DENABLE_UBSAN=${WITH_UBSAN} -DENABLE_TSAN=${WITH_TSAN} -DENABLE_RTSAN=${WITH_RTSAN} -DENABLE_ASAN=${WITH_ASAN} -DUSE_NATIVE_AUDIO=$USE_NATIVE_AUDIO -DBUILD_OSX_UNIVERSAL=${UNIV_BUILD} -DUNITTEST=$UT_ENABLE -DMACOS_CODESIGN_IDENTITY=${CODESIGN_IDENTITY} ${CODESIGN_KEYCHAIN_PROFILE_ARG} ..
|
CCACHE_ARGS=
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $BUILD_DEPS == 1 ]; then
|
||||||
|
cmake ${CCACHE_ARGS} -DCMAKE_AR=/usr/bin/ar -DCMAKE_RANLIB=/usr/bin/ranlib -DPGO_INSTRUMENT=${PGO_INSTRUMENT} -DPGO_USE_PROFILE=${PGO_USE_PROFILE} -DENABLE_LTO=${ENABLE_LTO} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DENABLE_UBSAN=${WITH_UBSAN} -DENABLE_TSAN=${WITH_TSAN} -DENABLE_RTSAN=${WITH_RTSAN} -DENABLE_ASAN=${WITH_ASAN} -DUSE_NATIVE_AUDIO=$USE_NATIVE_AUDIO -DBUILD_OSX_UNIVERSAL=${UNIV_BUILD} -DUNITTEST=$UT_ENABLE -DBOOTSTRAP_WXWIDGETS=1 -DUSE_STATIC_SPEEXDSP=1 -DUSE_STATIC_PORTAUDIO=1 -DUSE_STATIC_SAMPLERATE=1 -DUSE_STATIC_SNDFILE=1 -DUSE_STATIC_LIBRESSL=1 -DMACOS_CODESIGN_IDENTITY=${CODESIGN_IDENTITY} ${CODESIGN_KEYCHAIN_PROFILE_ARG} ..
|
||||||
|
else
|
||||||
|
cmake ${CCACHE_ARGS} -DCMAKE_AR=/usr/bin/ar -DCMAKE_RANLIB=/usr/bin/ranlib -DPGO_INSTRUMENT=${PGO_INSTRUMENT} -DPGO_USE_PROFILE=${PGO_USE_PROFILE} -DENABLE_LTO=${ENABLE_LTO} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DENABLE_UBSAN=${WITH_UBSAN} -DENABLE_TSAN=${WITH_TSAN} -DENABLE_RTSAN=${WITH_RTSAN} -DENABLE_ASAN=${WITH_ASAN} -DUSE_NATIVE_AUDIO=$USE_NATIVE_AUDIO -DBUILD_OSX_UNIVERSAL=${UNIV_BUILD} -DUNITTEST=$UT_ENABLE -DMACOS_CODESIGN_IDENTITY=${CODESIGN_IDENTITY} ${CODESIGN_KEYCHAIN_PROFILE_ARG} ..
|
||||||
fi
|
fi
|
||||||
|
|
||||||
make -j$(sysctl -n hw.logicalcpu)
|
make -j$(sysctl -n hw.logicalcpu)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue