add build ccache

This commit is contained in:
0FL01 2025-07-22 20:00:58 +03:00
parent c06cc52910
commit 5281997549

View file

@ -96,25 +96,59 @@ jobs:
if: steps.static-ccache.outputs.cache-hit != 'true' if: steps.static-ccache.outputs.cache-hit != 'true'
run: | run: |
echo "Статический ccache не найден в кэше, собираем его..." echo "Статический ccache не найден в кэше, собираем его..."
sudo dnf install -y gcc-c++ cmake git zlib-devel libzstd-devel fmt-devel glibc-static libstdc++-static 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
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
echo "::error::Ошибка клонирования репозитория ccache"
exit 1
fi
cd ccache-source cd ccache-source
mkdir build && cd build mkdir build && cd build
echo "Запуск конфигурации CMake..."
cmake .. \ cmake .. \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DBUILD_SHARED_LIBS=OFF \ -DBUILD_SHARED_LIBS=OFF \
-DSTATIC_LINKING=ON \ -DSTATIC_LINKING=ON \
-DENABLE_ZSTD=BUNDLED \ -DENABLE_ZSTD=BUNDLED \
-DENABLE_TESTING=OFF -DENABLE_TESTING=OFF \
-DCMAKE_C_FLAGS="-static" \
cmake --build . -j$(nproc) -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
if [ $? -ne 0 ]; then
echo "::error::Ошибка конфигурации CMake. Детали:"
cat CMakeFiles/CMakeError.log || echo "CMakeError.log не найден"
cat CMakeFiles/CMakeOutput.log || echo "CMakeOutput.log не найден"
exit 1
fi
echo "Начинаем компиляцию ccache..."
cmake --build . -j$(nproc) --verbose
if [ $? -ne 0 ]; then
echo "::error::Ошибка компиляции ccache"
exit 1
fi
echo "Проверка зависимостей собранного ccache:"
ldd ./ccache || echo "ccache собран статически (отлично!)"
echo "Тестирование ccache..."
./ccache --version
if [ $? -ne 0 ]; then
echo "::error::Собранный ccache не работает"
exit 1
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
echo "Полностью статический ccache успешно собран." chmod +x ${{ github.workspace }}/ccache-static/ccache
echo "Полностью статический ccache успешно собран и протестирован."
cd ${{ github.workspace }}
rm -rf ccache-source
- name: Cache TDesktop Dependencies - name: Cache TDesktop Dependencies
id: cache-tdesktop-deps id: cache-tdesktop-deps