1515 WIN_BOOST_DIR : " C:/local/boost_1_87_0"
1616
1717jobs :
18- build_gcc_ubuntu_22_04 :
19- runs-on : ubuntu-22.04
20- strategy :
21- fail-fast : false
22- matrix :
23- type : [Debug, Release, MinSizeRel]
24- cc_ver : [9, 10, 11, 12]
25- cpp : [11, 14, 17, 20]
26- qt_ver : [5, 6]
27-
28- steps :
29- - uses : actions/checkout@v4
30-
31- - name : Prepare Install
32- run : sudo apt-get update --fix-missing
33-
34- - name : Install Packages
35- run : |
36- sudo apt install libqt${{matrix.qt_ver}}gui${{matrix.qt_ver}} qtbase5-dev qt6-base-dev libboost-all-dev libxml2-dev gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}} \
37- python3 libpython3-dev swig default-jdk default-jre emscripten
38-
39- - name : Create Build Environment
40- run : cmake -E make_directory ${{runner.workspace}}/build
41-
42- - name : Prepare externals
43- shell : bash
44- run : $GITHUB_WORKSPACE/script/prepare_externals.sh
45- env :
46- BUILD_DIR : ${{runner.workspace}}/build
47- CC : gcc-${{matrix.cc_ver}}
48- CXX : g++-${{matrix.cc_ver}}
49- EXTERNALS_DIR : ${{runner.workspace}}/externals
50- COMMON_INSTALL_DIR : ${{runner.workspace}}/build/install
51- COMMON_BUILD_TYPE : ${{matrix.type}}
52- COMMON_CXX_STANDARD : ${{matrix.cpp}}
53- COMMS_TAG : ${{env.COMMS_TAG}}
54- COMMSDSL_TAG : ${{env.COMMSDSL_TAG}}
55- CC_TOOLS_QT_TAG : ${{env.CC_TOOLS_QT_TAG}}
56- CC_TOOLS_QT_MAJOR_QT_VERSION : ${{matrix.qt_ver}}
57-
58- - name : Configure CMake
59- shell : bash
60- working-directory : ${{runner.workspace}}/build
61- run : |
62- cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
63- -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
64- -DUBLOX_GEN_PROTOCOL=ON -DUBLOX_GEN_TEST=ON -DUBLOX_GEN_TOOLS=ON -DUBLOX_BUILD_TOOLS=${{env.BUILD_TOOLS}} \
65- -DUBLOX_GEN_SWIG=ON -DUBLOX_GEN_EMSCRIPTEN=ON -DUBLOX_BUILD_EXAMPLES=ON -DUBLOX_TOOLS_QT_VER=${{matrix.qt_ver}} \
66- -DUBLOX_SCHEMA_FILES_LIST_FILE=$GITHUB_WORKSPACE/basic_msgs.txt
67- env :
68- CC : gcc-${{matrix.cc_ver}}
69- CXX : g++-${{matrix.cc_ver}}
70- BUILD_TOOLS : " ${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}"
71-
72- - name : Build Target
73- working-directory : ${{runner.workspace}}/build
74- shell : bash
75- run : cmake --build . --config ${{matrix.type}} --target install
76- env :
77- VERBOSE : 1
78-
7918 build_gcc_ubuntu_24_04 :
8019 runs-on : ubuntu-24.04
8120 strategy :
8221 fail-fast : false
8322 matrix :
8423 type : [Debug, Release, MinSizeRel]
85- cc_ver : [13, 14]
24+ cc_ver : [9, 10, 11, 12, 13, 14]
8625 cpp : [11, 14, 17, 20, 23]
8726 qt_ver : [5, 6]
8827 exclude :
28+ - cc_ver : 9
29+ cpp : 23
30+ - cc_ver : 10
31+ cpp : 23
32+ - cc_ver : 11
33+ cpp : 23
34+ - cc_ver : 12
35+ cpp : 23
8936 - cc_ver : 13
9037 cpp : 23
9138
9845 - name : Install Packages
9946 run : |
10047 sudo apt install libqt${{matrix.qt_ver}}gui${{matrix.qt_ver}} qtbase5-dev qt6-base-dev libboost-all-dev libxml2-dev gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}} \
101- python3 libpython3-dev swig default-jdk default-jre emscripten
48+ python3 libpython3-dev swig default-jdk default-jre emscripten \
49+ texlive-base texlive-latex-base texlive-latex-recommended texlive-plain-generic tex4ht
10250
10351 - name : Create Build Environment
10452 run : cmake -E make_directory ${{runner.workspace}}/build
@@ -126,12 +74,14 @@ jobs:
12674 cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
12775 -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
12876 -DUBLOX_GEN_PROTOCOL=ON -DUBLOX_GEN_TEST=ON -DUBLOX_GEN_TOOLS=ON -DUBLOX_BUILD_TOOLS=${{env.BUILD_TOOLS}} \
129- -DUBLOX_GEN_SWIG=ON -DUBLOX_GEN_EMSCRIPTEN=ON -DUBLOX_BUILD_EXAMPLES=ON -DUBLOX_TOOLS_QT_VER=${{matrix.qt_ver}} \
77+ -DUBLOX_GEN_SWIG=ON -DUBLOX_GEN_EMSCRIPTEN=ON -DUBLOX_GEN_C=ON -DUBLOX_GEN_LATEX=ON -DUBLOX_BUILD_LATEX=${{env.BUILD_LATEX}} \
78+ -DUBLOX_BUILD_EXAMPLES=ON -DUBLOX_TOOLS_QT_VER=${{matrix.qt_ver}} \
13079 -DUBLOX_SCHEMA_FILES_LIST_FILE=$GITHUB_WORKSPACE/basic_msgs.txt
13180 env :
13281 CC : gcc-${{matrix.cc_ver}}
13382 CXX : g++-${{matrix.cc_ver}}
13483 BUILD_TOOLS : " ${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}"
84+ BUILD_LATEX : " ${{ matrix.type == 'Debug' && matrix.cpp == 17 && matrix.cc_ver == 14 && matrix.qt_ver == 5 && 'ON' || 'OFF' }}"
13585
13686 - name : Build Target
13787 working-directory : ${{runner.workspace}}/build
14696 fail-fast : false
14797 matrix :
14898 type : [Debug, Release, MinSizeRel]
149- cc_ver : [12, 13, 14, 15 ]
150- cpp : [11, 14, 17, 20 ]
99+ cc_ver : [12, 13]
100+ cpp : [11, 14, 17]
151101 qt_ver : [5, 6]
152102
153103 steps :
@@ -188,7 +138,8 @@ jobs:
188138 cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
189139 -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
190140 -DUBLOX_GEN_PROTOCOL=ON -DUBLOX_GEN_TEST=ON -DUBLOX_GEN_TOOLS=ON -DUBLOX_BUILD_TOOLS=${{env.BUILD_TOOLS}} \
191- -DUBLOX_GEN_SWIG=ON -DUBLOX_GEN_EMSCRIPTEN=ON -DUBLOX_BUILD_EXAMPLES=ON -DUBLOX_TOOLS_QT_VER=${{matrix.qt_ver}} \
141+ -DUBLOX_GEN_SWIG=ON -DUBLOX_GEN_EMSCRIPTEN=ON -DUBLOX_GEN_C=ON -DUBLOX_GEN_LATEX=ON -DUBLOX_BUILD_LATEX=OFF \
142+ -DUBLOX_BUILD_EXAMPLES=ON -DUBLOX_TOOLS_QT_VER=${{matrix.qt_ver}} \
192143 -DUBLOX_SCHEMA_FILES_LIST_FILE=$GITHUB_WORKSPACE/basic_msgs.txt
193144 env :
194145 CC : clang-${{matrix.cc_ver}}
@@ -208,10 +159,18 @@ jobs:
208159 fail-fast : false
209160 matrix :
210161 type : [Debug, Release, MinSizeRel]
211- cc_ver : [16, 17, 18]
162+ cc_ver : [14, 15, 16, 17, 18]
212163 cpp : [11, 14, 17, 20, 23]
213164 qt_ver : [5, 6]
214165 exclude :
166+ - cc_ver : 14
167+ cpp : 20
168+ - cc_ver : 14
169+ cpp : 23
170+ - cc_ver : 15
171+ cpp : 20
172+ - cc_ver : 15
173+ cpp : 23
215174 - cc_ver : 16
216175 cpp : 23
217176 - cc_ver : 17
@@ -255,7 +214,8 @@ jobs:
255214 cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
256215 -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
257216 -DUBLOX_GEN_PROTOCOL=ON -DUBLOX_GEN_TEST=ON -DUBLOX_GEN_TOOLS=ON -DUBLOX_BUILD_TOOLS=${{env.BUILD_TOOLS}} \
258- -DUBLOX_GEN_SWIG=ON -DUBLOX_GEN_EMSCRIPTEN=ON -DUBLOX_BUILD_EXAMPLES=ON -DUBLOX_TOOLS_QT_VER=${{matrix.qt_ver}} \
217+ -DUBLOX_GEN_SWIG=ON -DUBLOX_GEN_EMSCRIPTEN=ON -DUBLOX_GEN_C=ON -DUBLOX_GEN_LATEX=ON -DUBLOX_BUILD_LATEX=OFF \
218+ -DUBLOX_BUILD_EXAMPLES=ON -DUBLOX_TOOLS_QT_VER=${{matrix.qt_ver}} \
259219 -DUBLOX_SCHEMA_FILES_LIST_FILE=$GITHUB_WORKSPACE/basic_msgs.txt
260220 env :
261221 CC : clang-${{matrix.cc_ver}}
@@ -269,14 +229,14 @@ jobs:
269229 env :
270230 VERBOSE : 1
271231
272- build_msvc_2019 :
273- runs-on : windows-2019
232+ build_msvc_2022 :
233+ runs-on : windows-2022
274234 strategy :
275235 fail-fast : false
276236 matrix :
277237 type : [Debug, Release]
278238 arch : [Win32, x64]
279- cpp : [11, 14, 17]
239+ cpp : [11, 14, 17, 20 ]
280240 qt_ver : [5, 6]
281241 exclude :
282242 - arch : Win32
@@ -304,8 +264,8 @@ jobs:
304264 if : matrix.arch == 'x64'
305265 shell : cmd
306266 run : |
307- choco install boost-msvc-14.2 --version=${{env.WIN_BOOST_VERSION}}
308- echo BOOST_DIR=${{env.WIN_BOOST_DIR}}/lib64-msvc-14.2 /cmake >>%GITHUB_ENV%
267+ choco install boost-msvc-14.3 --version=${{env.WIN_BOOST_VERSION}}
268+ echo BOOST_DIR=${{env.WIN_BOOST_DIR}}/lib64-msvc-14.3 /cmake >>%GITHUB_ENV%
309269
310270 - name : Prepare externals
311271 shell : cmd
@@ -334,6 +294,7 @@ jobs:
334294 -DCMAKE_POLICY_DEFAULT_CMP0167=NEW ^
335295 -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DUBLOX_TOOLS_QT_VER=${{matrix.qt_ver}} ^
336296 -DUBLOX_GEN_PROTOCOL=ON -DUBLOX_GEN_TEST=ON -DUBLOX_GEN_TOOLS=ON -DUBLOX_BUILD_TOOLS=${{env.BUILD_TOOLS}} ^
297+ -DUBLOX_GEN_C=ON -DUBLOX_GEN_LATEX=ON -DUBLOX_BUILD_LATEX=OFF ^
337298 -DUBLOX_BUILD_EXAMPLES=${{env.HAS_BOOST}} ^
338299 -DUBLOX_SCHEMA_FILES_LIST_FILE=%GITHUB_WORKSPACE%/basic_msgs.txt
339300 env :
@@ -347,21 +308,37 @@ jobs:
347308 env :
348309 VERBOSE : 1
349310
350- build_msvc_2022 :
351- runs-on : windows-2022
311+ build_msvc_2025 :
312+ runs-on : windows-2025
352313 strategy :
353314 fail-fast : false
354315 matrix :
355316 type : [Debug, Release]
356317 arch : [Win32, x64]
357- cpp : [11, 14, 17, 20]
318+ cpp : [11, 14, 17, 20, 23]
319+ qt_ver : [5, 6]
320+ exclude :
321+ - arch : Win32
322+ qt_ver : 6
358323
359324 steps :
360325 - uses : actions/checkout@v4
361326
362327 - name : Create Build Environment
363328 run : cmake -E make_directory ${{runner.workspace}}/build
364329
330+ - name : Install Qt
331+ if : ${{matrix.cpp >= 17 && matrix.arch == 'x64'}}
332+ shell : cmd
333+ run : |
334+ choco install curl
335+ curl -L https://github.com/martinrotter/qt-minimalistic-builds/releases/download/${{env.QT_VER}}/qt-${{env.QT_VER}}-dynamic-msvc2019-x86_64.7z -o ${{runner.workspace}}/qt.7z
336+ 7z x ${{runner.workspace}}/qt.7z -o${{runner.workspace}}/qt
337+ echo QT_VER=${{env.QT_VER}} >>%GITHUB_ENV%
338+ echo QTDIR=${{runner.workspace}}/qt/qt-${{env.QT_VER}}-dynamic-msvc2019-x86_64 >>%GITHUB_ENV%
339+ env :
340+ QT_VER : ${{matrix.qt_ver == '5' && '5.15.3' || '6.2.2'}}
341+
365342 - name : Install Boost
366343 if : matrix.arch == 'x64'
367344 shell : cmd
@@ -383,20 +360,25 @@ jobs:
383360 COMMS_TAG : ${{env.COMMS_TAG}}
384361 COMMSDSL_TAG : ${{env.COMMSDSL_TAG}}
385362 COMMSDSL_PLATFORM : ' x64'
386- CC_TOOLS_QT_SKIP : 1
363+ CC_TOOLS_QT_TAG : ${{env.CC_TOOLS_QT_TAG}}
364+ CC_TOOLS_QT_MAJOR_QT_VERSION : ${{matrix.qt_ver}}
365+ CC_TOOLS_QT_SKIP : ${{matrix.arch == 'Win32' && '1' || '0'}}
387366
388367 - name : Configure CMake
389368 shell : cmd
390369 working-directory : ${{runner.workspace}}/build
391370 run : |
392371 cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^
393- -DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install" ^
372+ -DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install;${{env.QTDIR}};${{env.BOOST_DIR}} " ^
394373 -DCMAKE_POLICY_DEFAULT_CMP0167=NEW ^
395374 -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DUBLOX_TOOLS_QT_VER=${{matrix.qt_ver}} ^
396- -DUBLOX_GEN_PROTOCOL=ON -DUBLOX_GEN_TEST=ON -DUBLOX_BUILD_EXAMPLES=${{env.HAS_BOOST}} ^
375+ -DUBLOX_GEN_PROTOCOL=ON -DUBLOX_GEN_TEST=ON -DUBLOX_GEN_TOOLS=ON -DUBLOX_BUILD_TOOLS=${{env.BUILD_TOOLS}} ^
376+ -DUBLOX_GEN_C=ON -DUBLOX_GEN_LATEX=ON -DUBLOX_BUILD_LATEX=OFF ^
377+ -DUBLOX_BUILD_EXAMPLES=${{env.HAS_BOOST}} ^
397378 -DUBLOX_SCHEMA_FILES_LIST_FILE=%GITHUB_WORKSPACE%/basic_msgs.txt
398379 env :
399380 HAS_BOOST : " ${{ matrix.arch == 'x64' && 'ON' || 'OFF' }}"
381+ BUILD_TOOLS : " ${{ matrix.cpp >= 17 && matrix.arch == 'x64' && 'ON' || 'OFF' }}"
400382
401383 - name : Build Target
402384 working-directory : ${{runner.workspace}}/build
0 commit comments