From cac446f9a4c769ab92a26f1d003e6204180ed8bb Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sun, 20 Oct 2019 09:29:47 +1000 Subject: [PATCH 01/10] Updating next version to be v3.1 --- lib/include/commsdsl/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/include/commsdsl/version.h b/lib/include/commsdsl/version.h index f928556a..b57d7fc2 100644 --- a/lib/include/commsdsl/version.h +++ b/lib/include/commsdsl/version.h @@ -23,7 +23,7 @@ #define COMMSDSL_MAJOR_VERSION 3U /// @brief Minor verion of the library -#define COMMSDSL_MINOR_VERSION 0U +#define COMMSDSL_MINOR_VERSION 1U /// @brief Patch level of the library #define COMMSDSL_PATCH_VERSION 0U From 4b670875ffba4bc76a5272c37ee3944b7b49d23a Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Tue, 29 Oct 2019 08:43:49 +1000 Subject: [PATCH 02/10] Using original namespace to retrieve extra code. --- app/commsdsl2comms/src/Generator.cpp | 3 ++- app/commsdsl2comms/src/Generator.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/commsdsl2comms/src/Generator.cpp b/app/commsdsl2comms/src/Generator.cpp index 8938ff69..de679674 100644 --- a/app/commsdsl2comms/src/Generator.cpp +++ b/app/commsdsl2comms/src/Generator.cpp @@ -1010,6 +1010,7 @@ bool Generator::parseSchemaFiles(const FilesList& files) if (m_mainNamespace.empty()) { assert(!schema.name().empty()); m_mainNamespace = common::adjustName(schema.name()); + m_schemaNamespace = m_mainNamespace; } m_schemaEndian = schema.endian(); @@ -1985,7 +1986,7 @@ std::string Generator::getCustomOpForElement( rootDir = common::pluginNsStr(); } else { - rootDir = bf::path(common::includeStr()) / m_mainNamespace; + rootDir = bf::path(common::includeStr()) / m_schemaNamespace; } auto relDirPath = rootDir / refToPath(ns); diff --git a/app/commsdsl2comms/src/Generator.h b/app/commsdsl2comms/src/Generator.h index b398d235..63fd5dc9 100644 --- a/app/commsdsl2comms/src/Generator.h +++ b/app/commsdsl2comms/src/Generator.h @@ -511,6 +511,7 @@ class Generator std::vector m_codeInputDirs; std::set m_createdDirs; std::string m_mainNamespace; + std::string m_schemaNamespace; commsdsl::Endian m_schemaEndian = commsdsl::Endian_NumOfValues; unsigned m_schemaVersion = 0U; unsigned m_minRemoteVersion = 0U; From 1b891b4c3e972b9b20ebccc6ac0f4312f7fc790f Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 1 Nov 2019 08:21:12 +1000 Subject: [PATCH 03/10] Initial support for selected bundle of messages. --- app/commsdsl2comms/src/AllMessages.cpp | 20 ++- app/commsdsl2comms/src/Generator.cpp | 166 ++++++++++++++++++++++ app/commsdsl2comms/src/Generator.h | 15 +- app/commsdsl2comms/src/ProgramOptions.cpp | 38 ++++- app/commsdsl2comms/src/ProgramOptions.h | 2 + 5 files changed, 231 insertions(+), 10 deletions(-) diff --git a/app/commsdsl2comms/src/AllMessages.cpp b/app/commsdsl2comms/src/AllMessages.cpp index c10051d1..8258382c 100644 --- a/app/commsdsl2comms/src/AllMessages.cpp +++ b/app/commsdsl2comms/src/AllMessages.cpp @@ -46,6 +46,7 @@ bool AllMessages::writeProtocolDefinition() const MessagesInfo m_all; MessagesInfo m_serverInput; MessagesInfo m_clientInput; + bool m_realPlatform = true; }; using PlatformsMap = std::map; @@ -57,6 +58,12 @@ bool AllMessages::writeProtocolDefinition() const platformsMap.insert(std::make_pair(p, PlatformInfo())); }; + auto bundles = m_generator.extraMessagesBundles(); + for (auto& b : bundles) { + auto& elem = platformsMap[b]; + elem.m_realPlatform = false; + } + auto allMessages = m_generator.getAllDslMessages(); for (auto& p : platformsMap) { @@ -120,12 +127,11 @@ bool AllMessages::writeProtocolDefinition() const auto& msgPlatforms = m.platforms(); if (msgPlatforms.empty()) { for (auto& p : platformsMap) { - if (p.first.empty()) { + if ((p.first.empty()) || (!p.second.m_realPlatform)) { continue; } addToPlatformInfoFunc(p.second); } - continue; } for (auto& p : msgPlatforms) { @@ -137,6 +143,16 @@ bool AllMessages::writeProtocolDefinition() const addToPlatformInfoFunc(iter->second); } + + auto inBundles = m_generator.bundlesForMessage(extRef); + for (auto& b : inBundles) { + auto iter = platformsMap.find(b); + if (iter == platformsMap.end()) { + assert(!"Should not happen"); + continue; + } + addToPlatformInfoFunc(iter->second); + } } auto writeFileFunc = diff --git a/app/commsdsl2comms/src/Generator.cpp b/app/commsdsl2comms/src/Generator.cpp index de679674..eaeffe51 100644 --- a/app/commsdsl2comms/src/Generator.cpp +++ b/app/commsdsl2comms/src/Generator.cpp @@ -17,6 +17,7 @@ #include #include +#include #include @@ -176,6 +177,40 @@ bool Generator::isElementOptional( return false; } +std::vector Generator::extraMessagesBundles() const +{ + std::vector result; + result.reserve(m_extraMessages.size()); + std::transform( + m_extraMessages.begin(), m_extraMessages.end(), std::back_inserter(result), + [](const auto& elem) -> const std::string& + { + return elem.m_name; + }); + return result; +} + +std::vector Generator::bundlesForMessage(const std::string& externalRef) +{ + std::vector result; + for (auto& info : m_extraMessages) { + auto iter = + std::lower_bound( + info.m_dslNames.begin(), info.m_dslNames.end(), externalRef, + [](const std::string& n, const std::string& ref) + { + return n < ref; + }); + + if ((iter == info.m_dslNames.end()) || (*iter != externalRef)) { + continue; + } + + result.push_back(info.m_name); + } + return result; +} + std::string Generator::protocolDefRootDir() { auto dir = getProtocolDefRootDir(); @@ -1079,6 +1114,10 @@ bool Generator::prepare() return false; } + if (!prepareExternalMessages()) { + return false; + } + m_messageIdField = findMessageIdField(); return true; } @@ -2073,6 +2112,133 @@ bool Generator::preparePlugins() } +bool Generator::prepareExternalMessages() +{ + auto extraBundles = m_options.getExtraInputBundles(); + if (extraBundles.empty()) { + return true; + } + + auto dslMessages = getAllDslMessages(); + std::sort( + dslMessages.begin(), dslMessages.end(), + [](auto m1, auto m2) + { + return m1.externalRef() < m2.externalRef(); + }); + + auto dslPlatforms = platforms(); + for (auto& p : dslPlatforms) { + common::nameToClass(p); + } + + std::sort( + dslPlatforms.begin(), dslPlatforms.end(), + [](const std::string& p1, const std::string& p2) + { + return p1 < p2; + }); + + for (auto& b : extraBundles) { + auto reportErrorFunc = + [this, &b]() + { + m_logger.error("Invalid value of \"" + m_options.extraInputBundlesParamStr() + "\" parameter (" + b + ")."); + }; + + auto colonPos = b.find(':'); + if ((colonPos == std::string::npos) || + (colonPos == 0) || + (b.size() <= (colonPos + 1))) { + reportErrorFunc(); + return false; + } + + ExtraMessagesInfo info; + info.m_name = b.substr(0, colonPos); + assert(!info.m_name.empty()); + auto allAlphaNum = + std::all_of(info.m_name.begin(), info.m_name.end(), + [](char ch) + { + return std::isalnum(ch) != 0; + }); + + if (!allAlphaNum) { + m_logger.error("Invalid bundle name specified with \"" + m_options.extraInputBundlesParamStr() + "\" parameter (" + b + ")."); + return false; + } + + + common::nameToClass(info.m_name); + + auto platIter = + std::lower_bound( + dslPlatforms.begin(), dslPlatforms.end(), info.m_name, + [](const std::string& pName, const std::string& bName) + { + return pName < bName; + }); + + if ((platIter != dslPlatforms.end()) || + (info.m_name == "All")) { + m_logger.error("Bundle name specified with \"" + m_options.extraInputBundlesParamStr() + "\" parameter (" + b + ") reuses name of one of the platforms."); + return false; + } + + auto filePath = b.substr(colonPos + 1); + std::ifstream stream(filePath); + if (!stream) { + m_logger.error("Invalid file name specified with \"" + m_options.extraInputBundlesParamStr() + "\" parameter (" + b + ")."); + return false; + } + + std::string content((std::istreambuf_iterator(stream)), std::istreambuf_iterator()); + ba::split(info.m_dslNames, content, ba::is_any_of(" \r\n"), ba::token_compress_on); + + // trim spaces and check the validity of names + for (auto& m : info.m_dslNames) { + ba::trim(m); + if (m.empty()) { + continue; + } + + auto iter = + std::lower_bound( + dslMessages.begin(), dslMessages.end(), m, + [](commsdsl::Message msg, const std::string& mParam) + { + return msg.externalRef() < mParam; + }); + + if ((iter == dslMessages.end()) || + (iter->externalRef() != m)) { + m_logger.error("Invalid message name (" + m + ") specified inside \"" + filePath + "\" file."); + return false; + } + } + + info.m_dslNames.erase( + std::remove_if( + info.m_dslNames.begin(), info.m_dslNames.end(), + [](const std::string& n) + { + return n.empty(); + }), + info.m_dslNames.end()); + + if (info.m_dslNames.empty()) { + m_logger.error("The file bundle \"" + info.m_name + "\" doesn't contain any messages."); + return false; + } + + std::sort(info.m_dslNames.begin(), info.m_dslNames.end()); + m_extraMessages.push_back(std::move(info)); + } + + return true; +} + std::string Generator::getOptionsBody(GetOptionsFunc func) const { std::string result; diff --git a/app/commsdsl2comms/src/Generator.h b/app/commsdsl2comms/src/Generator.h index 63fd5dc9..e5467b2b 100644 --- a/app/commsdsl2comms/src/Generator.h +++ b/app/commsdsl2comms/src/Generator.h @@ -70,6 +70,10 @@ class Generator return m_protocol.platforms(); } + std::vector extraMessagesBundles() const; + + std::vector bundlesForMessage(const std::string& externalRef); + std::string protocolDefRootDir(); std::string outputDir(); @@ -438,7 +442,14 @@ class Generator using NamespacesList = Namespace::NamespacesList; using PluginsList = std::vector; - + + struct ExtraMessagesInfo + { + std::string m_name; + std::vector m_dslNames; + }; + + using ExtraMessagesInfosList = std::vector; bool parseOptions(); bool parseCustomization(); @@ -498,6 +509,7 @@ class Generator const std::string& ext = common::headerSuffix()) const; bool preparePlugins(); + bool prepareExternalMessages(); typedef std::string (Namespace::*GetOptionsFunc)() const; std::string getOptionsBody(GetOptionsFunc func) const; @@ -517,6 +529,7 @@ class Generator unsigned m_minRemoteVersion = 0U; CustomizationLevel m_customizationLevel = CustomizationLevel::Limited; const Field* m_messageIdField = nullptr; + ExtraMessagesInfosList m_extraMessages; bool m_versionDependentCode = false; }; diff --git a/app/commsdsl2comms/src/ProgramOptions.cpp b/app/commsdsl2comms/src/ProgramOptions.cpp index 9b122ff9..3d3346ef 100644 --- a/app/commsdsl2comms/src/ProgramOptions.cpp +++ b/app/commsdsl2comms/src/ProgramOptions.cpp @@ -58,8 +58,9 @@ const std::string WarnAsErrStr("warn-as-err"); const std::string VersionIndependentCodeStr("version-independent-code"); const std::string ProtocolStr("protocol"); const std::string CustomizationStr("customization"); -const std::string GeneratedPluginBuildEnable("enable-plugin-build-by-default"); -const std::string GeneratedTestsBuildEnable("enable-tests-build-by-default"); +const std::string GeneratedPluginBuildEnableStr("enable-plugin-build-by-default"); +const std::string GeneratedTestsBuildEnableStr("enable-tests-build-by-default"); +const std::string ExtraInputMessagesBundleStr("extra-input-messages-bundle"); po::options_description createDescription() { @@ -105,11 +106,17 @@ po::options_description createDescription() "By default the generated code is version dependent if at least one defined " "interface has \"version\" field. Use this switch to forcefully disable generation " "of version denendent code.") - (GeneratedPluginBuildEnable.c_str(), po::value()->default_value(false), + (GeneratedPluginBuildEnableStr.c_str(), po::value()->default_value(false), "Enable build of the CommsChampion Tools plugin in the generated project by default. Boolean parameter.") - (GeneratedTestsBuildEnable.c_str(), po::value()->default_value(false), + (GeneratedTestsBuildEnableStr.c_str(), po::value()->default_value(false), "Enable build of the test application(s) in the generated project by default. Boolean parameter.") - + (ExtraInputMessagesBundleStr.c_str(), po::value >(), + "Provide extra custom bundle of messages, the relevant code will be added to generated " + "\"input\" and \"dispatch\" protocol definition folders. The format of the parameter is " + "\'Name:ListFile\'. The external \'ListFile\' needs to contain a new line separated list of message names " + "as defined in the CommsDSL. In case the message resides in a namespace its name must be " + "specified in the same way as being referenced in CommsDSL (\'Namespace.MessageName\'). This " + "option can be used multiple times for multiple definitions of such bundles.") ; return desc; } @@ -195,12 +202,12 @@ bool ProgramOptions::versionIndependentCodeRequested() const bool ProgramOptions::pluginBuildEnabledByDefault() const { - return m_vm[GeneratedPluginBuildEnable].as(); + return m_vm[GeneratedPluginBuildEnableStr].as(); } bool ProgramOptions::testsBuildEnabledByDefault() const { - return m_vm[GeneratedTestsBuildEnable].as(); + return m_vm[GeneratedTestsBuildEnableStr].as(); } std::string ProgramOptions::getFilesListFile() const @@ -289,6 +296,23 @@ std::string ProgramOptions::getProtocolVersion() const return m_vm[ProtocolVerStr].as(); } +std::vector ProgramOptions::getExtraInputBundles() const +{ + if (m_vm.count(ExtraInputMessagesBundleStr) == 0U) { + return std::vector(); + } + + auto bundles = m_vm[ExtraInputMessagesBundleStr].as >(); + assert(!bundles.empty()); + return bundles; +} + +const std::string& ProgramOptions::extraInputBundlesParamStr() const +{ + return ExtraInputMessagesBundleStr; +} + + } // namespace commsdsl2comms diff --git a/app/commsdsl2comms/src/ProgramOptions.h b/app/commsdsl2comms/src/ProgramOptions.h index 2a70b53f..4c1879c1 100644 --- a/app/commsdsl2comms/src/ProgramOptions.h +++ b/app/commsdsl2comms/src/ProgramOptions.h @@ -51,6 +51,8 @@ class ProgramOptions std::vector getPlugins() const; std::string getCustomizationLevel() const; std::string getProtocolVersion () const; + std::vector getExtraInputBundles() const; + const std::string& extraInputBundlesParamStr() const; private: boost::program_options::variables_map m_vm; From 460c9b37da00b0d9eb77966470cd6957c60cdf52 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 1 Nov 2019 16:22:26 +1000 Subject: [PATCH 04/10] Added despatch of externally selected messages. --- app/commsdsl2comms/src/Dispatch.cpp | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/app/commsdsl2comms/src/Dispatch.cpp b/app/commsdsl2comms/src/Dispatch.cpp index 92f62fbe..f5f8c42d 100644 --- a/app/commsdsl2comms/src/Dispatch.cpp +++ b/app/commsdsl2comms/src/Dispatch.cpp @@ -50,6 +50,7 @@ bool Dispatch::writeProtocolDefinition() const MessagesInfo m_all; MessagesInfo m_serverInput; MessagesInfo m_clientInput; + bool m_realPlatform = true; }; using PlatformsMap = std::map; @@ -61,6 +62,12 @@ bool Dispatch::writeProtocolDefinition() const platformsMap.insert(std::make_pair(p, PlatformInfo())); }; + auto bundles = m_generator.extraMessagesBundles(); + for (auto& b : bundles) { + auto& elem = platformsMap[b]; + elem.m_realPlatform = false; + } + auto allMessages = m_generator.getAllDslMessages(); for (auto& p : platformsMap) { @@ -128,12 +135,11 @@ bool Dispatch::writeProtocolDefinition() const auto& msgPlatforms = m.platforms(); if (msgPlatforms.empty()) { for (auto& p : platformsMap) { - if (p.first.empty()) { + if (p.first.empty() || (!p.second.m_realPlatform)) { continue; } addToPlatformInfoFunc(p.second); } - continue; } for (auto& p : msgPlatforms) { @@ -145,8 +151,17 @@ bool Dispatch::writeProtocolDefinition() const addToPlatformInfoFunc(iter->second); } - } + auto inBundles = m_generator.bundlesForMessage(extRef); + for (auto& b : inBundles) { + auto iter = platformsMap.find(b); + if (iter == platformsMap.end()) { + assert(!"Should not happen"); + continue; + } + addToPlatformInfoFunc(iter->second); + } + } auto writeFileFunc = [this](const MessagesInfo& info, @@ -156,8 +171,6 @@ bool Dispatch::writeProtocolDefinition() const { auto startInfo = m_generator.startDispatchProtocolWrite(fileName); auto& filePath = startInfo.first; - auto& funcName = startInfo.second; - static_cast(funcName); // TODO: remove if (filePath.empty()) { return true; @@ -261,8 +274,7 @@ std::string Dispatch::getDispatchFunc( "case #^#MSG_ID#$#:\n" "{\n" " using MsgType = #^#MSG_TYPE#$#;\n" - " auto& castedMsg = static_cast(msg);\n" - " return handler.handle(castedMsg);\n" + " return handler.handle(static_cast(msg));\n" "}"; if (msgList.size() == 1) { From 6eb8000a38d48636efbdf57309d1af999b0ba696 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 1 Nov 2019 16:36:51 +1000 Subject: [PATCH 05/10] Extra fixes to additional message bundles. --- app/commsdsl2comms/src/Dispatch.cpp | 4 +++- app/commsdsl2comms/src/Generator.cpp | 8 ++++---- app/commsdsl2comms/src/ProgramOptions.cpp | 12 ++++++------ app/commsdsl2comms/src/ProgramOptions.h | 2 +- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/app/commsdsl2comms/src/Dispatch.cpp b/app/commsdsl2comms/src/Dispatch.cpp index f5f8c42d..7786d75a 100644 --- a/app/commsdsl2comms/src/Dispatch.cpp +++ b/app/commsdsl2comms/src/Dispatch.cpp @@ -253,7 +253,9 @@ std::string Dispatch::getDispatchFunc( using MsgMap = std::map; MsgMap msgMap; for (auto& m : messages) { - msgMap[m.id()].push_back(m); + auto& msgList = msgMap[m.id()]; + assert((msgList.empty()) || (msgList.back().name() != m.name())); // Make sure message is not inserted twice + msgList.push_back(m); } bool hasMultipleMessagesWithSameId = diff --git a/app/commsdsl2comms/src/Generator.cpp b/app/commsdsl2comms/src/Generator.cpp index eaeffe51..a70e713c 100644 --- a/app/commsdsl2comms/src/Generator.cpp +++ b/app/commsdsl2comms/src/Generator.cpp @@ -2143,7 +2143,7 @@ bool Generator::prepareExternalMessages() auto reportErrorFunc = [this, &b]() { - m_logger.error("Invalid value of \"" + m_options.extraInputBundlesParamStr() + "\" parameter (" + b + ")."); + m_logger.error("Invalid value of \"" + m_options.extraMessagesBundlesParamStr() + "\" parameter (" + b + ")."); }; auto colonPos = b.find(':'); @@ -2165,7 +2165,7 @@ bool Generator::prepareExternalMessages() }); if (!allAlphaNum) { - m_logger.error("Invalid bundle name specified with \"" + m_options.extraInputBundlesParamStr() + "\" parameter (" + b + ")."); + m_logger.error("Invalid bundle name specified with \"" + m_options.extraMessagesBundlesParamStr() + "\" parameter (" + b + ")."); return false; } @@ -2182,14 +2182,14 @@ bool Generator::prepareExternalMessages() if ((platIter != dslPlatforms.end()) || (info.m_name == "All")) { - m_logger.error("Bundle name specified with \"" + m_options.extraInputBundlesParamStr() + "\" parameter (" + b + ") reuses name of one of the platforms."); + m_logger.error("Bundle name specified with \"" + m_options.extraMessagesBundlesParamStr() + "\" parameter (" + b + ") reuses name of one of the platforms."); return false; } auto filePath = b.substr(colonPos + 1); std::ifstream stream(filePath); if (!stream) { - m_logger.error("Invalid file name specified with \"" + m_options.extraInputBundlesParamStr() + "\" parameter (" + b + ")."); + m_logger.error("Invalid file name specified with \"" + m_options.extraMessagesBundlesParamStr() + "\" parameter (" + b + ")."); return false; } diff --git a/app/commsdsl2comms/src/ProgramOptions.cpp b/app/commsdsl2comms/src/ProgramOptions.cpp index 3d3346ef..ac39bd9a 100644 --- a/app/commsdsl2comms/src/ProgramOptions.cpp +++ b/app/commsdsl2comms/src/ProgramOptions.cpp @@ -60,7 +60,7 @@ const std::string ProtocolStr("protocol"); const std::string CustomizationStr("customization"); const std::string GeneratedPluginBuildEnableStr("enable-plugin-build-by-default"); const std::string GeneratedTestsBuildEnableStr("enable-tests-build-by-default"); -const std::string ExtraInputMessagesBundleStr("extra-input-messages-bundle"); +const std::string ExtraMessagesBundleStr("extra-messages-bundle"); po::options_description createDescription() { @@ -110,7 +110,7 @@ po::options_description createDescription() "Enable build of the CommsChampion Tools plugin in the generated project by default. Boolean parameter.") (GeneratedTestsBuildEnableStr.c_str(), po::value()->default_value(false), "Enable build of the test application(s) in the generated project by default. Boolean parameter.") - (ExtraInputMessagesBundleStr.c_str(), po::value >(), + (ExtraMessagesBundleStr.c_str(), po::value >(), "Provide extra custom bundle of messages, the relevant code will be added to generated " "\"input\" and \"dispatch\" protocol definition folders. The format of the parameter is " "\'Name:ListFile\'. The external \'ListFile\' needs to contain a new line separated list of message names " @@ -298,18 +298,18 @@ std::string ProgramOptions::getProtocolVersion() const std::vector ProgramOptions::getExtraInputBundles() const { - if (m_vm.count(ExtraInputMessagesBundleStr) == 0U) { + if (m_vm.count(ExtraMessagesBundleStr) == 0U) { return std::vector(); } - auto bundles = m_vm[ExtraInputMessagesBundleStr].as >(); + auto bundles = m_vm[ExtraMessagesBundleStr].as >(); assert(!bundles.empty()); return bundles; } -const std::string& ProgramOptions::extraInputBundlesParamStr() const +const std::string& ProgramOptions::extraMessagesBundlesParamStr() const { - return ExtraInputMessagesBundleStr; + return ExtraMessagesBundleStr; } diff --git a/app/commsdsl2comms/src/ProgramOptions.h b/app/commsdsl2comms/src/ProgramOptions.h index 4c1879c1..2da1d398 100644 --- a/app/commsdsl2comms/src/ProgramOptions.h +++ b/app/commsdsl2comms/src/ProgramOptions.h @@ -52,7 +52,7 @@ class ProgramOptions std::string getCustomizationLevel() const; std::string getProtocolVersion () const; std::vector getExtraInputBundles() const; - const std::string& extraInputBundlesParamStr() const; + const std::string& extraMessagesBundlesParamStr() const; private: boost::program_options::variables_map m_vm; From 722bef7b75c47487a205823f69e8cc05215dba74 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 1 Nov 2019 19:06:59 +1000 Subject: [PATCH 06/10] Attempt to fix Windows build. --- app/commsdsl2comms/src/Generator.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/app/commsdsl2comms/src/Generator.cpp b/app/commsdsl2comms/src/Generator.cpp index a70e713c..6882ce55 100644 --- a/app/commsdsl2comms/src/Generator.cpp +++ b/app/commsdsl2comms/src/Generator.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include From b6df3e27c82080f48e4b918b36da5ad2d2bd49fe Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 9 Nov 2019 11:30:48 +1000 Subject: [PATCH 07/10] Using develop branch for comms_champion. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ebebf21..1670a3e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -142,7 +142,7 @@ endwhile () include(GNUInstallDirs) if ("${CC_TAG}" STREQUAL "") - set (CC_TAG "v2.2") + set (CC_TAG "develop") endif() add_subdirectory(lib) From 5a6b20c5dba28b790f9102244870740b026a53de Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 9 Nov 2019 11:31:51 +1000 Subject: [PATCH 08/10] Fixing buid with gcc-9. --- lib/include/commsdsl/Protocol.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/include/commsdsl/Protocol.h b/lib/include/commsdsl/Protocol.h index 9d9aa37f..8bb5a012 100644 --- a/lib/include/commsdsl/Protocol.h +++ b/lib/include/commsdsl/Protocol.h @@ -50,7 +50,7 @@ class COMMSDSL_API Protocol Schema schema() const; NamespacesList namespaces() const; - static constexpr unsigned notYetDeprecated() + static constexpr unsigned notYetDeprecated() noexcept { return std::numeric_limits::max(); } From 236cf8f0e5e9df078136407be6b6ef2ae77201aa Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 9 Nov 2019 11:56:01 +1000 Subject: [PATCH 09/10] Updating travis configuration. --- .travis.yml | 291 ++++++++++++++++------------------------------------ 1 file changed, 90 insertions(+), 201 deletions(-) diff --git a/.travis.yml b/.travis.yml index 441d4b0b..2edb1b4c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -dist: trusty +dist: bionic language: cpp sudo: true notifications: @@ -14,565 +14,454 @@ matrix: - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-5 env: _CC=gcc-5 _CXX=g++-5 - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-5 env: _CC=gcc-5 _CXX=g++-5 _BUILD="-DCMAKE_BUILD_TYPE=Release" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-5 env: _CC=gcc-5 _CXX=g++-5 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-5 env: _CC=gcc-5 _CXX=g++-5 _BUILD="-DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-5 env: _CC=gcc-5 _CXX=g++-5 _BUILD="-DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-5 env: _CC=gcc-5 _CXX=g++-5 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-6 env: _CC=gcc-6 _CXX=g++-6 - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-6 env: _CC=gcc-6 _CXX=g++-6 _BUILD="-DCMAKE_BUILD_TYPE=Release" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-6 env: _CC=gcc-6 _CXX=g++-6 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-6 env: _CC=gcc-6 _CXX=g++-6 _BUILD="-DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-6 env: _CC=gcc-6 _CXX=g++-6 _BUILD="-DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-6 env: _CC=gcc-6 _CXX=g++-6 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-7 env: _CC=gcc-7 _CXX=g++-7 - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-7 env: _CC=gcc-7 _CXX=g++-7 _BUILD="-DCMAKE_BUILD_TYPE=Release" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-7 env: _CC=gcc-7 _CXX=g++-7 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-7 env: _CC=gcc-7 _CXX=g++-7 _BUILD="-DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-7 env: _CC=gcc-7 _CXX=g++-7 _BUILD="-DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-7 env: _CC=gcc-7 _CXX=g++-7 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-8 env: _CC=gcc-8 _CXX=g++-8 - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-8 env: _CC=gcc-8 _CXX=g++-8 _BUILD="-DCMAKE_BUILD_TYPE=Release" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-8 env: _CC=gcc-8 _CXX=g++-8 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-8 env: _CC=gcc-8 _CXX=g++-8 _BUILD="-DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-8 env: _CC=gcc-8 _CXX=g++-8 _BUILD="-DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - g++-8 env: _CC=gcc-8 _CXX=g++-8 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel -DCOMMSDSL_TESTS_CXX_STANDARD=14" + - os: linux + env: _CC=gcc-9 _CXX=g++-9 _USE_GCC9=1 + - os: linux + env: _CC=gcc-9 _CXX=g++-9 _USE_GCC9=1 _BUILD="-DCMAKE_BUILD_TYPE=Release" + - os: linux + env: _CC=gcc-9 _CXX=g++-9 _USE_GCC9=1 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel" + - os: linux + env: _CC=gcc-9 _CXX=g++-9 _USE_GCC9=1 _BUILD="-DCOMMSDSL_TESTS_CXX_STANDARD=14" + - os: linux + env: _CC=gcc-9 _CXX=g++-9 _USE_GCC9=1 _BUILD="-DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_TESTS_CXX_STANDARD=14" + - os: linux + env: _CC=gcc-9 _CXX=g++-9 _USE_GCC9=1 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-3.9 - - ubuntu-toolchain-r-test + sources: + - llvm-toolchain-bionic-3.9 packages: - - clang-3.9 - - g++-5 + - clang-3.9 env: _CC=clang-3.9 _CXX=clang++-3.9 - os: linux addons: apt: sources: - - llvm-toolchain-trusty-3.9 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-3.9 packages: - - clang-3.9 - - g++-5 + - clang-3.9 env: _CC=clang-3.9 _CXX=clang++-3.9 _BUILD="-DCMAKE_BUILD_TYPE=Release" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-3.9 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-3.9 packages: - - clang-3.9 - - g++-5 + - clang-3.9 env: _CC=clang-3.9 _CXX=clang++-3.9 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-3.9 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-3.9 packages: - - clang-3.9 - - g++-5 + - clang-3.9 env: _CC=clang-3.9 _CXX=clang++-3.9 _BUILD="-DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-3.9 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-3.9 packages: - - clang-3.9 - - g++-5 + - clang-3.9 env: _CC=clang-3.9 _CXX=clang++-3.9 _BUILD="-DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-3.9 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-3.9 packages: - - clang-3.9 - - g++-5 + - clang-3.9 env: _CC=clang-3.9 _CXX=clang++-3.9 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-4.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-4.0 packages: - - clang-4.0 - - g++-5 + - clang-4.0 env: _CC=clang-4.0 _CXX=clang++-4.0 - os: linux addons: apt: sources: - - llvm-toolchain-trusty-4.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-4.0 packages: - - clang-4.0 - - g++-5 + - clang-4.0 env: _CC=clang-4.0 _CXX=clang++-4.0 _BUILD="-DCMAKE_BUILD_TYPE=Release" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-4.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-4.0 packages: - - clang-4.0 - - g++-5 + - clang-4.0 env: _CC=clang-4.0 _CXX=clang++-4.0 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-4.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-4.0 packages: - - clang-4.0 - - g++-5 + - clang-4.0 env: _CC=clang-4.0 _CXX=clang++-4.0 _BUILD="-DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-4.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-4.0 packages: - - clang-4.0 - - g++-5 + - clang-4.0 env: _CC=clang-4.0 _CXX=clang++-4.0 _BUILD="-DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-4.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-4.0 packages: - - clang-4.0 - - g++-5 + - clang-4.0 env: _CC=clang-4.0 _CXX=clang++-4.0 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-5.0 packages: - - clang-5.0 - - g++-5 + - clang-5.0 env: _CC=clang-5.0 _CXX=clang++-5.0 - os: linux addons: apt: sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-5.0 packages: - - clang-5.0 - - g++-5 + - clang-5.0 env: _CC=clang-5.0 _CXX=clang++-5.0 _BUILD="-DCMAKE_BUILD_TYPE=Release" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-5.0 packages: - - clang-5.0 - - g++-5 + - clang-5.0 env: _CC=clang-5.0 _CXX=clang++-5.0 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-5.0 packages: - - clang-5.0 - - g++-5 + - clang-5.0 env: _CC=clang-5.0 _CXX=clang++-5.0 _BUILD="-DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-5.0 packages: - - clang-5.0 - - g++-5 + - clang-5.0 env: _CC=clang-5.0 _CXX=clang++-5.0 _BUILD="-DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-5.0 - - ubuntu-toolchain-r-test + sources: + - llvm-toolchain-bionic-5.0 packages: - - clang-5.0 - - g++-5 + - clang-5.0 env: _CC=clang-5.0 _CXX=clang++-5.0 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-6.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-6.0 packages: - - clang-6.0 - - g++-5 + - clang-6.0 env: _CC=clang-6.0 _CXX=clang++-6.0 - os: linux addons: apt: sources: - - llvm-toolchain-trusty-6.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-6.0 packages: - - clang-6.0 - - g++-5 + - clang-6.0 env: _CC=clang-6.0 _CXX=clang++-6.0 _BUILD="-DCMAKE_BUILD_TYPE=Release" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-6.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-6.0 packages: - - clang-6.0 - - g++-5 + - clang-6.0 env: _CC=clang-6.0 _CXX=clang++-6.0 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-6.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-6.0 packages: - - clang-6.0 - - g++-5 + - clang-6.0 env: _CC=clang-6.0 _CXX=clang++-6.0 _BUILD="-DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-6.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-6.0 packages: - - clang-6.0 - - g++-5 + - clang-6.0 env: _CC=clang-6.0 _CXX=clang++-6.0 _BUILD="-DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-6.0 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-6.0 packages: - - clang-6.0 - - g++-5 + - clang-6.0 env: _CC=clang-6.0 _CXX=clang++-6.0 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-7 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-7 packages: - - clang-7 - - g++-5 + - clang-7 env: _CC=clang-7 _CXX=clang++-7 - os: linux addons: apt: sources: - - llvm-toolchain-trusty-7 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-7 packages: - - clang-7 - - g++-5 + - clang-7 env: _CC=clang-7 _CXX=clang++-7 _BUILD="-DCMAKE_BUILD_TYPE=Release" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-7 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-7 packages: - - clang-7 - - g++-5 + - clang-7 env: _CC=clang-7 _CXX=clang++-7 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-7 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-7 packages: - - clang-7 - - g++-5 + - clang-7 env: _CC=clang-7 _CXX=clang++-7 _BUILD="-DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-7 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-7 packages: - - clang-7 - - g++-5 + - clang-7 env: _CC=clang-7 _CXX=clang++-7 _BUILD="-DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-7 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-7 packages: - - clang-7 - - g++-5 + - clang-7 env: _CC=clang-7 _CXX=clang++-7 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-8 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-8 packages: - - clang-8 - - g++-5 + - clang-8 env: _CC=clang-8 _CXX=clang++-8 - os: linux addons: apt: sources: - - llvm-toolchain-trusty-8 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-8 packages: - - clang-8 - - g++-5 + - clang-8 env: _CC=clang-8 _CXX=clang++-8 _BUILD="-DCMAKE_BUILD_TYPE=Release" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-8 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-8 packages: - - clang-8 - - g++-5 + - clang-8 env: _CC=clang-8 _CXX=clang++-8 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-8 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-8 packages: - - clang-8 - - g++-5 + - clang-8 env: _CC=clang-8 _CXX=clang++-8 _BUILD="-DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-8 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-8 packages: - - clang-8 - - g++-5 + - clang-8 env: _CC=clang-8 _CXX=clang++-8 _BUILD="-DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_TESTS_CXX_STANDARD=14" - os: linux addons: apt: sources: - - llvm-toolchain-trusty-8 - - ubuntu-toolchain-r-test + - llvm-toolchain-bionic-8 packages: - - clang-8 - - g++-5 + - clang-8 env: _CC=clang-8 _CXX=clang++-8 _BUILD="-DCMAKE_BUILD_TYPE=MinSizeRel -DCOMMSDSL_TESTS_CXX_STANDARD=14" before_install: - - sudo add-apt-repository ppa:beineri/opt-qt562-trusty -y - - sudo add-apt-repository ppa:george-edison55/cmake-3.x -y - - sudo apt-get update -q - - sudo apt-get install libc++-dev cmake cmake-data qt56base qt56serialport libboost-program-options-dev libboost-filesystem-dev libboost-system-dev -y - - if [[ ${_CC} == clang* ]]; then sudo apt-get remove gcc-4.8 g++-4.8 -y; fi - -before_script: - - source /opt/qt56/bin/qt56-env.sh + - if [ -n "${_USE_GCC9}" ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; sudo apt-get update; sudo apt-get install g++-9; fi + - sudo apt-get install libqt5serialport5-dev -y + - sudo apt-get install libboost-program-options-dev libboost-filesystem-dev libboost-system-dev -y script: - mkdir build From 6a5ba8522519935776d28d50b545f5481ca2013f Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Mon, 11 Nov 2019 16:07:46 +1000 Subject: [PATCH 10/10] Using v2.2.1 of the comms_champion project. --- CMakeLists.txt | 2 +- app/commsdsl2comms/src/Generator.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1670a3e0..c59a6f45 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -142,7 +142,7 @@ endwhile () include(GNUInstallDirs) if ("${CC_TAG}" STREQUAL "") - set (CC_TAG "develop") + set (CC_TAG "v2.2.1") endif() add_subdirectory(lib) diff --git a/app/commsdsl2comms/src/Generator.cpp b/app/commsdsl2comms/src/Generator.cpp index 6882ce55..a8251d52 100644 --- a/app/commsdsl2comms/src/Generator.cpp +++ b/app/commsdsl2comms/src/Generator.cpp @@ -47,7 +47,7 @@ namespace { const unsigned MaxDslVersion = 3U; -const std::string MinCommsVersionStr("2, 2, 0"); +const std::string MinCommsVersionStr("2, 2, 1"); const std::string ScopeSep("::"); const std::string ReplaceSuffix(".replace"); const std::string ExtendSuffix(".extend");