Skip to content

Commit

Permalink
Release v2.7
Browse files Browse the repository at this point in the history
  • Loading branch information
arobenko committed Apr 11, 2024
2 parents 2ea03b9 + 7e22517 commit f7db555
Show file tree
Hide file tree
Showing 4 changed files with 165 additions and 39 deletions.
12 changes: 6 additions & 6 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ configuration:
- Release

environment:
COMMS_BRANCH: v5.2.2
COMMSDSL_BRANCH: v6.3
CC_TOOLS_QT_BRANCH: v5.1
COMMS_TAG: v5.2.3
COMMSDSL_TAG: v6.3.2
CC_TOOLS_QT_TAG: v5.2.1
matrix:
- CPP_STD: 11
QT_MAJOR: 5
Expand All @@ -46,9 +46,9 @@ install:
- set PATH=%PATH%;%QTDIR%\bin
- set BUILD_DIR=%APPVEYOR_BUILD_FOLDER%\build.%PLATFORM%.%CONFIGURATION%.%TOOLCHAIN%
- if exist %BUILD_DIR% rmdir /S /Q %BUILD_DIR%
- set COMMS_TAG=%COMMS_BRANCH%
- set COMMSDSL_TAG=%COMMSDSL_BRANCH%
- set CC_TOOLS_QT_TAG=%CC_TOOLS_QT_BRANCH%
- set COMMS_TAG=%COMMS_TAG%
- set COMMSDSL_TAG=%COMMSDSL_TAG%
- set CC_TOOLS_QT_TAG=%CC_TOOLS_QT_TAG%
- set COMMON_INSTALL_DIR=%BUILD_DIR%\install
- set COMMON_BUILD_TYPE=%CONFIGURATION%
- set COMMON_CXX_STANDARD=%CPP_STD%
Expand Down
168 changes: 142 additions & 26 deletions .github/workflows/actions_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ name: Github Actions Build
on: [push]

env:
COMMS_BRANCH: v5.2.2
COMMSDSL_BRANCH: v6.3
CC_TOOLS_QT_BRANCH: v5.1
COMMS_TAG: v5.2.3
COMMSDSL_TAG: v6.3.2
CC_TOOLS_QT_TAG: v5.2.1

jobs:
build_gcc_old_ubuntu_20_04:
Expand All @@ -18,7 +18,7 @@ jobs:
cpp: [11]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Add repositories
run: |
Expand Down Expand Up @@ -47,8 +47,8 @@ jobs:
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_BRANCH}}
COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
CC_TOOLS_QT_SKIP: 1

- name: Configure CMake
Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:
- cc_ver: 7
cpp: 17
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Add repositories
run: |
Expand Down Expand Up @@ -114,9 +114,9 @@ jobs:
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_BRANCH}}
COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_BRANCH}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}

- name: Configure CMake
shell: bash
Expand Down Expand Up @@ -148,7 +148,7 @@ jobs:
qt_ver: [5, 6]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Prepare Install
run: sudo apt-get update --fix-missing
Expand All @@ -172,9 +172,9 @@ jobs:
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_BRANCH}}
COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_BRANCH}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}

- name: Configure CMake
Expand All @@ -183,6 +183,7 @@ jobs:
run: |
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
-DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
-DMQTT5_TOOLS_QT_VER=${{matrix.qt_ver}} \
-DMQTT5_GEN_PROTOCOL=ON -DMQTT5_GEN_TEST=ON -DMQTT5_GEN_TOOLS=ON -DMQTT5_BUILD_TOOLS=${{env.BUILD_TOOLS}} \
-DMQTT5_GEN_SWIG=ON -DMQTT5_GEN_EMSCRIPTEN=ON
env:
Expand Down Expand Up @@ -211,7 +212,7 @@ jobs:


steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Add repositories
run: |
Expand Down Expand Up @@ -241,9 +242,9 @@ jobs:
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_BRANCH}}
COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_BRANCH}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}

- name: Configure CMake
shell: bash
Expand Down Expand Up @@ -280,7 +281,7 @@ jobs:
cpp: 20

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Prepare Install
run: sudo apt-get update --fix-missing
Expand All @@ -302,9 +303,9 @@ jobs:
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_BRANCH}}
COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_BRANCH}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_SKIP: "${{ matrix.cpp < 17 && '1' || '0' }}"

- name: Configure CMake
Expand Down Expand Up @@ -337,7 +338,7 @@ jobs:
qt_ver: [5, 6]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Prepare Install
run: sudo apt-get update --fix-missing
Expand All @@ -361,9 +362,9 @@ jobs:
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_BRANCH}}
COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_BRANCH}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}
CC_TOOLS_QT_SKIP: "${{ (matrix.cpp < 17 || (matrix.cpp == 20 && matrix.cc_ver < 15)) && '1' || '0' }}"

Expand All @@ -373,6 +374,7 @@ jobs:
run: |
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
-DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
-DMQTT5_TOOLS_QT_VER=${{matrix.qt_ver}} \
-DMQTT5_GEN_PROTOCOL=ON -DMQTT5_GEN_TEST=ON -DMQTT5_GEN_TOOLS=ON -DMQTT5_BUILD_TOOLS=${{env.BUILD_TOOLS}} \
-DMQTT5_GEN_SWIG=ON -DMQTT5_GEN_EMSCRIPTEN=ON
env:
Expand All @@ -386,3 +388,117 @@ jobs:
run: cmake --build . --config ${{matrix.type}}
env:
VERBOSE: 1

build_msvc_2019:
runs-on: windows-2019
strategy:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
arch: [Win32, x64]
cpp: [11, 14, 17]
qt_ver: [5, 6]
exclude:
- arch: Win32
qt_ver: 6

steps:
- uses: actions/checkout@v4

- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Install Qt
if: ${{matrix.cpp >= 17 && matrix.arch == 'x64'}}
shell: cmd
run: |
choco install curl
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
7z x ${{runner.workspace}}/qt.7z -o${{runner.workspace}}/qt
echo QT_VER=${{env.QT_VER}} >>%GITHUB_ENV%
echo QTDIR=${{runner.workspace}}/qt/qt-${{env.QT_VER}}-dynamic-msvc2019-x86_64 >>%GITHUB_ENV%
env:
QT_VER: ${{matrix.qt_ver == '5' && '5.15.3' || '6.2.2'}}

- name: Prepare externals
shell: cmd
run: |
%GITHUB_WORKSPACE%\script\prepare_externals.bat
env:
BUILD_DIR: ${{runner.workspace}}/build
PLATFORM: ${{matrix.arch}}
EXTERNALS_DIR: ${{runner.workspace}}/externals
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
COMMSDSL_PLATFORM: 'x64'
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}
CC_TOOLS_QT_SKIP: ${{matrix.arch == 'Win32' && '1' || '0'}}

- name: Configure CMake
shell: cmd
working-directory: ${{runner.workspace}}/build
run: |
cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install;${{env.QTDIR}}" ^
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DMQTT5_TOOLS_QT_VER=${{matrix.qt_ver}} ^
-DMQTT5_GEN_PROTOCOL=ON -DMQTT5_GEN_TEST=ON -DMQTT5_GEN_TOOLS=ON -DMQTT5_BUILD_TOOLS=${{env.BUILD_TOOLS}}
env:
BUILD_TOOLS: "${{ matrix.cpp >= 17 && matrix.arch == 'x64' && 'ON' || 'OFF' }}"

- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: cmd
run: cmake --build . --config ${{matrix.type}}
env:
VERBOSE: 1

build_msvc_2022:
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
arch: [Win32, x64]
cpp: [11, 14, 17, 20]

steps:
- uses: actions/checkout@v4

- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Prepare externals
shell: cmd
run: |
%GITHUB_WORKSPACE%\script\prepare_externals.bat
env:
BUILD_DIR: ${{runner.workspace}}/build
PLATFORM: ${{matrix.arch}}
EXTERNALS_DIR: ${{runner.workspace}}/externals
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
COMMSDSL_PLATFORM: 'x64'
CC_TOOLS_QT_SKIP: 1

- name: Configure CMake
shell: cmd
working-directory: ${{runner.workspace}}/build
run: |
cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install" ^
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DMQTT5_TOOLS_QT_VER=${{matrix.qt_ver}} ^
-DMQTT5_GEN_PROTOCOL=ON -DMQTT5_GEN_TEST=ON
- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: cmd
run: cmake --build . --config ${{matrix.type}}
env:
VERBOSE: 1
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 3.5)
cmake_minimum_required (VERSION 3.10)
project ("cc.mqtt5.commsdsl")

option (MQTT5_WARN_AS_ERR "Treat compilation warnings as errors." ON)
Expand Down Expand Up @@ -31,8 +31,8 @@ option (MQTT5_BUILD_EMSCRIPTEN "Build and install project generated by the comms
# COMMSDSL2SWIG_EXTRA_ARGS - Extra arguments to pass to "commsdsl2swig"
# COMMSDSL2EMSCRIPTEN_EXTRA_ARGS - Extra arguments to pass to "commsdsl2emscripten"

set (MQTT5_VERSION "2.6")
set (MQTT5_MIN_COMMSDSL_VERSION "6.3")
set (MQTT5_VERSION "2.7")
set (MQTT5_MIN_COMMSDSL_VERSION "6.3.2")

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

Expand Down
18 changes: 14 additions & 4 deletions script/prepare_externals.bat
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ rem COMMS_REPO - (Optional) Repository of the COMMS library
rem COMMS_TAG - (Optional) Tag of the COMMS library
rem COMMSDSL_REPO - (Optional) Repository of the commsdsl code generators
rem COMMSDSL_TAG - (Optional) Tag of the commdsl
rem COMMSDSL_PLATFORM - (Optional) Tag of the commdsl
rem CC_TOOLS_QT_REPO - (Optional) Repository of the cc_tools_qt
rem CC_TOOLS_QT_TAG - (Optional) Tag of the cc_tools_qt
rem CC_TOOLS_QT_MAJOR_QT_VERSION - (Optional) Major version of the Qt library
rem CC_TOOLS_QT_SKIP - (Optional) Skip build of cc_tools_qt
rem COMMON_INSTALL_DIR - (Optional) Common directory to perform installations
rem COMMON_BUILD_TYPE - (Optional) CMake build type
rem COMMON_CXX_STANDARD - (Optional) CMake C++ standard
Expand All @@ -19,7 +21,7 @@ rem -----------------------------------------------------

if [%BUILD_DIR%] == [] echo "BUILD_DIR hasn't been specified" & exit /b 1

if [%GENERATOR%] == [] set GENERATOR="NMake Makefiles"
if NOT [%GENERATOR%] == [] set GENERATOR_PARAM=-G %GENERATOR%

if NOT [%PLATFORM%] == [] set PLATFORM_PARAM=-A %PLATFORM%

Expand All @@ -33,6 +35,9 @@ if [%COMMSDSL_REPO%] == [] set COMMSDSL_REPO="https://github.com/commschamp/comm

if [%COMMSDSL_TAG%] == [] set COMMSDSL_TAG="master"

set COMMSDSL_PLATFORM_PARAM=%PLATFORM_PARAM%
if NOT [%COMMSDSL_PLATFORM%] == [] set COMMSDSL_PLATFORM_PARAM=-A %COMMSDSL_PLATFORM%

if [%CC_TOOLS_QT_REPO%] == [] set CC_TOOLS_QT_REPO="https://github.com/commschamp/cc_tools_qt.git"

if [%CC_TOOLS_QT_TAG%] == [] set CC_TOOLS_QT_TAG="master"
Expand Down Expand Up @@ -76,7 +81,7 @@ if exist %COMMS_SRC_DIR%/.git (
echo "Building COMMS library..."
mkdir "%COMMS_BUILD_DIR%"
cd %COMMS_BUILD_DIR%
cmake -G %GENERATOR% %PLATFORM_PARAM% -S %COMMS_SRC_DIR% -B %COMMS_BUILD_DIR% -DCMAKE_INSTALL_PREFIX=%COMMS_INSTALL_DIR% ^
cmake %GENERATOR_PARAM% %PLATFORM_PARAM% -S %COMMS_SRC_DIR% -B %COMMS_BUILD_DIR% -DCMAKE_INSTALL_PREFIX=%COMMS_INSTALL_DIR% ^
-DCMAKE_BUILD_TYPE=%COMMON_BUILD_TYPE% -DCMAKE_CXX_STANDARD=%COMMON_CXX_STANDARD%
if %errorlevel% neq 0 exit /b %errorlevel%
cmake --build %COMMS_BUILD_DIR% --config %COMMON_BUILD_TYPE% --target install
Expand All @@ -100,7 +105,7 @@ if exist %COMMSDSL_SRC_DIR%/.git (
echo "Building commsdsl ..."
mkdir "%COMMSDSL_BUILD_DIR%"
cd %COMMSDSL_BUILD_DIR%
cmake -G %GENERATOR% %PLATFORM_PARAM% -S %COMMSDSL_SRC_DIR% -B %COMMSDSL_BUILD_DIR% ^
cmake %GENERATOR_PARAM% %COMMSDSL_PLATFORM_PARAM% -S %COMMSDSL_SRC_DIR% -B %COMMSDSL_BUILD_DIR% ^
-DCMAKE_INSTALL_PREFIX=%COMMSDSL_INSTALL_DIR% -DCMAKE_BUILD_TYPE=%COMMON_BUILD_TYPE% ^
-DCOMMSDSL_INSTALL_LIBRARY=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON
if %errorlevel% neq 0 exit /b %errorlevel%
Expand All @@ -114,6 +119,11 @@ if %COMMON_CXX_STANDARD% LSS 17 (
goto cc_tools_qt_end
)

if %CC_TOOLS_QT_SKIP% GTR 0 (
echo "Skipping build of cc_tools_qt"
goto cc_tools_qt_end
)

if exist %CC_TOOLS_QT_SRC_DIR%/.git (
echo "Updating cc_tools_qt..."
cd %CC_TOOLS_QT_SRC_DIR%
Expand All @@ -130,7 +140,7 @@ if exist %CC_TOOLS_QT_SRC_DIR%/.git (
echo "Building cc_tools_qt ..."
mkdir "%CC_TOOLS_QT_BUILD_DIR%"
cd %CC_TOOLS_QT_BUILD_DIR%
cmake -G %GENERATOR% %PLATFORM_PARAM% -S %CC_TOOLS_QT_SRC_DIR% -B %CC_TOOLS_QT_BUILD_DIR% ^
cmake %GENERATOR_PARAM% %PLATFORM_PARAM% -S %CC_TOOLS_QT_SRC_DIR% -B %CC_TOOLS_QT_BUILD_DIR% ^
-DCMAKE_INSTALL_PREFIX=%CC_TOOLS_QT_INSTALL_DIR% -DCMAKE_BUILD_TYPE=%COMMON_BUILD_TYPE% ^
-DCC_TOOLS_QT_BUILD_APPS=OFF -DCMAKE_PREFIX_PATH=%COMMS_INSTALL_DIR%;%QTDIR% ^
-DCMAKE_CXX_STANDARD=%COMMON_CXX_STANDARD% %CC_TOOLS_QT_VERSION_OPT%
Expand Down

0 comments on commit f7db555

Please sign in to comment.