add build ccache

This commit is contained in:
0FL01 2025-07-22 20:40:10 +03:00
parent 9569cba930
commit 7d2c0117ce

View file

@ -99,8 +99,10 @@ jobs:
sudo dnf install -y --skip-unavailable \ sudo dnf install -y --skip-unavailable \
gcc-c++ cmake git make pkgconf-pkg-config \ gcc-c++ cmake git make pkgconf-pkg-config \
glibc-static libstdc++-static zlib-ng-compat-devel glibc-static libstdc++-static zlib-ng-compat-devel
echo "Установленные базовые пакеты для сборки:" echo "Установленные базовые пакеты для сборки:"
dnf list installed | grep -E "(gcc|cmake|git|make|glibc|zlib)" dnf list --installed | grep -E "(gcc|cmake|git|make|glibc|zlib)" || true
rm -rf ccache-source ccache-build rm -rf ccache-source ccache-build
git clone --depth=1 --branch v4.10 https://github.com/ccache/ccache.git ccache-source git clone --depth=1 --branch v4.10 https://github.com/ccache/ccache.git ccache-source
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
@ -110,6 +112,7 @@ jobs:
cd ccache-source cd ccache-source
mkdir build && cd build mkdir build && cd build
echo "Запуск конфигурации CMake с принудительным использованием встроенных зависимостей..." echo "Запуск конфигурации CMake с принудительным использованием встроенных зависимостей..."
cmake .. \ cmake .. \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DSTATIC_LINKING=ON \ -DSTATIC_LINKING=ON \
@ -119,27 +122,32 @@ jobs:
-DENABLE_OPENSSL=BUNDLED \ -DENABLE_OPENSSL=BUNDLED \
-DENABLE_ARCHIVE=BUNDLED \ -DENABLE_ARCHIVE=BUNDLED \
-DCMAKE_POSITION_INDEPENDENT_CODE=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=OFF
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "::error::Ошибка конфигурации CMake. Детали:" echo "::error::Ошибка конфигурации CMake. Детали:"
cat CMakeFiles/CMakeError.log || echo "CMakeError.log не найден" cat CMakeFiles/CMakeError.log || echo "CMakeError.log не найден"
cat CMakeFiles/CMakeOutput.log || echo "CMakeOutput.log не найден" cat CMakeFiles/CMakeOutput.log || echo "CMakeOutput.log не найден"
exit 1 exit 1
fi fi
echo "Начинаем компиляцию ccache..." echo "Начинаем компиляцию ccache..."
cmake --build . -j$(nproc) --verbose cmake --build . -j$(nproc) --verbose
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "::error::Ошибка компиляции ccache" echo "::error::Ошибка компиляции ccache"
exit 1 exit 1
fi fi
echo "Проверка зависимостей собранного ccache:" echo "Проверка зависимостей собранного ccache:"
ldd ./ccache || echo "ccache собран статически" ldd ./ccache || echo "ccache собран статически"
file ./ccache file ./ccache
echo "Тестирование ccache..." echo "Тестирование ccache..."
./ccache --version ./ccache --version
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "::error::Собранный ccache не работает" echo "::error::Собранный ccache не работает"
exit 1 exit 1
fi fi
mkdir -p ${{ github.workspace }}/ccache-static mkdir -p ${{ github.workspace }}/ccache-static
cp ./ccache ${{ github.workspace }}/ccache-static/ccache cp ./ccache ${{ github.workspace }}/ccache-static/ccache
chmod +x ${{ github.workspace }}/ccache-static/ccache chmod +x ${{ github.workspace }}/ccache-static/ccache