mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-09-06 20:13:12 +02:00
add build ccache
This commit is contained in:
parent
5281997549
commit
a293c7ec32
1 changed files with 63 additions and 54 deletions
117
.github/workflows/flatpak-build.yml
vendored
117
.github/workflows/flatpak-build.yml
vendored
|
@ -95,60 +95,69 @@ jobs:
|
||||||
- name: Build static ccache
|
- name: Build static ccache
|
||||||
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 zlib-static \
|
sudo dnf install -y --skip-unavailable \
|
||||||
libzstd-devel libzstd-static fmt-devel fmt-static \
|
gcc-c++ cmake git make pkgconf-pkg-config \
|
||||||
glibc-static libstdc++-static make pkgconfig \
|
zlib-ng-compat-devel zlib-ng-compat-static \
|
||||||
openssl-devel openssl-static libarchive-devel \
|
libzstd-devel libzstd-static \
|
||||||
libarchive-static
|
fmt-devel fmt-static \
|
||||||
rm -rf ccache-source ccache-build
|
glibc-static libstdc++-static \
|
||||||
git clone --depth=1 --branch v4.10 https://github.com/ccache/ccache.git ccache-source
|
openssl-devel openssl-static \
|
||||||
if [ $? -ne 0 ]; then
|
libarchive-devel libarchive-static
|
||||||
echo "::error::Ошибка клонирования репозитория ccache"
|
echo "Установленные статические библиотеки:"
|
||||||
exit 1
|
dnf list installed | grep -E "(static|devel)" | head -10
|
||||||
fi
|
rm -rf ccache-source ccache-build
|
||||||
cd ccache-source
|
git clone --depth=1 --branch v4.10 https://github.com/ccache/ccache.git ccache-source
|
||||||
mkdir build && cd build
|
if [ $? -ne 0 ]; then
|
||||||
echo "Запуск конфигурации CMake..."
|
echo "::error::Ошибка клонирования репозитория ccache"
|
||||||
cmake .. \
|
exit 1
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
fi
|
||||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
cd ccache-source
|
||||||
-DBUILD_SHARED_LIBS=OFF \
|
mkdir build && cd build
|
||||||
-DSTATIC_LINKING=ON \
|
echo "Запуск конфигурации CMake..."
|
||||||
-DENABLE_ZSTD=BUNDLED \
|
cmake .. \
|
||||||
-DENABLE_TESTING=OFF \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_C_FLAGS="-static" \
|
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||||
-DCMAKE_CXX_FLAGS="-static" \
|
-DENABLE_ZSTD=BUNDLED \
|
||||||
-DCMAKE_EXE_LINKER_FLAGS="-static -static-libgcc -static-libstdc++" \
|
-DENABLE_TESTING=OFF \
|
||||||
-DCMAKE_FIND_LIBRARY_SUFFIXES=".a" \
|
-DSTATIC_LINKING=ON \
|
||||||
-DCMAKE_LINK_SEARCH_START_STATIC=ON \
|
-DCMAKE_POSITION_INDEPENDENT_CODE=OFF
|
||||||
-DCMAKE_LINK_SEARCH_END_STATIC=ON
|
if [ $? -ne 0 ]; then
|
||||||
if [ $? -ne 0 ]; then
|
echo "Простая конфигурация не сработала, пробуем fallback..."
|
||||||
echo "::error::Ошибка конфигурации CMake. Детали:"
|
rm -rf CMakeCache.txt CMakeFiles/
|
||||||
cat CMakeFiles/CMakeError.log || echo "CMakeError.log не найден"
|
cmake .. \
|
||||||
cat CMakeFiles/CMakeOutput.log || echo "CMakeOutput.log не найден"
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
exit 1
|
-DBUILD_SHARED_LIBS=OFF \
|
||||||
fi
|
-DENABLE_ZSTD=BUNDLED \
|
||||||
echo "Начинаем компиляцию ccache..."
|
-DENABLE_TESTING=OFF
|
||||||
cmake --build . -j$(nproc) --verbose
|
fi
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "::error::Ошибка компиляции ccache"
|
echo "::error::Ошибка конфигурации CMake. Детали:"
|
||||||
exit 1
|
cat CMakeFiles/CMakeError.log || echo "CMakeError.log не найден"
|
||||||
fi
|
cat CMakeFiles/CMakeOutput.log || echo "CMakeOutput.log не найден"
|
||||||
echo "Проверка зависимостей собранного ccache:"
|
exit 1
|
||||||
ldd ./ccache || echo "ccache собран статически (отлично!)"
|
fi
|
||||||
echo "Тестирование ccache..."
|
echo "Начинаем компиляцию ccache..."
|
||||||
./ccache --version
|
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
|
||||||
mkdir -p ${{ github.workspace }}/ccache-static
|
echo "Проверка зависимостей собранного ccache:"
|
||||||
cp ./ccache ${{ github.workspace }}/ccache-static/ccache
|
ldd ./ccache || echo "ccache собран статически"
|
||||||
chmod +x ${{ github.workspace }}/ccache-static/ccache
|
file ./ccache
|
||||||
echo "Полностью статический ccache успешно собран и протестирован."
|
echo "Тестирование ccache..."
|
||||||
cd ${{ github.workspace }}
|
./ccache --version
|
||||||
rm -rf ccache-source
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "::error::Собранный ccache не работает"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
mkdir -p ${{ github.workspace }}/ccache-static
|
||||||
|
cp ./ccache ${{ github.workspace }}/ccache-static/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
|
||||||
|
|
Loading…
Add table
Reference in a new issue