Skip to content

Commit e39b529

Browse files
committed
Release v2.9
2 parents a8c6692 + 6a661e6 commit e39b529

File tree

4 files changed

+178
-20
lines changed

4 files changed

+178
-20
lines changed

.github/workflows/actions_build.yml

+147-9
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@v2
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+
-DDEMO3_TOOLS_QT_VER=${{matrix.qt_ver}} \
251+
-DDEMO3_GEN_PROTOCOL=ON -DDEMO3_GEN_TEST=ON -DDEMO3_GEN_TOOLS=ON -DDEMO3_BUILD_TOOLS=${{env.BUILD_TOOLS}} \
252+
-DDEMO3_GEN_SWIG=ON -DDEMO3_GEN_EMSCRIPTEN=ON -DDEMO3_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,75 @@ jobs:
389453
env:
390454
VERBOSE: 1
391455

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

423556
- name: Install Boost
557+
if: matrix.arch == 'x64'
424558
shell: cmd
425559
run: |
426-
choco install boost-msvc-14.2
560+
choco install boost-msvc-14.2 --version=1.85.0
427561
428562
- name: Prepare externals
429563
shell: cmd
@@ -448,16 +582,19 @@ jobs:
448582
working-directory: ${{runner.workspace}}/build
449583
run: |
450584
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 ^
585+
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install;${{env.QTDIR}}" ^
586+
-DCMAKE_POLICY_DEFAULT_CMP0167=OLD -DBoost_USE_STATIC_LIBS=ON ^
452587
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DDEMO3_TOOLS_QT_VER=${{matrix.qt_ver}} ^
453-
-DDEMO3_GEN_PROTOCOL=ON -DDEMO3_GEN_TEST=ON -DDEMO3_GEN_TOOLS=ON -DDEMO3_BUILD_TOOLS=${{env.BUILD_TOOLS}}
588+
-DDEMO3_GEN_PROTOCOL=ON -DDEMO3_GEN_TEST=ON -DDEMO3_GEN_TOOLS=ON -DDEMO3_BUILD_TOOLS=${{env.BUILD_TOOLS}} ^
589+
-DDEMO3_BUILD_EXAMPLES=${{env.HAS_BOOST}}
454590
env:
455591
BUILD_TOOLS: "${{ matrix.cpp >= 17 && matrix.arch == 'x64' && 'ON' || 'OFF' }}"
592+
HAS_BOOST: "${{ matrix.arch == 'x64' && 'ON' || 'OFF' }}"
456593

457594
- name: Build Target
458595
working-directory: ${{runner.workspace}}/build
459596
shell: cmd
460-
run: cmake --build . --config ${{matrix.type}} --target install
597+
run: cmake --build . --config ${{matrix.type}}
461598
env:
462599
VERBOSE: 1
463600

@@ -480,7 +617,7 @@ jobs:
480617
if: matrix.arch == 'x64'
481618
shell: cmd
482619
run: |
483-
choco install boost-msvc-14.3
620+
choco install boost-msvc-14.3 --version=1.85.0
484621
485622
- name: Prepare externals
486623
shell: cmd
@@ -503,7 +640,8 @@ jobs:
503640
working-directory: ${{runner.workspace}}/build
504641
run: |
505642
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 ^
643+
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install" ^
644+
-DCMAKE_POLICY_DEFAULT_CMP0167=OLD -DBoost_USE_STATIC_LIBS=ON ^
507645
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DDEMO3_TOOLS_QT_VER=${{matrix.qt_ver}} ^
508646
-DDEMO3_GEN_PROTOCOL=ON -DDEMO3_GEN_TEST=ON -DDEMO3_BUILD_EXAMPLES=${{env.HAS_BOOST}}
509647
env:

CMakeLists.txt

+17-7
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,18 @@ option (DEMO3_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 (DEMO3_VERSION "2.8")
37-
set (DEMO3_MIN_COMMSDSL_VERSION "6.3.3")
36+
set (DEMO3_VERSION "2.9")
37+
set (DEMO3_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 (DEMO3_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 (DEMO3_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=${DEMO3_USE_CCACHE}
207217
-DOPT_CCACHE_EXECUTABLE=${DEMO3_CCACHE_EXECUTABLE}
@@ -263,7 +273,7 @@ if (DEMO3_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=${DEMO3_TOOLS_QT_VER}
276+
-DOPT_QT_MAJOR_VERSION=${DEMO3_TOOLS_QT_VER} -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
267277
-DOPT_USE_CCACHE=${DEMO3_USE_CCACHE}
268278
-DOPT_CCACHE_EXECUTABLE=${DEMO3_CCACHE_EXECUTABLE}
269279
)
@@ -324,7 +334,7 @@ if (DEMO3_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=${DEMO3_USE_CCACHE}
@@ -394,7 +404,7 @@ if (DEMO3_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=${DEMO3_USE_CCACHE}

script/full_debug_build_clang.sh

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
#!/bin/bash
22

3-
export CC=clang
4-
export CXX=clang++
3+
if [ -z "${CC}" ]; then
4+
export CC=clang
5+
fi
6+
7+
if [ -z "${CXX}" ]; then
8+
export CXX=clang++
9+
fi
510

611
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
712
${SCRIPT_DIR}/full_debug_build.sh "$@"

script/full_debug_build_gcc.sh

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
#!/bin/bash
22

3-
export CC=gcc
4-
export CXX=g++
3+
if [ -z "${CC}" ]; then
4+
export CC=gcc
5+
fi
6+
7+
if [ -z "${CXX}" ]; then
8+
export CXX=g++
9+
fi
510

611
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
712
${SCRIPT_DIR}/full_debug_build.sh "$@"

0 commit comments

Comments
 (0)