add build ccache

This commit is contained in:
0FL01 2025-07-22 20:05:15 +03:00
parent 5281997549
commit a293c7ec32

View file

@ -96,11 +96,16 @@ jobs:
if: steps.static-ccache.outputs.cache-hit != 'true'
run: |
echo "Статический ccache не найден в кэше, собираем его..."
sudo dnf install -y gcc-c++ cmake git zlib-devel zlib-static \
libzstd-devel libzstd-static fmt-devel fmt-static \
glibc-static libstdc++-static make pkgconfig \
openssl-devel openssl-static libarchive-devel \
libarchive-static
sudo dnf install -y --skip-unavailable \
gcc-c++ cmake git make pkgconf-pkg-config \
zlib-ng-compat-devel zlib-ng-compat-static \
libzstd-devel libzstd-static \
fmt-devel fmt-static \
glibc-static libstdc++-static \
openssl-devel openssl-static \
libarchive-devel libarchive-static
echo "Установленные статические библиотеки:"
dnf list installed | grep -E "(static|devel)" | head -10
rm -rf ccache-source ccache-build
git clone --depth=1 --branch v4.10 https://github.com/ccache/ccache.git ccache-source
if [ $? -ne 0 ]; then
@ -113,16 +118,19 @@ jobs:
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DBUILD_SHARED_LIBS=OFF \
-DSTATIC_LINKING=ON \
-DENABLE_ZSTD=BUNDLED \
-DENABLE_TESTING=OFF \
-DCMAKE_C_FLAGS="-static" \
-DCMAKE_CXX_FLAGS="-static" \
-DCMAKE_EXE_LINKER_FLAGS="-static -static-libgcc -static-libstdc++" \
-DCMAKE_FIND_LIBRARY_SUFFIXES=".a" \
-DCMAKE_LINK_SEARCH_START_STATIC=ON \
-DCMAKE_LINK_SEARCH_END_STATIC=ON
-DSTATIC_LINKING=ON \
-DCMAKE_POSITION_INDEPENDENT_CODE=OFF
if [ $? -ne 0 ]; then
echo "Простая конфигурация не сработала, пробуем fallback..."
rm -rf CMakeCache.txt CMakeFiles/
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_ZSTD=BUNDLED \
-DENABLE_TESTING=OFF
fi
if [ $? -ne 0 ]; then
echo "::error::Ошибка конфигурации CMake. Детали:"
cat CMakeFiles/CMakeError.log || echo "CMakeError.log не найден"
@ -136,7 +144,8 @@ jobs:
exit 1
fi
echo "Проверка зависимостей собранного ccache:"
ldd ./ccache || echo "ccache собран статически (отлично!)"
ldd ./ccache || echo "ccache собран статически"
file ./ccache
echo "Тестирование ccache..."
./ccache --version
if [ $? -ne 0 ]; then