Skip to content

Commit

Permalink
Release v3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
arobenko committed Jan 13, 2025
2 parents 21fe7e9 + e61038b commit 238cd74
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 121 deletions.
34 changes: 17 additions & 17 deletions .github/workflows/actions_build.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
name: Github Actions Build

on: [push]
on:
push:
branches:
- '**'
tags-ignore:
- '**'

env:
COMMS_TAG: v5.2.7
COMMSDSL_TAG: v6.3.4
CC_TOOLS_QT_TAG: v5.3.3
COMMS_TAG: v5.3
COMMSDSL_TAG: v7.0
CC_TOOLS_QT_TAG: v6.0

jobs:
build_gcc_old_ubuntu_20_04:
Expand Down Expand Up @@ -116,19 +121,18 @@ jobs:
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_SKIP: 1

- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
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_GEN_PROTOCOL=ON -DMQTT5_GEN_TEST=ON -DMQTT5_GEN_TOOLS=ON -DMQTT5_BUILD_TOOLS=${{env.BUILD_TOOLS}}
-DMQTT5_GEN_PROTOCOL=ON -DMQTT5_GEN_TEST=ON
env:
CC: gcc-${{matrix.cc_ver}}
CXX: g++-${{matrix.cc_ver}}
BUILD_TOOLS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}"

- name: Build Target
working-directory: ${{runner.workspace}}/build
Expand Down Expand Up @@ -308,20 +312,18 @@ jobs:
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_SKIP: 1

- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
run: |
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install \
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DMQTT5_GEN_PROTOCOL=ON -DMQTT5_GEN_TEST=ON \
-DMQTT5_GEN_TOOLS=ON -DMQTT5_BUILD_TOOLS=${{env.BUILD_TOOLS}}
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DMQTT5_GEN_PROTOCOL=ON -DMQTT5_GEN_TEST=ON
env:
CC: clang-${{matrix.cc_ver}}
CXX: clang++-${{matrix.cc_ver}}
BUILD_TOOLS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}"

- name: Build Target
working-directory: ${{runner.workspace}}/build
Expand Down Expand Up @@ -369,20 +371,18 @@ jobs:
COMMON_CXX_STANDARD: ${{matrix.cpp}}
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' }}"
CC_TOOLS_QT_SKIP: 1

- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
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_GEN_PROTOCOL=ON -DMQTT5_GEN_TEST=ON -DMQTT5_GEN_TOOLS=ON -DMQTT5_BUILD_TOOLS=${{env.BUILD_TOOLS}}
-DMQTT5_GEN_PROTOCOL=ON -DMQTT5_GEN_TEST=ON
env:
CC: clang-${{matrix.cc_ver}}
CXX: clang++-${{matrix.cc_ver}}
BUILD_TOOLS: "${{ matrix.cpp == 17 && 'ON' || 'OFF' }}"

- name: Build Target
working-directory: ${{runner.workspace}}/build
Expand Down Expand Up @@ -525,7 +525,7 @@ jobs:
strategy:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
type: [Debug, Release]
arch: [Win32, x64]
cpp: [11, 14, 17]
qt_ver: [5, 6]
Expand Down Expand Up @@ -592,7 +592,7 @@ jobs:
strategy:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
type: [Debug, Release]
arch: [Win32, x64]
cpp: [11, 14, 17, 20]

Expand Down
66 changes: 13 additions & 53 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,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.9")
set (MQTT5_MIN_COMMSDSL_VERSION "6.3.4")
set (MQTT5_VERSION "3.0")
set (MQTT5_MIN_COMMSDSL_VERSION "7.0")

if ("${CMAKE_CXX_STANDARD}" STREQUAL "")
set(CMAKE_CXX_STANDARD 17)
Expand Down Expand Up @@ -92,23 +92,15 @@ if (MQTT5_GEN_PROTOCOL)

set (prot_tmp_dir "${CMAKE_BINARY_DIR}/output.tmp")

add_custom_target(rm_prot_tmp_tgt
add_custom_target(${PROT_OUTPUT_TGT} ALL
COMMAND ${CMAKE_COMMAND} -E remove_directory ${prot_tmp_dir}
)

add_custom_command(
OUTPUT ${prot_tmp_dir}
DEPENDS ${schema_file} ${src_files} rm_prot_tmp_tgt
COMMAND ${COMMSDSL2COMMS} ${warn_as_error} -V ${MQTT5_VERSION}
-o ${prot_tmp_dir} -c ${PROJECT_SOURCE_DIR}/src/protocol
${COMMSDSL2COMMS_EXTRA_ARGS} ${schema_file}
)

add_custom_target(${PROT_OUTPUT_TGT} ALL
${COMMSDSL2COMMS_EXTRA_ARGS} ${schema_file}
COMMAND ${CMAKE_COMMAND}
-DGENERATED="${prot_tmp_dir}" -DOUTPUT="${MQTT5_PROT_OUTPUT_DIR}"
-P "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake"
DEPENDS ${prot_tmp_dir} "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake" ${schema_file})
DEPENDS "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake" ${schema_file})

if (MQTT5_BUILD_PROTOCOL)
execute_process(
Expand Down Expand Up @@ -161,22 +153,14 @@ if (MQTT5_GEN_TEST)

set (test_tmp_dir "${CMAKE_BINARY_DIR}/output_test.tmp")

add_custom_target(rm_test_tmp_tgt
add_custom_target("test_output_tgt" ALL
COMMAND ${CMAKE_COMMAND} -E remove_directory ${test_tmp_dir}
)

add_custom_command(
OUTPUT ${test_tmp_dir}
DEPENDS ${schema_file} ${src_files} rm_test_tmp_tgt
COMMAND ${COMMSDSL2TEST} ${warn_as_error} ${COMMSDSL2TEST_EXTRA_ARGS}
-o ${test_tmp_dir} -c ${PROJECT_SOURCE_DIR}/src/test ${schema_file}
)

add_custom_target("test_output_tgt" ALL
COMMAND ${CMAKE_COMMAND}
-DGENERATED="${test_tmp_dir}" -DOUTPUT="${MQTT5_TEST_OUTPUT_DIR}"
-P "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake"
DEPENDS ${test_tmp_dir} "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake" ${schema_file})
DEPENDS "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake" ${schema_file})

if (MQTT5_BUILD_TEST)
if ((NOT MQTT5_GEN_PROTOCOL) OR (NOT MQTT5_BUILD_PROTOCOL))
Expand Down Expand Up @@ -221,23 +205,15 @@ if (MQTT5_GEN_TOOLS)

set (tools_tmp_dir "${CMAKE_BINARY_DIR}/output_tools.tmp")

add_custom_target(rm_tools_tmp_tgt
add_custom_target("tools_output_tgt" ALL
COMMAND ${CMAKE_COMMAND} -E remove_directory ${tools_tmp_dir}
)

add_custom_command(
OUTPUT ${tools_tmp_dir}
DEPENDS ${schema_file} ${src_files} rm_tools_tmp_tgt
COMMAND ${COMMSDSL2TOOLS_QT} ${warn_as_error} ${COMMSDSL2TOOLS_QT_EXTRA_ARGS}
--protocol "::CC MQTT v5:MQTT v5 protocol.:cc.Mqtt5ProtocolPlugin"
-o ${tools_tmp_dir} -c ${PROJECT_SOURCE_DIR}/src/tools ${schema_file}
)

add_custom_target("tools_output_tgt" ALL
COMMAND ${CMAKE_COMMAND}
-DGENERATED="${tools_tmp_dir}" -DOUTPUT="${MQTT5_TOOLS_OUTPUT_DIR}"
-P "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake"
DEPENDS ${tools_tmp_dir} "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake" ${schema_file})
DEPENDS "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake" ${schema_file})

if (MQTT5_BUILD_TOOLS)
if ((NOT MQTT5_GEN_PROTOCOL) OR (NOT MQTT5_BUILD_PROTOCOL))
Expand Down Expand Up @@ -282,22 +258,14 @@ if (MQTT5_GEN_SWIG)

set (swig_tmp_dir "${CMAKE_BINARY_DIR}/output_swig.tmp")

add_custom_target(rm_swig_tmp_tgt
add_custom_target("swig_output_tgt" ALL
COMMAND ${CMAKE_COMMAND} -E remove_directory ${swig_tmp_dir}
)

add_custom_command(
OUTPUT ${swig_tmp_dir}
DEPENDS ${schema_file} ${src_files} rm_swig_tmp_tgt
COMMAND ${COMMSDSL2SWIG} ${warn_as_error} ${COMMSDSL2SWIG_EXTRA_ARGS}
-c ${MQTT5_SWIG_SRC_DIR} -o ${swig_tmp_dir} ${schema_file}
)

add_custom_target("swig_output_tgt" ALL
COMMAND ${CMAKE_COMMAND}
-DGENERATED="${swig_tmp_dir}" -DOUTPUT="${MQTT5_SWIG_OUTPUT_DIR}"
-P "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake"
DEPENDS ${swig_tmp_dir} "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake" ${schema_file})
DEPENDS "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake" ${schema_file})

if (MQTT5_BUILD_SWIG)
if ((NOT MQTT5_GEN_PROTOCOL) OR (NOT MQTT5_BUILD_PROTOCOL))
Expand Down Expand Up @@ -348,22 +316,14 @@ if (MQTT5_GEN_EMSCRIPTEN)

set (emscripten_tmp_dir "${CMAKE_BINARY_DIR}/output_emscripten.tmp")

add_custom_target(rm_emscripten_tmp_tgt
add_custom_target("emscripten_output_tgt" ALL
COMMAND ${CMAKE_COMMAND} -E remove_directory ${emscripten_tmp_dir}
)

add_custom_command(
OUTPUT ${emscripten_tmp_dir}
DEPENDS ${schema_file} ${src_files} rm_emscripten_tmp_tgt
COMMAND ${COMMSDSL2EMSCRIPTEN} ${warn_as_error} ${COMMSDSL2EMSCRIPTEN_EXTRA_ARGS}
-o ${emscripten_tmp_dir} -c ${PROJECT_SOURCE_DIR}/src/emscripten ${schema_file}
)

add_custom_target("emscripten_output_tgt" ALL
COMMAND ${CMAKE_COMMAND}
-DGENERATED="${emscripten_tmp_dir}" -DOUTPUT="${MQTT5_EMSCRIPTEN_OUTPUT_DIR}"
-P "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake"
DEPENDS ${emscripten_tmp_dir} "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake" ${schema_file})
DEPENDS "${CMAKE_CURRENT_LIST_DIR}/CopyGenerated.cmake" ${schema_file})

if (MQTT5_BUILD_EMSCRIPTEN)
if ((NOT MQTT5_GEN_PROTOCOL) OR (NOT MQTT5_BUILD_PROTOCOL))
Expand Down
Loading

0 comments on commit 238cd74

Please sign in to comment.