2017-12-14 18:59:50 +00:00
|
|
|
|
2020-12-29 18:35:04 +00:00
|
|
|
variables:
|
|
|
|
toolset: 'v142'
|
|
|
|
generator: 'Visual Studio 16 2019'
|
|
|
|
VCPKG_DIR: 'C:\vcpkg'
|
2017-12-14 18:59:50 +00:00
|
|
|
|
2020-12-29 18:35:04 +00:00
|
|
|
jobs:
|
|
|
|
- job: vcpkg
|
|
|
|
workspace:
|
|
|
|
clean: all
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
ARM:
|
|
|
|
platform: 'ARM'
|
|
|
|
cmake_platform: 'ARM'
|
|
|
|
configuration: 'Release'
|
|
|
|
x86:
|
|
|
|
platform: 'x86'
|
|
|
|
cmake_platform: 'Win32'
|
|
|
|
configuration: 'Release'
|
|
|
|
x64:
|
|
|
|
platform: 'x64'
|
|
|
|
cmake_platform: 'x64'
|
|
|
|
configuration: 'Release'
|
|
|
|
pool:
|
|
|
|
vmImage: 'windows-2019'
|
|
|
|
steps:
|
|
|
|
- script: |
|
|
|
|
@ECHO ON
|
|
|
|
echo $(generator)
|
|
|
|
echo $(toolset)
|
|
|
|
choco upgrade ninja -y
|
|
|
|
ninja --version
|
|
|
|
cmake --version
|
|
|
|
REM manually update vcpkg
|
|
|
|
REM cd "$(VCPKG_DIR)" || exit -1
|
|
|
|
REM git pull || exit -1
|
|
|
|
REM .\bootstrap-vcpkg.bat || exit -1
|
|
|
|
REM cd $(Build.SourcesDirectory)
|
|
|
|
where vcpkg.exe
|
|
|
|
vcpkg install --only-downloads glib:$(platform)-windows
|
|
|
|
displayName: 'Prerequisites'
|
|
|
|
- task: Cache@2
|
|
|
|
displayName: "Cache vcpkg's packages"
|
|
|
|
inputs:
|
|
|
|
key: $(VCPKG_DIR)\downloads\glib* | "$(platform)"
|
|
|
|
path: "$(VCPKG_DIR)"
|
|
|
|
cacheHitVar: CACHE_RESTORED
|
|
|
|
- script: |
|
|
|
|
@ECHO ON
|
|
|
|
vcpkg install glib:$(platform)-windows
|
|
|
|
displayName: 'vcpkg build glib'
|
|
|
|
condition: ne(variables.CACHE_RESTORED, 'true')
|
|
|
|
- script: |
|
|
|
|
@ECHO ON
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake -Werror=dev -G "$(generator)" -A "$(cmake_platform)" -T "$(toolset)" -Denable-pkgconfig=0 -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_INSTALL_PREFIX=$(Build.ArtifactStagingDirectory) -DCMAKE_VERBOSE_MAKEFILE=1 -DNO_GUI=1 .. || exit -1
|
|
|
|
REM build libfluidsynth and fluidsynth exec
|
|
|
|
cmake --build . --config $(configuration) || exit -1
|
|
|
|
displayName: 'Compile fluidsynth'
|
|
|
|
- script: |
|
|
|
|
@ECHO ON
|
|
|
|
REM build and exec unittests, unless when cross-compiling
|
|
|
|
if not "%platform%"=="ARM" ( cmake --build build --config $(configuration) --target check )
|
|
|
|
displayName: 'Execute Unittests'
|
|
|
|
- script: |
|
|
|
|
@ECHO ON
|
|
|
|
cd build
|
|
|
|
cmake --build . --config $(configuration) --target install || exit -1
|
|
|
|
REM del $(Build.ArtifactStagingDirectory)\bin\concrt*.dll
|
|
|
|
REM del $(Build.ArtifactStagingDirectory)\bin\vcruntime*.dll
|
|
|
|
REM del $(Build.ArtifactStagingDirectory)\bin\msvcp*.dll
|
|
|
|
REM del $(Build.ArtifactStagingDirectory)\lib\instpatch*.lib
|
|
|
|
REM del $(Build.ArtifactStagingDirectory)\lib\pkgconfig\libinstpatch*.pc
|
|
|
|
REM rd $(Build.ArtifactStagingDirectory)\include\libinstpatch-2 /s /q
|
|
|
|
displayName: 'Copy Artifacts'
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
inputs:
|
|
|
|
pathtoPublish: $(Build.ArtifactStagingDirectory)
|
|
|
|
artifactName: fluidsynth-vcpkg-$(platform)
|