Save time by only recompiling libgit when needed. Still needs manual removal of old builds to save on space.
parent
ed8f713b77
commit
13128e3549
|
@ -143,54 +143,59 @@ foreach (var item in filesToCleanup)
|
||||||
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
|
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
|
||||||
<PreBuildEvent>pushd "$(SolutionDir)deps\libgit2sharp\libgit2"
|
<PreBuildEvent>pushd "$(SolutionDir)deps\libgit2sharp\libgit2"
|
||||||
|
|
||||||
git rev-parse HEAD > ..\LibGit2Sharp\libgit2_hash.txt
|
|
||||||
set /p LIBGIT2_HASH=< ..\LibGit2Sharp\libgit2_hash.txt
|
set /p LIBGIT2_HASH=< ..\LibGit2Sharp\libgit2_hash.txt
|
||||||
set LIBGIT2_HASH=%25LIBGIT2_HASH:~0,7%25
|
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
|
mkdir Build
|
||||||
pushd Build
|
pushd Build
|
||||||
|
|
||||||
mkdir x64
|
if not exist "$(SolutionDir)src\updater\costura64\git2-%25LIBGIT2_HASH%25.dll" (
|
||||||
pushd x64
|
rmdir /q /s 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"
|
mkdir x64
|
||||||
cmake --build . --config Release --target install
|
pushd x64
|
||||||
popd
|
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
|
if not exist "$(SolutionDir)src\updater\costura32\git2-%25LIBGIT2_HASH%25.dll" (
|
||||||
pushd x86
|
rmdir /q /s 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"
|
mkdir x86
|
||||||
cmake --build . --config Release --target install
|
pushd x86
|
||||||
popd
|
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</PreBuildEvent>
|
||||||
</PreBuildEvent>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
|
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
|
||||||
<PreBuildEvent>cd "$(SolutionDir)deps\libgit2sharp\libgit2"
|
<PreBuildEvent>cd "$(SolutionDir)deps\libgit2sharp\libgit2"
|
||||||
|
|
||||||
LIBGIT2_HASH=$( git rev-parse HEAD )
|
LIBGIT2_HASH=$(cat ../LibGit2Sharp/libgit2_hash.txt)
|
||||||
echo $LIBGIT2_HASH > ../LibGit2Sharp/libgit2_hash.txt
|
|
||||||
LIBGIT2_HASH=${LIBGIT2_HASH:0:7}
|
LIBGIT2_HASH=${LIBGIT2_HASH:0:7}
|
||||||
|
|
||||||
rm -rf "$(SolutionDir)src/updater/costura32"/git*.so "$(SolutionDir)src/updater/costura64"/git*.so Build
|
mkdir -p Build
|
||||||
|
|
||||||
mkdir -p Build/x64 Build/x86
|
|
||||||
|
|
||||||
cd Build
|
cd Build
|
||||||
|
|
||||||
cd x64
|
if [ ! -e "$(SolutionDir)src/updater/costura64"/git*.so ]; then
|
||||||
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"
|
rm -rf x64
|
||||||
cmake --build . --target install
|
mkdir -p x64
|
||||||
cd ..
|
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
|
if [ ! -e "$(SolutionDir)src/updater/costura32"/git*.so ]; then
|
||||||
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"
|
rm -rf x86
|
||||||
cmake --build . --target install
|
mkdir -p x86
|
||||||
cd ..
|
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
|
||||||
</PreBuildEvent>
|
</PreBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<!-- TODO: Post-build event for Mono (linux binaries for git2) -->
|
<!-- TODO: Post-build event for Mono (linux binaries for git2) -->
|
||||||
|
|
Loading…
Reference in New Issue