[go: up one dir, main page]

File: appveyor_oldcomp.yml

package info (click to toggle)
coin3 4.0.3%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 54,428 kB
  • sloc: cpp: 256,086; ansic: 21,309; makefile: 8,661; sh: 3,141; perl: 1,504; lex: 1,372; lisp: 1,247; pascal: 961; xml: 604; yacc: 387; sed: 68
file content (217 lines) | stat: -rw-r--r-- 8,731 bytes parent folder | download | duplicates (2)
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
version: 4.0.3-{branch}-ci-{build}

branches:
  only:
  - master
  - /v\d*\.\d*\.\d*/

# do not build feature branches with open pull requests
skip_branch_with_pr: true

#shallow clone does not work when submodules are involved!
#shallow_clone: true

matrix:
  fast_finish: true # set this flag to immediately finish build once one of the jobs fails.

environment:
  SUPERGLU_VERSION: 1.3.2
  GH_AUTH_TOKEN:
    secure: 850frgRGZcc4Cljd2P7Ej68no4/kkl4EMB+DjnX725wcKBRJuFk/kGRdJGyKXd2u
  matrix:
#    - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu
#      CMAKE_GENERATOR: 'Unix Makefiles'
#      CMAKE_PLATFORM: x86
#      CMAKE_ARCH_FLAGS: -m32
#      COMPILER_ID: gcc
#
#    - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu
#      CMAKE_GENERATOR: 'Unix Makefiles'
#      CMAKE_PLATFORM: x64
#      CMAKE_ARCH_FLAGS: -m64
#      COMPILER_ID: gcc
#
# older compilers are supported in a separate appveyor project

    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      BOOST_VERSION: 1_69_0
      CMAKE_GENERATOR: 'Visual Studio 10 2010'
      CMAKE_ARCHITECTURE: Win32
      CMAKE_PLATFORM: x86
      COMPILER_ID: msvc10

    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      BOOST_VERSION: 1_69_0
      CMAKE_GENERATOR: 'Visual Studio 10 2010'
      CMAKE_ARCHITECTURE: x64
      CMAKE_PLATFORM: x64
      COMPILER_ID: msvc10

    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      BOOST_VERSION: 1_69_0
      CMAKE_GENERATOR: 'Visual Studio 14 2015'
      CMAKE_ARCHITECTURE: Win32
      CMAKE_PLATFORM: x86
      COMPILER_ID: msvc14

    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      BOOST_VERSION: 1_69_0
      CMAKE_GENERATOR: 'Visual Studio 14 2015'
      CMAKE_ARCHITECTURE: x64
      CMAKE_PLATFORM: x64
      COMPILER_ID: msvc14

    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      BOOST_VERSION: 1_69_0
      CMAKE_GENERATOR: 'Visual Studio 15 2017'
      CMAKE_ARCHITECTURE: Win32
      CMAKE_PLATFORM: x86
      COMPILER_ID: msvc15

    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      BOOST_VERSION: 1_69_0
      CMAKE_GENERATOR: 'Visual Studio 15 2017'
      CMAKE_ARCHITECTURE: x64
      CMAKE_PLATFORM: x64
      COMPILER_ID: msvc15

# newer compilers are supported in a separate appveyor project
#
#    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
#      BOOST_VERSION: 1_71_0
#      CMAKE_GENERATOR: 'Visual Studio 16 2019'
#      CMAKE_ARCHITECTURE: Win32
#      CMAKE_PLATFORM: x86
#      COMPILER_ID: msvc16
#
#    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
#      BOOST_VERSION: 1_71_0
#      CMAKE_GENERATOR: 'Visual Studio 16 2019'
#      CMAKE_ARCHITECTURE: x64
#      CMAKE_PLATFORM: x64
#      COMPILER_ID: msvc16
#
#    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
#      BOOST_VERSION: 1_77_0
#      CMAKE_GENERATOR: 'Visual Studio 17 2022'
#      CMAKE_ARCHITECTURE: Win32
#      CMAKE_PLATFORM: x86
#      COMPILER_ID: msvc17
#
#    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
#      BOOST_VERSION: 1_77_0
#      CMAKE_GENERATOR: 'Visual Studio 17 2022'
#      CMAKE_ARCHITECTURE: x64
#      CMAKE_PLATFORM: x64
#      COMPILER_ID: msvc17
#
#    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
#      MINGW_ARCH: i686
#      CMAKE_GENERATOR: 'MSYS Makefiles'
#      COMPILER_ID: mingw32
#
#    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
#      MINGW_ARCH: x86_64
#      CMAKE_GENERATOR: 'MSYS Makefiles'
#      COMPILER_ID: mingw64

install:
  - cmd: |
      choco install jq
      rem Work around for outdated curl version giving problems with GitHub Authentication when redirected.
      set PATH=C:\msys64\%COMPILER_ID%\bin;C:\msys64\usr\bin;%PATH%
      curl --version
      cd %APPVEYOR_BUILD_FOLDER%
  - git submodule update --init --recursive

# Assumes that we use the vx.y.z tagging scheme (e.g. v1.3.0)
before_build:
  - cmd: |
      if defined APPVEYOR_REPO_TAG_NAME (set CI_REPO_VERSION=%APPVEYOR_REPO_TAG_NAME:~1%) else (set CI_REPO_VERSION=latest)
      set BUILD_SOURCE_ARCHIVE=%APPVEYOR_PROJECT_NAME%-%CI_REPO_VERSION%-src.zip
      7z a -xr!*\.git/ -tzip %BUILD_SOURCE_ARCHIVE% %APPVEYOR_BUILD_FOLDER%
      C:\msys64\usr\bin\md5sum.exe -b %BUILD_SOURCE_ARCHIVE% > %BUILD_SOURCE_ARCHIVE%.md5
      C:\msys64\usr\bin\sha256sum.exe -b %BUILD_SOURCE_ARCHIVE% > %BUILD_SOURCE_ARCHIVE%.sha256
      mkdir %APPVEYOR_BUILD_FOLDER%\downloads
      rem ##############
      if defined APPVEYOR_REPO_TAG_NAME (set SUPERGLU_REPO_VERSION=%SUPERGLU_VERSION%) else (set SUPERGLU_REPO_VERSION=latest)
      if defined APPVEYOR_REPO_TAG_NAME (set SUPERGLU_REPO_TAG_NAME=v%SUPERGLU_VERSION%) else (set SUPERGLU_REPO_TAG_NAME=CI-builds)
      set DOWNLOAD_FILE_SUPERGLU=superglu-%SUPERGLU_REPO_VERSION%-%COMPILER_ID%-%CMAKE_PLATFORM%.zip
      for /f %%i in ('curl -s -H "Authorization: token %GH_AUTH_TOKEN%" https://api.github.com/repos/coin3d/superglu/releases ^| jq -r --arg SUPERGLU_REPO_TAG_NAME "%SUPERGLU_REPO_TAG_NAME%" ".[] | select(.tag_name==$SUPERGLU_REPO_TAG_NAME) | .id"') do set RELEASE_ID=%%i
      for /f %%i in ('curl -s -H "Authorization: token %GH_AUTH_TOKEN%" https://api.github.com/repos/coin3d/superglu/releases/%RELEASE_ID% ^| jq -r --arg DOWNLOAD_FILE_SUPERGLU "%DOWNLOAD_FILE_SUPERGLU%" ".assets[] | select(.name==$DOWNLOAD_FILE_SUPERGLU) | .id"') do set ASSET_ID=%%i
      set DOWNLOAD_ADDRESS_SUPERGLU=https://api.github.com/repos/coin3d/superglu/releases/assets/%ASSET_ID%
      echo download file %DOWNLOAD_FILE_SUPERGLU% from address %DOWNLOAD_ADDRESS_SUPERGLU%
      curl -s -S -L -H "Authorization: token %GH_AUTH_TOKEN%" -H "Accept: application/octet-stream" -o %DOWNLOAD_FILE_SUPERGLU% %DOWNLOAD_ADDRESS_SUPERGLU%
      7z x %DOWNLOAD_FILE_SUPERGLU% -o%APPVEYOR_BUILD_FOLDER%\downloads
      rem ##############
      cmake -H. -Bbuild -G "%CMAKE_GENERATOR%" -A %CMAKE_ARCHITECTURE% -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%\Coin3D -DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%\downloads\Coin3D -DBOOST_ROOT=C:\Libraries\boost_%BOOST_VERSION% -DUSE_SUPERGLU=ON

build_script:
  - cmd: |
      set BUILD_TOOL_OPTIONS=/nologo /verbosity:minimal /maxcpucount /property:MultiProcessorCompilation=true;CL_MPCount=3
      cmake --build build --target INSTALL --config Debug   -- %BUILD_TOOL_OPTIONS%
      cmake --build build --target INSTALL --config Release -- %BUILD_TOOL_OPTIONS%

after_build:
  - cmd: |
      cd %APPVEYOR_BUILD_FOLDER%
      if defined APPVEYOR_REPO_TAG_NAME (set CI_REPO_VERSION=%APPVEYOR_REPO_TAG_NAME:~1%) else (set CI_REPO_VERSION=latest)
      set BUILD_ARCHIVE=%APPVEYOR_PROJECT_NAME%-%CI_REPO_VERSION%-%COMPILER_ID%-%CMAKE_PLATFORM%.zip
      7z a -tzip %BUILD_ARCHIVE% Coin3D
      C:\msys64\usr\bin\md5sum.exe -b %BUILD_ARCHIVE% > %BUILD_ARCHIVE%.md5
      C:\msys64\usr\bin\sha256sum.exe -b %BUILD_ARCHIVE% > %BUILD_ARCHIVE%.sha256
      appveyor DownloadFile https://ci.appveyor.com/api/buildjobs/%APPVEYOR_JOB_ID%/log -FileName %APPVEYOR_PROJECT_NAME%-%CI_REPO_VERSION%-%COMPILER_ID%-%CMAKE_PLATFORM%.log

artifacts:
  - path: $(APPVEYOR_PROJECT_NAME)*.zip
    name: CIArchives
  - path: $(APPVEYOR_PROJECT_NAME)*.tar.gz
    name: CIArchivesTGZ
  - path: $(APPVEYOR_PROJECT_NAME)*.log
    name: logs
  - path: $(APPVEYOR_PROJECT_NAME)*.md5
    name: CImd5
  - path: $(APPVEYOR_PROJECT_NAME)*.sha256
    name: CIsha256

test_script:
  - cmd: |
      cd build
      ctest -C Release -VV

notifications:
  - provider: Email
    to:
      - '{{commitAuthorEmail}}'
      - coin-support@coin3d.org
    on_build_success: false
    on_build_failure: true
    on_build_status_changed: true

deploy:
  # Deploy to GitHub Releases
  - provider: GitHub
    auth_token:
      secure: 850frgRGZcc4Cljd2P7Ej68no4/kkl4EMB+DjnX725wcKBRJuFk/kGRdJGyKXd2u # your encrypted token from GitHub
    artifact: CIArchives, CIArchivesTGZ, CImd5, CIsha256, logs
    tag: 'CI builds'
    description: 'Results of CI builds for various platforms'
    draft: false
    prerelease: true
    force_update: true
    on:
      APPVEYOR_REPO_TAG: false      # deploy on untagged builds only
#      branch: master                # release from master branch only

  # Deploy to GitHub Releases
  - provider: GitHub
    auth_token:
      secure: 850frgRGZcc4Cljd2P7Ej68no4/kkl4EMB+DjnX725wcKBRJuFk/kGRdJGyKXd2u # your encrypted token from GitHub
    artifact: CIArchives, CIArchivesTGZ, CImd5, CIsha256
    tag: $(APPVEYOR_REPO_TAG_NAME)
    description: 'Release build'
    draft: true
    prerelease: true
    force_update: true
    on:
      APPVEYOR_REPO_TAG: true       # deploy on tag push only