Skip to content

Commit 7135bb9

Browse files
committed
Release v2.9
2 parents edfbe57 + eb13548 commit 7135bb9

File tree

2 files changed

+163
-16
lines changed

2 files changed

+163
-16
lines changed

.github/workflows/actions_build.yml

Lines changed: 146 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ name: Github Actions Build
33
on: [push]
44

55
env:
6-
COMMS_TAG: v5.2.5
7-
COMMSDSL_TAG: v6.3.3
8-
CC_TOOLS_QT_TAG: v5.3.1
6+
COMMS_TAG: v5.2.7
7+
COMMSDSL_TAG: v6.3.4
8+
CC_TOOLS_QT_TAG: v5.3.3
99

1010
jobs:
1111
build_gcc_old_ubuntu_20_04:
@@ -197,6 +197,70 @@ jobs:
197197
run: cmake --build . --config ${{matrix.type}} --target install
198198
env:
199199
VERBOSE: 1
200+
201+
build_gcc_ubuntu_24_04:
202+
runs-on: ubuntu-24.04
203+
strategy:
204+
fail-fast: false
205+
matrix:
206+
type: [Debug, Release, MinSizeRel]
207+
cc_ver: [13, 14]
208+
cpp: [11, 14, 17, 20, 23]
209+
qt_ver: [5, 6]
210+
exclude:
211+
- cc_ver: 13
212+
cpp: 23
213+
214+
steps:
215+
- uses: actions/checkout@v4
216+
217+
- name: Prepare Install
218+
run: sudo apt-get update --fix-missing
219+
220+
- name: Install Packages
221+
run: |
222+
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}} \
223+
python3 libpython3-dev swig default-jdk default-jre emscripten doxygen
224+
225+
- name: Create Build Environment
226+
run: cmake -E make_directory ${{runner.workspace}}/build
227+
228+
- name: Prepare externals
229+
shell: bash
230+
run: $GITHUB_WORKSPACE/script/prepare_externals.sh
231+
env:
232+
BUILD_DIR: ${{runner.workspace}}/build
233+
CC: gcc-${{matrix.cc_ver}}
234+
CXX: g++-${{matrix.cc_ver}}
235+
EXTERNALS_DIR: ${{runner.workspace}}/externals
236+
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
237+
COMMON_BUILD_TYPE: ${{matrix.type}}
238+
COMMON_CXX_STANDARD: ${{matrix.cpp}}
239+
COMMS_TAG: ${{env.COMMS_TAG}}
240+
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
241+
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
242+
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}
243+
244+
- name: Configure CMake
245+
shell: bash
246+
working-directory: ${{runner.workspace}}/build
247+
run: |
248+
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
249+
-DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
250+
-DDEMO1_TOOLS_QT_VER=${{matrix.qt_ver}} \
251+
-DDEMO1_GEN_PROTOCOL=ON -DDEMO1_GEN_TEST=ON -DDEMO1_GEN_TOOLS=ON -DDEMO1_BUILD_TOOLS=${{env.BUILD_TOOLS}} \
252+
-DDEMO1_GEN_SWIG=ON -DDEMO1_GEN_EMSCRIPTEN=ON -DDEMO1_BUILD_PROT_DOC=ON
253+
env:
254+
CC: gcc-${{matrix.cc_ver}}
255+
CXX: g++-${{matrix.cc_ver}}
256+
BUILD_TOOLS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}"
257+
258+
- name: Build Target
259+
working-directory: ${{runner.workspace}}/build
260+
shell: bash
261+
run: cmake --build . --config ${{matrix.type}} --target install
262+
env:
263+
VERBOSE: 1
200264

201265
build_clang_old_ubuntu_20_04:
202266
runs-on: ubuntu-20.04
@@ -389,6 +453,74 @@ jobs:
389453
env:
390454
VERBOSE: 1
391455

456+
build_clang_ubuntu_24_04:
457+
runs-on: ubuntu-24.04
458+
strategy:
459+
fail-fast: false
460+
matrix:
461+
type: [Debug, Release, MinSizeRel]
462+
cc_ver: [16, 17, 18]
463+
cpp: [11, 14, 17, 20, 23]
464+
qt_ver: [5, 6]
465+
exclude:
466+
- cc_ver: 16
467+
cpp: 23
468+
- cc_ver: 17
469+
cpp: 23
470+
471+
steps:
472+
- uses: actions/checkout@v4
473+
474+
- name: Prepare Install
475+
run: sudo apt-get update --fix-missing
476+
477+
- name: Install Packages
478+
run: |
479+
sudo apt install libqt${{matrix.qt_ver}}gui${{matrix.qt_ver}} qtbase5-dev qt6-base-dev libboost-all-dev libxml2-dev clang-${{matrix.cc_ver}} \
480+
python3 libpython3-dev swig default-jdk default-jre emscripten
481+
482+
- name: Create Build Environment
483+
run: cmake -E make_directory ${{runner.workspace}}/build
484+
485+
- name: Prepare externals
486+
shell: bash
487+
run: $GITHUB_WORKSPACE/script/prepare_externals.sh
488+
env:
489+
BUILD_DIR: ${{runner.workspace}}/build
490+
CC: clang-${{matrix.cc_ver}}
491+
CXX: clang++-${{matrix.cc_ver}}
492+
EXTERNALS_DIR: ${{runner.workspace}}/externals
493+
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
494+
COMMON_BUILD_TYPE: ${{matrix.type}}
495+
COMMON_CXX_STANDARD: ${{matrix.cpp}}
496+
COMMS_TAG: ${{env.COMMS_TAG}}
497+
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
498+
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
499+
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}
500+
CC_TOOLS_QT_SKIP: "${{ (matrix.cpp < 17) && '1' || '0' }}"
501+
502+
- name: Configure CMake
503+
shell: bash
504+
working-directory: ${{runner.workspace}}/build
505+
run: |
506+
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
507+
-DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
508+
-DDEMO1_TOOLS_QT_VER=${{matrix.qt_ver}} \
509+
-DDEMO1_GEN_PROTOCOL=ON -DDEMO1_GEN_TEST=ON -DDEMO1_GEN_TOOLS=ON -DDEMO1_BUILD_TOOLS=${{env.BUILD_TOOLS}} \
510+
-DDEMO1_GEN_SWIG=ON -DDEMO1_GEN_EMSCRIPTEN=ON
511+
env:
512+
CC: clang-${{matrix.cc_ver}}
513+
CXX: clang++-${{matrix.cc_ver}}
514+
BUILD_TOOLS: "${{ (matrix.cpp < 17) && 'OFF' || 'ON' }}"
515+
516+
- name: Build Target
517+
working-directory: ${{runner.workspace}}/build
518+
shell: bash
519+
run: cmake --build . --config ${{matrix.type}} --target install
520+
env:
521+
VERBOSE: 1
522+
523+
392524
build_msvc_2019:
393525
runs-on: windows-2019
394526
strategy:
@@ -421,9 +553,10 @@ jobs:
421553
QT_VER: ${{matrix.qt_ver == '5' && '5.15.3' || '6.2.2'}}
422554

423555
- name: Install Boost
556+
if: matrix.arch == 'x64'
424557
shell: cmd
425558
run: |
426-
choco install boost-msvc-14.2
559+
choco install boost-msvc-14.2 --version=1.85.0
427560
428561
- name: Prepare externals
429562
shell: cmd
@@ -448,16 +581,19 @@ jobs:
448581
working-directory: ${{runner.workspace}}/build
449582
run: |
450583
cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^
451-
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install;${{env.QTDIR}}" -DBoost_USE_STATIC_LIBS=ON ^
584+
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install;${{env.QTDIR}}" ^
585+
-DCMAKE_POLICY_DEFAULT_CMP0167=OLD -DBoost_USE_STATIC_LIBS=ON ^
452586
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DDEMO1_TOOLS_QT_VER=${{matrix.qt_ver}} ^
453-
-DDEMO1_GEN_PROTOCOL=ON -DDEMO1_GEN_TEST=ON -DDEMO1_GEN_TOOLS=ON -DDEMO1_BUILD_TOOLS=${{env.BUILD_TOOLS}}
587+
-DDEMO1_GEN_PROTOCOL=ON -DDEMO1_GEN_TEST=ON -DDEMO1_GEN_TOOLS=ON -DDEMO1_BUILD_TOOLS=${{env.BUILD_TOOLS}} ^
588+
-DDEMO1_BUILD_EXAMPLES=${{env.HAS_BOOST}}
454589
env:
455590
BUILD_TOOLS: "${{ matrix.cpp >= 17 && matrix.arch == 'x64' && 'ON' || 'OFF' }}"
591+
HAS_BOOST: "${{ matrix.arch == 'x64' && 'ON' || 'OFF' }}"
456592

457593
- name: Build Target
458594
working-directory: ${{runner.workspace}}/build
459595
shell: cmd
460-
run: cmake --build . --config ${{matrix.type}} --target install
596+
run: cmake --build . --config ${{matrix.type}}
461597
env:
462598
VERBOSE: 1
463599

@@ -480,7 +616,7 @@ jobs:
480616
if: matrix.arch == 'x64'
481617
shell: cmd
482618
run: |
483-
choco install boost-msvc-14.3
619+
choco install boost-msvc-14.3 --version=1.85.0
484620
485621
- name: Prepare externals
486622
shell: cmd
@@ -503,7 +639,8 @@ jobs:
503639
working-directory: ${{runner.workspace}}/build
504640
run: |
505641
cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^
506-
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install" -DBoost_USE_STATIC_LIBS=ON ^
642+
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install" ^
643+
-DCMAKE_POLICY_DEFAULT_CMP0167=OLD -DBoost_USE_STATIC_LIBS=ON ^
507644
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DDEMO1_TOOLS_QT_VER=${{matrix.qt_ver}} ^
508645
-DDEMO1_GEN_PROTOCOL=ON -DDEMO1_GEN_TEST=ON -DDEMO1_BUILD_EXAMPLES=${{env.HAS_BOOST}}
509646
env:

CMakeLists.txt

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,18 @@ option (DEMO1_BUILD_EXAMPLES "Build examples." ON)
3333
# COMMSDSL2SWIG_EXTRA_ARGS - Extra arguments to pass to "commsdsl2swig"
3434
# COMMSDSL2EMSCRIPTEN_EXTRA_ARGS - Extra arguments to pass to "commsdsl2emscripten"
3535

36-
set (DEMO1_VERSION "2.8")
37-
set (DEMO1_MIN_COMMSDSL_VERSION "6.3.3")
36+
set (DEMO1_VERSION "2.9")
37+
set (DEMO1_MIN_COMMSDSL_VERSION "6.3.4")
38+
39+
if (("${CMAKE_VERSION}" VERSION_GREATER_EQUAL "3.30") AND
40+
(NOT DEFINED CMAKE_POLICY_DEFAULT_CMP0167))
41+
# Find boost cmake configuration from the boost installation
42+
cmake_policy(SET CMP0167 NEW)
43+
endif ()
44+
45+
if ("${CMAKE_CXX_STANDARD}" STREQUAL "")
46+
set(CMAKE_CXX_STANDARD 17)
47+
endif ()
3848

3949
set (EXTERNALS_DIR "${PROJECT_SOURCE_DIR}/externals")
4050

@@ -129,7 +139,7 @@ if (DEMO1_GEN_PROTOCOL)
129139
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
130140
-DCMAKE_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
131141
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
132-
-DOPT_REQUIRE_COMMS_LIB=OFF
142+
-DOPT_REQUIRE_COMMS_LIB=OFF -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
133143
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
134144
)
135145

@@ -201,7 +211,7 @@ if (DEMO1_GEN_TEST)
201211
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
202212
-DCMAKE_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
203213
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
204-
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
214+
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
205215
-DCMAKE_PREFIX_PATH=${combined_prefix_path_str}
206216
-DOPT_USE_CCACHE=${DEMO1_USE_CCACHE}
207217
-DOPT_CCACHE_EXECUTABLE=${DEMO1_CCACHE_EXECUTABLE}
@@ -263,7 +273,7 @@ if (DEMO1_GEN_TOOLS)
263273
-DCMAKE_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
264274
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
265275
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${combined_prefix_path_str}
266-
-DOPT_QT_MAJOR_VERSION=${DEMO1_TOOLS_QT_VER}
276+
-DOPT_QT_MAJOR_VERSION=${DEMO1_TOOLS_QT_VER} -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
267277
-DOPT_USE_CCACHE=${DEMO1_USE_CCACHE}
268278
-DOPT_CCACHE_EXECUTABLE=${DEMO1_CCACHE_EXECUTABLE}
269279
)
@@ -324,7 +334,7 @@ if (DEMO1_GEN_SWIG)
324334
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
325335
-DCMAKE_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
326336
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
327-
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
337+
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
328338
-DCMAKE_PREFIX_PATH=${combined_prefix_path_str}
329339
-DOPT_SWIG_LANGUAGES=${combined_languages_str}
330340
-DOPT_USE_CCACHE=${DEMO1_USE_CCACHE}
@@ -394,7 +404,7 @@ if (DEMO1_GEN_EMSCRIPTEN)
394404
CMAKE_ARGS
395405
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
396406
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
397-
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
407+
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
398408
-DOPT_MODULARIZE=ON
399409
-DOPT_EXTRA_INCLUDE_DIRS=${extra_includes_path_str}
400410
-DOPT_USE_CCACHE=${DEMO1_USE_CCACHE}

0 commit comments

Comments
 (0)