From 13128e35499b6651b89ccd5b0bdc347ca5c14bd5 Mon Sep 17 00:00:00 2001 From: icedream Date: Sat, 10 Jan 2015 05:10:22 +0100 Subject: [PATCH] Save time by only recompiling libgit when needed. Still needs manual removal of old builds to save on space. --- src/updater/CitizenMP Server Updater.csproj | 65 +++++++++++---------- 1 file changed, 35 insertions(+), 30 deletions(-) diff --git a/src/updater/CitizenMP Server Updater.csproj b/src/updater/CitizenMP Server Updater.csproj index 401450c..ff5a6f4 100644 --- a/src/updater/CitizenMP Server Updater.csproj +++ b/src/updater/CitizenMP Server Updater.csproj @@ -143,54 +143,59 @@ foreach (var item in filesToCleanup) pushd "$(SolutionDir)deps\libgit2sharp\libgit2" -git rev-parse HEAD > ..\LibGit2Sharp\libgit2_hash.txt set /p LIBGIT2_HASH=< ..\LibGit2Sharp\libgit2_hash.txt set LIBGIT2_HASH=%25LIBGIT2_HASH:~0,7%25 -del /q /s "$(SolutionDir)src\updater\costura32\git*.dll" -del /q /s "$(SolutionDir)src\updater\costura64\git*.dll" -rmdir /q /s Build - mkdir Build pushd Build -mkdir x64 -pushd x64 -cmake ../.. "-DCMAKE_INSTALL_PREFIX=%25cd%25" "-DBIN_INSTALL_DIR=$(SolutionDir)src\updater\costura64" -DCMAKE_BUILD_TYPE=Release -DBUILD_CLAR:BOOL=OFF -Ax64 -DUSE_SSH=OFF -DENABLE_TRACE=ON -DLIBGIT2_FILENAME=git2-%25LIBGIT2_HASH%25 -DCMAKE_OSX_ARCHITECTURES="x86_64" -cmake --build . --config Release --target install -popd +if not exist "$(SolutionDir)src\updater\costura64\git2-%25LIBGIT2_HASH%25.dll" ( + rmdir /q /s x64 + mkdir x64 + pushd x64 + cmake ../.. "-DCMAKE_INSTALL_PREFIX=%25cd%25" "-DBIN_INSTALL_DIR=$(SolutionDir)src\updater\costura64" -DCMAKE_BUILD_TYPE=Release -DBUILD_CLAR:BOOL=OFF -Ax64 -DUSE_SSH=OFF -DENABLE_TRACE=ON -DLIBGIT2_FILENAME=git2-%25LIBGIT2_HASH%25 -DCMAKE_OSX_ARCHITECTURES="x86_64" + cmake --build . --config Release --target install + popd +) -mkdir x86 -pushd x86 -cmake ../.. "-DCMAKE_INSTALL_PREFIX=%25cd%25" "-DBIN_INSTALL_DIR=$(SolutionDir)src\updater\costura32" -DCMAKE_BUILD_TYPE=Release -DBUILD_CLAR:BOOL=OFF -AWin32 -DUSE_SSH=OFF -DENABLE_TRACE=ON -DLIBGIT2_FILENAME=git2-%25LIBGIT2_HASH%25 -DCMAKE_OSX_ARCHITECTURES="i386" -cmake --build . --config Release --target install -popd +if not exist "$(SolutionDir)src\updater\costura32\git2-%25LIBGIT2_HASH%25.dll" ( + rmdir /q /s x86 + mkdir x86 + pushd x86 + cmake ../.. "-DCMAKE_INSTALL_PREFIX=%25cd%25" "-DBIN_INSTALL_DIR=$(SolutionDir)src\updater\costura32" -DCMAKE_BUILD_TYPE=Release -DBUILD_CLAR:BOOL=OFF -AWin32 -DUSE_SSH=OFF -DENABLE_TRACE=ON -DLIBGIT2_FILENAME=git2-%25LIBGIT2_HASH%25 -DCMAKE_OSX_ARCHITECTURES="i386" + cmake --build . --config Release --target install + popd +) -popd - +popd cd "$(SolutionDir)deps\libgit2sharp\libgit2" -LIBGIT2_HASH=$( git rev-parse HEAD ) -echo $LIBGIT2_HASH > ../LibGit2Sharp/libgit2_hash.txt +LIBGIT2_HASH=$(cat ../LibGit2Sharp/libgit2_hash.txt) LIBGIT2_HASH=${LIBGIT2_HASH:0:7} -rm -rf "$(SolutionDir)src/updater/costura32"/git*.so "$(SolutionDir)src/updater/costura64"/git*.so Build - -mkdir -p Build/x64 Build/x86 +mkdir -p Build cd Build -cd x64 -cmake ../.. "-DCMAKE_INSTALL_PREFIX=%25cd%25" "-DBIN_INSTALL_DIR=$(SolutionDir)src\updater\costura64" -DCMAKE_BUILD_TYPE=Release -DBUILD_CLAR:BOOL=OFF -Ax64 -DUSE_SSH=OFF -DENABLE_TRACE=ON -DLIBGIT2_FILENAME=git2-%25LIBGIT2_HASH%25 -DCMAKE_OSX_ARCHITECTURES="x86_64" -cmake --build . --target install -cd .. +if [ ! -e "$(SolutionDir)src/updater/costura64"/git*.so ]; then + rm -rf x64 + mkdir -p x64 + cd x64 + cmake ../.. "-DCMAKE_INSTALL_PREFIX=%25cd%25" "-DBIN_INSTALL_DIR=$(SolutionDir)src\updater\costura64" -DCMAKE_BUILD_TYPE=Release -DBUILD_CLAR:BOOL=OFF -Ax64 -DUSE_SSH=OFF -DENABLE_TRACE=ON -DLIBGIT2_FILENAME=git2-%25LIBGIT2_HASH%25 -DCMAKE_OSX_ARCHITECTURES="x86_64" + cmake --build . --target install + cd .. +fi -cd x86 -cmake ../.. "-DCMAKE_INSTALL_PREFIX=%25cd%25" "-DBIN_INSTALL_DIR=$(SolutionDir)src\updater\costura32" -DCMAKE_BUILD_TYPE=Release -DBUILD_CLAR:BOOL=OFF -AWin32 -DUSE_SSH=OFF -DENABLE_TRACE=ON -DLIBGIT2_FILENAME=git2-%25LIBGIT2_HASH%25 -DCMAKE_OSX_ARCHITECTURES="i386" -cmake --build . --target install -cd .. +if [ ! -e "$(SolutionDir)src/updater/costura32"/git*.so ]; then + rm -rf x86 + mkdir -p x86 + cd x86 + cmake ../.. "-DCMAKE_INSTALL_PREFIX=%25cd%25" "-DBIN_INSTALL_DIR=$(SolutionDir)src\updater\costura32" -DCMAKE_BUILD_TYPE=Release -DBUILD_CLAR:BOOL=OFF -AWin32 -DUSE_SSH=OFF -DENABLE_TRACE=ON -DLIBGIT2_FILENAME=git2-%25LIBGIT2_HASH%25 -DCMAKE_OSX_ARCHITECTURES="i386" + cmake --build . --target install + cd .. +fi