[AppVeyor] Add support of vcpkg cache for CI

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
This commit is contained in:
Vitalii Koshura 2020-06-13 17:36:38 +02:00
parent b75e420dcc
commit bf55acc1cb
No known key found for this signature in database
GPG Key ID: CE0DB1726070A5A3
3 changed files with 11 additions and 5 deletions

View File

@ -90,8 +90,9 @@ environment:
APPVEYOR_CACHE_ENTRY_ZIP_ARGS: "-t7z -m0=lzma2 -mx=9 -ms=on"
cache:
- C:\projects\boinc_depends_win_vs2013 -> appveyor.yml, win_build\load_dependencies.bat
- C:\projects\boinc_depends_win_vs2010 -> appveyor.yml, win_build\load_dependencies.bat
- C:\projects\boinc_depends_win_vs2013 -> appveyor.yml, win_build\load_dependencies.bat
- C:\projects\boinc_depends_win_vs2019 -> appveyor.yml
before_build:
- if %TOOLCHAIN_VERSION%==10.0 call win_build\load_dependencies.bat %depends_zip_path% %depends_path% %platform% %configuration%
@ -108,6 +109,7 @@ build_script:
after_build:
- if %TOOLCHAIN_VERSION%==12.0 call deploy\prepare_deployment.bat
- if %TOOLCHAIN_VERSION%==12.0 call deploy\deploy_to_bintray.bat
- if %TOOLCHAIN_VERSION%==16.0 call xcopy 3rdParty\Windows\vcpkg\installed ..\boinc_depends_win_vs2019 /e /i /y
artifacts:
- path: deploy\win-apps\*.7z

View File

@ -6,6 +6,8 @@
<CUDA_INC_PATH Condition="'$(CUDA_INC_PATH)' == ''">$(VcpkgRootDir)\..\cuda\nvcc\include</CUDA_INC_PATH>
<CUDA_LIB_PATH Condition="'$(CUDA_LIB_PATH)' == ''">$(VcpkgRootDir)\..\cuda\nvcc\lib</CUDA_LIB_PATH>
<CudaNvccPath>$(CUDA_BIN_PATH)\nvcc.exe</CudaNvccPath>
<CudaRootDir Condition="'$(CudaRootDir)' == ''">$(CUDA_BIN_PATH)\..\..\</CudaRootDir>
<CudaRootDir Condition="'$(CudaRootDir)' == ''">$(CUDA_BIN_PATH)\..\..\</CudaRootDir>
<VcpkgTripletConfig Condition="'$(VcpkgTripletConfig)' == ''">default</VcpkgTripletConfig>
<VcpkgCacheDir Condition="'$(VcpkgCacheDir)' == ''">../../boinc_depends_win_vs2019</VcpkgCacheDir>
</PropertyGroup>
</Project>

View File

@ -15,7 +15,6 @@
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{D3E5B5B5-4FB1-4877-9B2C-6708B3D568F7}</ProjectGuid>
<RootNamespace>vcpkg3rdpartydependencies</RootNamespace>
<VcpkgTripletConfig Condition="'$(VcpkgTripletConfig)' == ''">default</VcpkgTripletConfig>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
@ -98,12 +97,15 @@
<DownloadFile SourceUrl="http://developer.download.nvidia.com/compute/cuda/10.2/Prod/network_installers/windows/x86_64/wddm2/cublas_dev.exe" DestinationFolder="$(TMP)" />
<Exec Command="$(TMP)\7z\7za x $(TMP)\cublas_dev.exe -onvcc -aoa" WorkingDirectory="$(CudaRootDir)" ConsoleToMSBuild="true"/>
</Target>
<Target Name="InstallVcpkg" BeforeTargets="Build3rdPartyLibraries" DependsOnTargets="CreateFolders" AfterTargets="DownloadCUDA">
<Target Name="InstallVcpkg" BeforeTargets="RestoreCache" DependsOnTargets="CreateFolders" AfterTargets="DownloadCUDA">
<Exec Command="git clone https://github.com/microsoft/vcpkg ." WorkingDirectory="$(VcpkgRootDir)" ConsoleToMSBuild="true" Condition="!Exists($(VcpkgExe))" />
<Exec Command="git pull" WorkingDirectory="$(VcpkgRootDir)" ConsoleToMSBuild="true" />
<Exec Command="bootstrap-vcpkg.bat" WorkingDirectory="$(VcpkgRootDir)" ConsoleToMSBuild="true" />
</Target>
<Target Name="Build3rdPartyLibraries" BeforeTargets="ClCompile" DependsOnTargets="InstallVcpkg" AfterTargets="InstallVcpkg">
<Target Name="RestoreCache" BeforeTargets="Build3rdPartyLibraries" DependsOnTargets="InstallVcpkg" AfterTargets="InstallVcpkg" Condition="Exists($(VcpkgCacheDir))">
<Exec Command="xcopy $(VcpkgCacheDir) $(VcpkgRootDir)\installed /e /i /y" />
</Target>
<Target Name="Build3rdPartyLibraries" BeforeTargets="ClCompile" DependsOnTargets="RestoreCache" AfterTargets="RestoreCache">
<Exec Command="vcpkg.exe install openssl curl[core,openssl] freetype[core,bzip2,png] ftgl wxwidgets sqlite3 opencl rappture --overlay-ports=../../vcpkg_ports/ports --overlay-triplets=../../vcpkg_ports/triplets/$(VcpkgTripletConfig) --triplet x64-windows-static" WorkingDirectory="$(VcpkgRootDir)" ConsoleToMSBuild="true" />
<Exec Command="vcpkg.exe upgrade --no-dry-run --overlay-ports=../../vcpkg_ports/ports --overlay-triplets=../../vcpkg_ports/triplets/$(VcpkgTripletConfig) --triplet x64-windows-static" WorkingDirectory="$(VcpkgRootDir)" ConsoleToMSBuild="true" />
</Target>