aboutsummaryrefslogtreecommitdiffstats
path: root/.ci/templates/steps-build-uhd-msbuild.yml
blob: 1e030e115baca3d62e3f793622d5f08912413fe6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
parameters:
- name: uhdSrcDir
  type: string
- name: uhdBuildDir
  type: string
- name: uhdImageDir
  type: string
- name: uhdReleaseBinaries
- name: cmakeCompiler
  type: string
- name: cmakeArch
  type: string
- name: vsArch
  type: string
- name: vsYear
  type: string

steps:
- script: |
    mkdir ${{ parameters.uhdBuildDir }}
    cd ${{ parameters.uhdBuildDir }}
    cmake ${{ parameters.uhdSrcDir }}/host ^
      -DVCPKG_TARGET_TRIPLET=uhd-$(vsArch)-windows-static-md ^
      -DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALL_DIR%/scripts/buildsystems/vcpkg.cmake
    mkdir ${{ parameters.uhdImageDir }}
    python ${{ parameters.uhdBuildDir }}/utils/uhd_images_downloader.py -i ${{ parameters.uhdImageDir }}
  displayName: Download uhd-images
  timeoutInMinutes: 30

- script: |
    cd $(Pipeline.Workspace)
    rmdir ${{ parameters.uhdBuildDir }} /s /q
  displayName: Clean build directory

- script: |
    mkdir ${{ parameters.uhdBuildDir }}
    cd ${{ parameters.uhdBuildDir }}
    if "${{ parameters.uhdReleaseBinaries }}" == "True" (
      echo "Setting Release Mode"
      SET UHD_CI_CMAKE_OPTIONS="-DUHD_RELEASE_MODE=release %UHD_CI_CMAKE_OPTIONS%"
    )
    cmake ${{ parameters.uhdSrcDir }}/host ^
      -DVCPKG_TARGET_TRIPLET=uhd-$(vsArch)-windows-static-md ^
      -DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALL_DIR%/scripts/buildsystems/vcpkg.cmake ^
      -DUHD_IMAGES_SRC_DIR="${{ parameters.uhdImageDir }}" ^
      -DUHD_IMAGES_DIR="C:\\Program Files (x86)\\UHD\\share\\uhd\\images,C:\\Program Files\\UHD\\share\\uhd\\images" ^
      -DSPECIFY_MSVC_VERSION=ON ^
      -DENABLE_DOXYGEN_SHORTNAMES=ON ^
      %UHD_CI_CMAKE_OPTIONS% ^
      -G "$(cmakeCompiler)" -A $(cmakeArch)
  displayName: cmake msbuild UHD

- script: |
    cd ${{ parameters.uhdBuildDir }}
    call "C:\Program Files (x86)\Microsoft Visual Studio\$(vsYear)\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" $(vsArch)
    msbuild.exe ALL_BUILD.vcxproj /p:configuration=release
  displayName: msbuild UHD

- script: |
    cd ${{ parameters.uhdBuildDir }}
    ctest --no-compress-output --output-on-failure -T test
  continueOnError: true
  displayName: ctest msbuild UHD