From f9f3ac4f90d560aff4eb010f0f5b140600132323 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Thu, 11 Aug 2022 08:34:36 +1000 Subject: [PATCH 1/6] Updating next release version to be v4.0.2 --- lib/include/cc_tools_qt/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/include/cc_tools_qt/version.h b/lib/include/cc_tools_qt/version.h index 1fb09a5..9d721d0 100644 --- a/lib/include/cc_tools_qt/version.h +++ b/lib/include/cc_tools_qt/version.h @@ -28,7 +28,7 @@ #define CC_TOOLS_QT_MINOR_VERSION 0U /// @brief Patch level of the library -#define CC_TOOLS_QT_PATCH_VERSION 1U +#define CC_TOOLS_QT_PATCH_VERSION 2U /// @brief Macro to create numeric version as single unsigned number #define CC_TOOLS_QT_MAKE_VERSION(major_, minor_, patch_) \ From 1633180f1ce85b0faec921e6644e6e9b2556a043 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Mon, 6 Mar 2023 08:21:05 +1000 Subject: [PATCH 2/6] Integrating changes to the COMMS library. --- lib/include/cc_tools_qt/details/FieldWrapperCreator.h | 2 +- lib/include/cc_tools_qt/property/field.h | 2 +- lib/include/cc_tools_qt/version.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/include/cc_tools_qt/details/FieldWrapperCreator.h b/lib/include/cc_tools_qt/details/FieldWrapperCreator.h index d08c217..2484a47 100644 --- a/lib/include/cc_tools_qt/details/FieldWrapperCreator.h +++ b/lib/include/cc_tools_qt/details/FieldWrapperCreator.h @@ -52,7 +52,7 @@ class FieldWrapperCreator static FieldWrapperPtr createWrapper(TField& field) { typedef typename std::decay::type DecayedField; - typedef typename DecayedField::Tag Tag; + typedef typename DecayedField::CommsTag Tag; return createWrapperInternal(field, Tag()); } private: diff --git a/lib/include/cc_tools_qt/property/field.h b/lib/include/cc_tools_qt/property/field.h index 37913ee..9aeda25 100644 --- a/lib/include/cc_tools_qt/property/field.h +++ b/lib/include/cc_tools_qt/property/field.h @@ -935,7 +935,7 @@ struct ForTag /// @tparam TField Type of the field /// @headerfile cc_tools_qt/property/field.h template -using ForField = typename details::ForTag::Type; +using ForField = typename details::ForTag::Type; } // namespace field diff --git a/lib/include/cc_tools_qt/version.h b/lib/include/cc_tools_qt/version.h index 9d721d0..7aec54f 100644 --- a/lib/include/cc_tools_qt/version.h +++ b/lib/include/cc_tools_qt/version.h @@ -77,7 +77,7 @@ constexpr unsigned version() return CC_TOOLS_QT_VERSION; } -static_assert(COMMS_MAKE_VERSION(5, 0, 0) <= comms::version(), +static_assert(COMMS_MAKE_VERSION(5, 1, 0) <= comms::version(), "The version of COMMS library is too old"); } // namespace cc_tools_qt From 7e02d4256334406c085b44bc862bb1c5b4e2c6f7 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Tue, 7 Mar 2023 07:53:23 +1000 Subject: [PATCH 3/6] Removed usage of ubuntu-18.04 from github actions configuration. --- .github/workflows/actions_build.yml | 104 +++++++++++++++++++++------- 1 file changed, 80 insertions(+), 24 deletions(-) diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index 2715f24..3d13b1f 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -6,23 +6,31 @@ env: COMMS_BRANCH: master jobs: - build_gcc_limited_ubuntu_18_04: - runs-on: ubuntu-18.04 + build_gcc_old_ubuntu_20_04: + runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: type: [Debug, Release, MinSizeRel] - cc_ver: [4.8] - cpp: [11] + cc_ver: [4.8, 5, 6, 7] + cpp: [11, 14] + exclude: + - cc_ver: 4.8 + cpp: 14 steps: - uses: actions/checkout@v2 + - name: Add repositories + run: | + sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ bionic main'; \ + sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ bionic universe' + - name: Prepare Install run: sudo apt-get update --fix-missing - name: Install Packages - run: sudo apt install qtbase5-dev libqt5serialport5-dev libxml2-dev gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}} + run: sudo apt install qtbase5-dev libqt5serialport5-dev libxml2-dev gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}} - name: Create Build Environment run: cmake -E make_directory ${{runner.workspace}}/build @@ -55,14 +63,14 @@ jobs: env: VERBOSE: 1 - build_gcc_ubuntu_18_04: - runs-on: ubuntu-18.04 + build_gcc_ubuntu_20_04: + runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: type: [Debug, Release, MinSizeRel] - cc_ver: [5, 6, 7] - cpp: [11, 14] + cc_ver: [8] + cpp: [11, 14, 17] steps: - uses: actions/checkout@v2 @@ -71,10 +79,10 @@ jobs: run: sudo apt-get update --fix-missing - name: Install Packages - run: sudo apt install qtbase5-dev libqt5serialport5-dev libxml2-dev gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}} + run: sudo apt install qtbase5-dev libqt5serialport5-dev libxml2-dev gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}} - name: Create Build Environment - run: cmake -E make_directory ${{runner.workspace}}/build + run: cmake -E make_directory ${{runner.workspace}}/build - name: Prepare externals shell: bash @@ -92,7 +100,7 @@ jobs: - 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}} -DCC_TOOLS_QT_BUILD_DEMO_PROTOCOL=ON + 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}} -DCC_TOOLS_QT_BUILD_DEMO_PROTOCOL=ON env: CC: gcc-${{matrix.cc_ver}} CXX: g++-${{matrix.cc_ver}} @@ -104,18 +112,14 @@ jobs: env: VERBOSE: 1 - - build_gcc_ubuntu_20_04: - runs-on: ubuntu-20.04 + build_gcc_ubuntu_22_04: + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: type: [Debug, Release, MinSizeRel] - cc_ver: [8, 9, 10, 11] + cc_ver: [9, 10, 11, 12] cpp: [11, 14, 17, 20] - exclude: - - cc_ver: 8 - cpp: 20 steps: - uses: actions/checkout@v2 @@ -155,10 +159,10 @@ jobs: shell: bash run: cmake --build . --config ${{matrix.type}} --target install env: - VERBOSE: 1 + VERBOSE: 1 - build_clang_ubuntu_18_04: - runs-on: ubuntu-18.04 + build_clang_old_ubuntu_20_04: + runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: @@ -173,13 +177,17 @@ jobs: steps: - uses: actions/checkout@v2 + - name: Add repositories + run: | + sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ bionic main'; \ + sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ bionic universe' + - name: Prepare Install run: sudo apt-get update --fix-missing - name: Install Packages run: sudo apt install qtbase5-dev libqt5serialport5-dev libxml2-dev clang-${{matrix.cc_ver}} - - name: Create Build Environment run: cmake -E make_directory ${{runner.workspace}}/build @@ -217,7 +225,7 @@ jobs: fail-fast: false matrix: type: [Debug, Release, MinSizeRel] - cc_ver: [7, 8, 9, 10, 11, 12] + cc_ver: [7, 8, 9, 10, 11] cpp: [11, 14, 17, 20] exclude: - cc_ver: 7 @@ -265,4 +273,52 @@ jobs: env: VERBOSE: 1 + build_clang_ubuntu_22_04: + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + type: [Debug, Release, MinSizeRel] + cc_ver: [12, 13, 14] + cpp: [11, 14, 17, 20] + + steps: + - uses: actions/checkout@v2 + + - name: Prepare Install + run: sudo apt-get update --fix-missing + + - name: Install Packages + run: sudo apt install qtbase5-dev libqt5serialport5-dev libxml2-dev clang-${{matrix.cc_ver}} + + - name: Create Build Environment + run: cmake -E make_directory ${{runner.workspace}}/build + + - name: Prepare externals + shell: bash + run: $GITHUB_WORKSPACE/script/prepare_externals.sh + env: + BUILD_DIR: ${{runner.workspace}}/build + CC: clang-${{matrix.cc_ver}} + CXX: clang++-${{matrix.cc_ver}} + 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_BRANCH}} + + - 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}} -DCC_TOOLS_QT_BUILD_DEMO_PROTOCOL=ON + env: + CC: clang-${{matrix.cc_ver}} + CXX: clang++-${{matrix.cc_ver}} + + - name: Build Target + working-directory: ${{runner.workspace}}/build + shell: bash + run: cmake --build . --config ${{matrix.type}} --target install + env: + VERBOSE: 1 From 747864d7196e526275692d0ac8ba0b001bab3a7e Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Tue, 7 Mar 2023 08:13:41 +1000 Subject: [PATCH 4/6] Cosmetic update to main CMakeLists.txt. --- CMakeLists.txt | 8 -------- 1 file changed, 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b3cd45f..baf6339 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,20 +15,12 @@ option (CC_TOOLS_QT_USE_CCACHE "Use ccache on UNIX systems if it's available" ON option (CC_TOOLS_QT_SKIP_CXX_STANDARD_FORCING "Do NOT force C++ standard to C++11, use compiler's default one." ON) option (CC_TOOLS_QT_STATIC_RUNTIME "Enable/Disable static runtime" OFF) -# Extra variables -# CC_TOOLS_QT_EXTERNALS_DIR - Directory where pull externals, defaults to -# ${PROJECT_SOURCE_DIR}/externals - ####################################################################### if (CMAKE_TOOLCHAIN_FILE AND EXISTS ${CMAKE_TOOLCHAIN_FILE}) message(STATUS "Loading toolchain from ${CMAKE_TOOLCHAIN_FILE}") endif() -if (NOT CC_TOOLS_QT_EXTERNALS_DIR) - set (CC_TOOLS_QT_EXTERNALS_DIR "${PROJECT_SOURCE_DIR}/externals") -endif () - set (CMAKE_SCRIPTS_DIR "${PROJECT_SOURCE_DIR}/cmake") if (("${CMAKE_CXX_STANDARD}" STREQUAL "") AND (NOT CC_COMMS_SKIP_CXX_STANDARD_FORCING)) From 72c98583ee5a2f7694ec0859a7f894e124df6f10 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Tue, 7 Mar 2023 09:00:47 +1000 Subject: [PATCH 5/6] Using develop branch of the dependencies in the CI. --- .appveyor.yml | 2 +- .github/workflows/actions_build.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 1291180..128fffb 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -19,7 +19,7 @@ configuration: - Release environment: - COMMS_BRANCH: master + COMMS_BRANCH: develop matrix: - CPP_STD: 11 - CPP_STD: 14 diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index 3d13b1f..6872446 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -3,7 +3,7 @@ name: Github Actions Build on: [push] env: - COMMS_BRANCH: master + COMMS_BRANCH: develop jobs: build_gcc_old_ubuntu_20_04: From e49c4c81494edea2aebb153b8769ae3bc4cde451 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Tue, 14 Mar 2023 07:52:24 +1000 Subject: [PATCH 6/6] Using master branch of the COMMS library in CI. --- .appveyor.yml | 2 +- .github/workflows/actions_build.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 128fffb..1291180 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -19,7 +19,7 @@ configuration: - Release environment: - COMMS_BRANCH: develop + COMMS_BRANCH: master matrix: - CPP_STD: 11 - CPP_STD: 14 diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index 6872446..3d13b1f 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -3,7 +3,7 @@ name: Github Actions Build on: [push] env: - COMMS_BRANCH: develop + COMMS_BRANCH: master jobs: build_gcc_old_ubuntu_20_04: