Enable Codification/OHP/PlanEditor/OrgChart plugin groups (G12 225); harden new_docker_build.sh
First-build fixes (DDS members, Qt6 transitive WebChannel/PrintSupport drops, logger init, Qt5 guard); script: log_warn, BUILD_WLS default ON, Poppler image+APT, XmlPatterns 6.0 wording
This commit is contained in:
11 files changed
+278
-61
No files matched your search
@@ -1,4 +1,5 @@
|
|||||||
# export MIGRATE_PIPELINE_ROOT="/home/torsten/sandbox/qt6-migration-pipeline"
|
# export MIGRATE_PIPELINE_ROOT="/home/torsten/sandbox/qt6-migration-pipeline"
|
||||||
export MIGRATE_PIPELINE_ROOT="/home/nkana/repo/qt6-migration-pipeline"
|
export MIGRATE_PIPELINE_ROOT="/home/nkana/repo/qt6-migration-pipeline"
|
||||||
|
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=16000
|
||||||
export LANG=C.UTF-8
|
export LANG=C.UTF-8
|
||||||
export LC_ALL=C.UTF-8
|
export LC_ALL=C.UTF-8
|
||||||
@@ -360,6 +360,37 @@ if(NOT Qt6_FOUND)
|
|||||||
message(STATUS "Found Qt6 (minimal): ${Qt6Core_VERSION}")
|
message(STATUS "Found Qt6 (minimal): ${Qt6Core_VERSION}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Qt6::XmlPatterns (consumed by the MSDL/Saab import libs, gated by
|
||||||
|
# BUILD_PLUGINS_MSDL / BUILD_PLUGINS_SAAB): the XmlPatterns module (its own
|
||||||
|
# qtxmlpatterns repo) was removed in Qt 6.0 and never re-introduced, so no Qt 6
|
||||||
|
# install carries it. It is NOT part of the component lists above (a missing
|
||||||
|
# component there would flip Qt6_FOUND off and disable the whole GUI path).
|
||||||
|
# Find it separately; when absent the two plugins must stay disabled - their
|
||||||
|
# CMakeLists reference Qt6::XmlPatterns in link libraries and CMake errors at
|
||||||
|
# generate time for an undefined namespaced target.
|
||||||
|
if(NOT TARGET Qt6::XmlPatterns)
|
||||||
|
find_package(Qt6XmlPatterns QUIET)
|
||||||
|
if(Qt6XmlPatterns_FOUND)
|
||||||
|
message(STATUS "Found Qt6XmlPatterns")
|
||||||
|
else()
|
||||||
|
message(STATUS "Qt6XmlPatterns not found (PpmMSDLGuiPlugin/PpmSAABGuiPlugin require it; keep BUILD_PLUGINS_MSDL/BUILD_PLUGINS_SAAB OFF)")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Qt6::WebChannel (consumed by PpmOrgChartGuiPlugin's QWebChannel page setup):
|
||||||
|
# in Qt5 Qt5::WebEngineWidgets transitively linked Qt5::WebChannel (Qt5's
|
||||||
|
# webengine depended on webchannel), but Qt6 dropped that dependency, so the
|
||||||
|
# module must be found and linked explicitly. Separate QUIET find - never let
|
||||||
|
# a missing optional component flip Qt6_FOUND off.
|
||||||
|
if(NOT TARGET Qt6::WebChannel)
|
||||||
|
find_package(Qt6 6.2 COMPONENTS WebChannel QUIET)
|
||||||
|
if(Qt6WebChannel_FOUND)
|
||||||
|
message(STATUS "Found Qt6WebChannel")
|
||||||
|
else()
|
||||||
|
message(STATUS "Qt6WebChannel not found (PpmOrgChartGuiPlugin requires it; keep BUILD_PLUGINS_PARTICIPANT_ORG_CHART OFF)")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# Manual Qt6 configuration - create imported targets for available libraries
|
# Manual Qt6 configuration - create imported targets for available libraries
|
||||||
if(NOT TARGET Qt6::Core)
|
if(NOT TARGET Qt6::Core)
|
||||||
find_package(Qt6 6.2 COMPONENTS Core REQUIRED)
|
find_package(Qt6 6.2 COMPONENTS Core REQUIRED)
|
||||||
|
|||||||
+7
-7
@@ -64,20 +64,20 @@ bool AssignCodificationDataTable::init(const std::shared_ptr<CodificationManagem
|
|||||||
for (const ParticipantManagement::Party& party : std::as_const(userVisibleParties))
|
for (const ParticipantManagement::Party& party : std::as_const(userVisibleParties))
|
||||||
{
|
{
|
||||||
|
|
||||||
if (party.id() != 2 && party.id() != 3)
|
if (party.id != 2 && party.id != 3)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
QString partyName;
|
QString partyName;
|
||||||
if (party.id() == 2)
|
if (party.id == 2)
|
||||||
partyName = tr("OPFOR:");
|
partyName = tr("OPFOR:");
|
||||||
else if (party.id() == 3)
|
else if (party.id == 3)
|
||||||
partyName = tr("BLUFOR:");
|
partyName = tr("BLUFOR:");
|
||||||
else
|
else
|
||||||
partyName = ParticipantManagement::trPartyName(party.name());
|
partyName = ParticipantManagement::trPartyName(party.name);
|
||||||
m_ui->partyLayout->addWidget(new QLabel(partyName, this), i, 0, 1, 1);
|
m_ui->partyLayout->addWidget(new QLabel(partyName, this), i, 0, 1, 1);
|
||||||
|
|
||||||
LtsWidgets::LtsComboBox* cb = new LtsWidgets::LtsComboBox(this);
|
LtsWidgets::LtsComboBox* cb = new LtsWidgets::LtsComboBox(this);
|
||||||
cb->setProperty(QLatin1String("partyId").data(), party.id());
|
cb->setProperty(QLatin1String("partyId").data(), party.id);
|
||||||
m_tableVec.append(cb);
|
m_tableVec.append(cb);
|
||||||
cb->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
|
cb->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
|
||||||
cb->addItem(QStringLiteral("---"), 0);
|
cb->addItem(QStringLiteral("---"), 0);
|
||||||
@@ -88,7 +88,7 @@ bool AssignCodificationDataTable::init(const std::shared_ptr<CodificationManagem
|
|||||||
m_model->data(m_model->index(row, CodificationDataOverviewModel::Id), Qt::DisplayRole));
|
m_model->data(m_model->index(row, CodificationDataOverviewModel::Id), Qt::DisplayRole));
|
||||||
|
|
||||||
DEBUG_LOG(m_logger)
|
DEBUG_LOG(m_logger)
|
||||||
<< "Init Combobox[" << row << "]: PartyId: " << party.id() << " Identifier: "
|
<< "Init Combobox[" << row << "]: PartyId: " << party.id << " Identifier: "
|
||||||
<< m_model->data(m_model->index(row, CodificationDataOverviewModel::Identifier), Qt::DisplayRole)
|
<< m_model->data(m_model->index(row, CodificationDataOverviewModel::Identifier), Qt::DisplayRole)
|
||||||
.toString()
|
.toString()
|
||||||
<< " CodTabId: "
|
<< " CodTabId: "
|
||||||
@@ -105,7 +105,7 @@ bool AssignCodificationDataTable::init(const std::shared_ptr<CodificationManagem
|
|||||||
.toInt();
|
.toInt();
|
||||||
DEBUG_LOG(m_logger) << "Assignment[" << row << "]: assignedPartyId: " << assignedPartyId;
|
DEBUG_LOG(m_logger) << "Assignment[" << row << "]: assignedPartyId: " << assignedPartyId;
|
||||||
|
|
||||||
if (party.id() == assignedPartyId)
|
if (party.id == assignedPartyId)
|
||||||
{
|
{
|
||||||
tableId =
|
tableId =
|
||||||
m_model->data(m_model->index(row, CodificationDataOverviewModel::Id), Qt::DisplayRole).toInt();
|
m_model->data(m_model->index(row, CodificationDataOverviewModel::Id), Qt::DisplayRole).toInt();
|
||||||
|
|||||||
@@ -91,7 +91,10 @@ ADD_INTERFACE_LIBRARY(PpmDataPluginInterface
|
|||||||
svcPpmCommon
|
svcPpmCommon
|
||||||
)
|
)
|
||||||
|
|
||||||
IF(Qt5WebEngineWidgets_VERSION VERSION_GREATER 5.7.9)
|
# Qt6 Migration: legacy guarded on Qt5WebEngineWidgets_VERSION > 5.7.9; the
|
||||||
|
# Qt6 equivalent is that the Qt6::WebEngineWidgets target exists (consumer
|
||||||
|
# plugins are additionally gated by BUILD_PLUGINS_PARTICIPANT_ORG_CHART).
|
||||||
|
IF(TARGET Qt6::WebEngineWidgets)
|
||||||
#
|
#
|
||||||
# Combat Power Gui Plugin Interface
|
# Combat Power Gui Plugin Interface
|
||||||
#
|
#
|
||||||
|
|||||||
+3
@@ -44,6 +44,9 @@ if(QT6_GUI_AVAILABLE)
|
|||||||
${Qt6_Widgets}
|
${Qt6_Widgets}
|
||||||
Qt6::WebEngineCore
|
Qt6::WebEngineCore
|
||||||
Qt6::WebEngineWidgets
|
Qt6::WebEngineWidgets
|
||||||
|
# Qt6 Migration: Qt5::WebEngineWidgets transitively linked Qt5::WebChannel;
|
||||||
|
# Qt6 dropped that dependency, so link the module explicitly.
|
||||||
|
Qt6::WebChannel
|
||||||
LtsSession
|
LtsSession
|
||||||
NGLLogger
|
NGLLogger
|
||||||
PUBLIC
|
PUBLIC
|
||||||
|
|||||||
+17
-16
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include "participant_org_chart.h"
|
#include "participant_org_chart.h"
|
||||||
#include "ui_participant_org_chart.h"
|
#include "ui_participant_org_chart.h"
|
||||||
|
#include <NGLLogger/NGLLoggerBootstrap.h>
|
||||||
#include <QtWebEngineCore/QWebEngineSettings>
|
#include <QtWebEngineCore/QWebEngineSettings>
|
||||||
|
|
||||||
#include <Symbology/symbol_data_to_render_role.h>
|
#include <Symbology/symbol_data_to_render_role.h>
|
||||||
@@ -16,9 +17,9 @@ namespace ParticipantManagement
|
|||||||
inline bool compareState(const StateInformation &a,
|
inline bool compareState(const StateInformation &a,
|
||||||
const StateInformation &b)
|
const StateInformation &b)
|
||||||
{
|
{
|
||||||
if (a.stateTime() != b.stateTime())
|
if (a.stateTime != b.stateTime)
|
||||||
return a.stateTime() < b.stateTime();
|
return a.stateTime < b.stateTime;
|
||||||
return a.vulnerabilityState() < b.vulnerabilityState();
|
return a.vulnerabilityState < b.vulnerabilityState;
|
||||||
}
|
}
|
||||||
|
|
||||||
LtsParticipantsOrgChart::LtsParticipantsOrgChart(QWidget *parent)
|
LtsParticipantsOrgChart::LtsParticipantsOrgChart(QWidget *parent)
|
||||||
@@ -32,6 +33,7 @@ LtsParticipantsOrgChart::LtsParticipantsOrgChart(QWidget *parent)
|
|||||||
, m_dtc(nullptr)
|
, m_dtc(nullptr)
|
||||||
, m_asbItc(nullptr)
|
, m_asbItc(nullptr)
|
||||||
, m_ui(new Ui::LtsParticipantsOrgChart)
|
, m_ui(new Ui::LtsParticipantsOrgChart)
|
||||||
|
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
|
||||||
{
|
{
|
||||||
m_ui->setupUi(this);
|
m_ui->setupUi(this);
|
||||||
}
|
}
|
||||||
@@ -137,16 +139,16 @@ void LtsParticipantsOrgChart::loadParty(int partyId)
|
|||||||
|
|
||||||
for (const ParticipantManagement::Participant &part : participantMap)
|
for (const ParticipantManagement::Participant &part : participantMap)
|
||||||
{
|
{
|
||||||
if (part.isDeleted() || part.partyId() != m_partyId)
|
if (part.isDeleted || part.partyId != m_partyId)
|
||||||
continue;
|
continue;
|
||||||
if (part.superiorId() == 0)
|
if (part.superiorId == 0)
|
||||||
{
|
{
|
||||||
root = part;
|
root = part;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (root.inferiorIds().size() == 0)
|
if (root.inferiorIds.size() == 0)
|
||||||
{
|
{
|
||||||
m_dataSource = preDefThing;
|
m_dataSource = preDefThing;
|
||||||
m_ui->wevOrgChart->reload();
|
m_ui->wevOrgChart->reload();
|
||||||
@@ -166,10 +168,10 @@ void LtsParticipantsOrgChart::loadParty(int partyId)
|
|||||||
connect(m_participantOrgChart_MimeDataHelper.data(), &ParticipantOrgChart_MimeDataHelper::finished,
|
connect(m_participantOrgChart_MimeDataHelper.data(), &ParticipantOrgChart_MimeDataHelper::finished,
|
||||||
this, &LtsParticipantsOrgChart::onParticipantOrgChart_MimeDataHelperFinished);
|
this, &LtsParticipantsOrgChart::onParticipantOrgChart_MimeDataHelperFinished);
|
||||||
|
|
||||||
m_participantOrgChart_MimeDataHelper->run(root.id(),
|
m_participantOrgChart_MimeDataHelper->run(root.id,
|
||||||
false,
|
false,
|
||||||
AdvancedSymbology::roleToRole<>(m_dtc->party(m_partyId).role()),
|
AdvancedSymbology::roleToRole<>(m_dtc->party(m_partyId).role),
|
||||||
QColor::fromRgb(QRgb(m_dtc->party(m_partyId).color())),
|
QColor::fromRgb(QRgb(m_dtc->party(m_partyId).color)),
|
||||||
m_useSymData);
|
m_useSymData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,10 +233,10 @@ bool LtsParticipantsOrgChart::loadTemplate(int templateRootId)
|
|||||||
connect(m_participantOrgChart_MimeDataHelper.data(), &ParticipantOrgChart_MimeDataHelper::finished,
|
connect(m_participantOrgChart_MimeDataHelper.data(), &ParticipantOrgChart_MimeDataHelper::finished,
|
||||||
this, &LtsParticipantsOrgChart::onParticipantOrgChart_MimeDataHelperFinished);
|
this, &LtsParticipantsOrgChart::onParticipantOrgChart_MimeDataHelperFinished);
|
||||||
|
|
||||||
m_participantOrgChart_MimeDataHelper->run(root.templateId(),
|
m_participantOrgChart_MimeDataHelper->run(root.templateId,
|
||||||
false,
|
false,
|
||||||
AdvancedSymbology::roleToRole<>(m_dtc->party(m_partyId).role()),
|
AdvancedSymbology::roleToRole<>(m_dtc->party(m_partyId).role),
|
||||||
QColor::fromRgb(QRgb(m_dtc->party(m_partyId).color())),
|
QColor::fromRgb(QRgb(m_dtc->party(m_partyId).color)),
|
||||||
false);
|
false);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -258,8 +260,8 @@ void LtsParticipantsOrgChart::updateParticipant(int participantId)
|
|||||||
|
|
||||||
helper->run(participantId,
|
helper->run(participantId,
|
||||||
true,
|
true,
|
||||||
AdvancedSymbology::roleToRole<>(m_dtc->party(m_partyId).role()),
|
AdvancedSymbology::roleToRole<>(m_dtc->party(m_partyId).role),
|
||||||
QColor::fromRgb(QRgb(m_dtc->party(m_partyId).color())),
|
QColor::fromRgb(QRgb(m_dtc->party(m_partyId).color)),
|
||||||
m_useSymData);
|
m_useSymData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,8 +303,7 @@ void LtsParticipantsOrgChart::getWholeHierarchy()
|
|||||||
WebNofitifier::WebNofitifier(QObject *parent) : QObject(parent)
|
WebNofitifier::WebNofitifier(QObject *parent) : QObject(parent)
|
||||||
, m_currentJsonString(QString())
|
, m_currentJsonString(QString())
|
||||||
, m_updateString(QString())
|
, m_updateString(QString())
|
||||||
, m_updateTimer(new QTimer(this)),
|
, m_updateTimer(new QTimer(this)) {
|
||||||
m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger()) {
|
|
||||||
connect(m_updateTimer, &QTimer::timeout, this, &WebNofitifier::onTimerTick);
|
connect(m_updateTimer, &QTimer::timeout, this, &WebNofitifier::onTimerTick);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -97,7 +97,6 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
NGL::INGLLogger &m_logger;
|
|
||||||
int m_partyId;
|
int m_partyId;
|
||||||
bool m_useSymData;
|
bool m_useSymData;
|
||||||
bool m_isMenuEnabled;
|
bool m_isMenuEnabled;
|
||||||
@@ -114,6 +113,8 @@ NGL::INGLLogger &m_logger;
|
|||||||
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_dtc;
|
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_dtc;
|
||||||
std::shared_ptr<AdvancedSymbology::ForeignDataInterface> m_asbItc;
|
std::shared_ptr<AdvancedSymbology::ForeignDataInterface> m_asbItc;
|
||||||
Ui::LtsParticipantsOrgChart *m_ui;
|
Ui::LtsParticipantsOrgChart *m_ui;
|
||||||
|
|
||||||
|
NGL::INGLLogger &m_logger;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -75,6 +75,9 @@ if(QT6_GUI_AVAILABLE)
|
|||||||
LtsSessionData
|
LtsSessionData
|
||||||
NGLLogger
|
NGLLogger
|
||||||
Qt6::Xml
|
Qt6::Xml
|
||||||
|
# Qt6 Migration: Qt5::WebEngineWidgets transitively linked Qt5::PrintSupport
|
||||||
|
# (plan_editor.cpp includes <QtPrintSupport/QPrintDialog>); Qt6 dropped that.
|
||||||
|
Qt6::PrintSupport
|
||||||
ngltranslator
|
ngltranslator
|
||||||
|
|
||||||
PUBLIC
|
PUBLIC
|
||||||
|
|||||||
+29
-29
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
#include <LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/request_helper.h>
|
#include <LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/request_helper.h>
|
||||||
|
|
||||||
#include <flm_data_plugin_interface.h>
|
#include <Plugins/FileManagement/flm_data_plugin_interface.h>
|
||||||
#include <FileManagement/flm_explorer_gui_plugin_interface.h>
|
#include <FileManagement/flm_explorer_gui_plugin_interface.h>
|
||||||
|
|
||||||
#include <ParticipantManagement/ppm_data_plugin_interface.h>
|
#include <ParticipantManagement/ppm_data_plugin_interface.h>
|
||||||
@@ -475,9 +475,9 @@ bool InterfaceImpl::fmsCreatePlan(bool clearGeometryModel)
|
|||||||
|
|
||||||
FileManagement::FileContent fc = m_internal->m_flmDtc->fileContent(fileId);
|
FileManagement::FileContent fc = m_internal->m_flmDtc->fileContent(fileId);
|
||||||
|
|
||||||
m_internal->m_currentFolderId = fc.folderId();
|
m_internal->m_currentFolderId = fc.folderId;
|
||||||
m_internal->m_currentFileId = fileId;
|
m_internal->m_currentFileId = fileId;
|
||||||
m_internal->m_currentNameOfPlan = QString::fromStdString(fc.name());
|
m_internal->m_currentNameOfPlan = QString::fromStdString(fc.name);
|
||||||
|
|
||||||
QFileInfo fileInfo(m_internal->m_currentNameOfPlan);
|
QFileInfo fileInfo(m_internal->m_currentNameOfPlan);
|
||||||
m_internal->m_planEditor->setNameOfPlan(fileInfo.baseName());
|
m_internal->m_planEditor->setNameOfPlan(fileInfo.baseName());
|
||||||
@@ -511,7 +511,7 @@ bool InterfaceImpl::fmsModifyPlan(int fileId, bool saveAs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
FileManagement::FileContent fileContent = m_internal->m_flmDtc->fileContent(fileId);
|
FileManagement::FileContent fileContent = m_internal->m_flmDtc->fileContent(fileId);
|
||||||
bool differentUser = fileContent.operatorId() != LtsSessionData::LtsSessionData::getInstance()->getOperatorId();
|
bool differentUser = fileContent.operatorId != LtsSessionData::LtsSessionData::getInstance()->getOperatorId();
|
||||||
|
|
||||||
if (saveAs || differentUser)
|
if (saveAs || differentUser)
|
||||||
{
|
{
|
||||||
@@ -527,8 +527,8 @@ bool InterfaceImpl::fmsModifyPlan(int fileId, bool saveAs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QString nameOfPlan = QString::fromStdString(fileContent.name());
|
QString nameOfPlan = QString::fromStdString(fileContent.name);
|
||||||
m_internal->m_currentFolderId = fileContent.folderId();
|
m_internal->m_currentFolderId = fileContent.folderId;
|
||||||
m_internal->m_currentNameOfPlan = nameOfPlan;
|
m_internal->m_currentNameOfPlan = nameOfPlan;
|
||||||
m_internal->m_currentFileId = fileId;
|
m_internal->m_currentFileId = fileId;
|
||||||
|
|
||||||
@@ -592,7 +592,7 @@ void InterfaceImpl::fmsReadPlan()
|
|||||||
m_internal->m_planEditor->onPlanReset();
|
m_internal->m_planEditor->onPlanReset();
|
||||||
|
|
||||||
FileManagement::FileContent fc = m_internal->m_flmDtc->fileContent(fileId);
|
FileManagement::FileContent fc = m_internal->m_flmDtc->fileContent(fileId);
|
||||||
QString nameOfPlan = QString::fromStdString(fc.name());
|
QString nameOfPlan = QString::fromStdString(fc.name);
|
||||||
|
|
||||||
if (content.size() == 0)
|
if (content.size() == 0)
|
||||||
{
|
{
|
||||||
@@ -606,8 +606,8 @@ void InterfaceImpl::fmsReadPlan()
|
|||||||
m_internal->m_planEditor->setPlan(content);
|
m_internal->m_planEditor->setPlan(content);
|
||||||
|
|
||||||
m_internal->m_currentNameOfPlan = nameOfPlan;
|
m_internal->m_currentNameOfPlan = nameOfPlan;
|
||||||
m_internal->m_currentFolderId = fc.folderId();
|
m_internal->m_currentFolderId = fc.folderId;
|
||||||
m_internal->m_currentFileId = fc.id();
|
m_internal->m_currentFileId = fc.id;
|
||||||
|
|
||||||
QFileInfo fileInfo(m_internal->m_currentNameOfPlan);
|
QFileInfo fileInfo(m_internal->m_currentNameOfPlan);
|
||||||
m_internal->m_planEditor->setNameOfPlan(fileInfo.baseName());
|
m_internal->m_planEditor->setNameOfPlan(fileInfo.baseName());
|
||||||
@@ -650,7 +650,7 @@ void InterfaceImpl::fmsImportPlan()
|
|||||||
if (fileId > 0)
|
if (fileId > 0)
|
||||||
{
|
{
|
||||||
FileManagement::FileContent fc = m_internal->m_flmDtc->fileContent(fileId);
|
FileManagement::FileContent fc = m_internal->m_flmDtc->fileContent(fileId);
|
||||||
QString nameOfPlan = QString::fromStdString(fc.name());
|
QString nameOfPlan = QString::fromStdString(fc.name);
|
||||||
if (content.size() == 0)
|
if (content.size() == 0)
|
||||||
{
|
{
|
||||||
ERROR_LOG(m_logger) << "Error plan [" << nameOfPlan << "] is empty";
|
ERROR_LOG(m_logger) << "Error plan [" << nameOfPlan << "] is empty";
|
||||||
@@ -690,7 +690,7 @@ bool InterfaceImpl::fmsWritePlan(bool saveAs)
|
|||||||
|
|
||||||
FileManagement::FileContent planFileContent;
|
FileManagement::FileContent planFileContent;
|
||||||
if (m_internal->m_flmDtc->getFile(FileManagement::FileType::TacticalPlan, m_internal->m_currentFolderId, m_internal->m_currentNameOfPlan, planFileContent))
|
if (m_internal->m_flmDtc->getFile(FileManagement::FileType::TacticalPlan, m_internal->m_currentFolderId, m_internal->m_currentNameOfPlan, planFileContent))
|
||||||
m_internal->m_currentFileId = planFileContent.id();
|
m_internal->m_currentFileId = planFileContent.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (saveAs || (m_internal->m_currentFileId <= 0))
|
if (saveAs || (m_internal->m_currentFileId <= 0))
|
||||||
@@ -726,7 +726,7 @@ void InterfaceImpl::fmsDeletePlan()
|
|||||||
if (fileId > 0)
|
if (fileId > 0)
|
||||||
{
|
{
|
||||||
FileManagement::FileContent fc = m_internal->m_flmDtc->fileContent(fileId);
|
FileManagement::FileContent fc = m_internal->m_flmDtc->fileContent(fileId);
|
||||||
QString nameOfPlan = QString::fromStdString(fc.name());
|
QString nameOfPlan = QString::fromStdString(fc.name);
|
||||||
|
|
||||||
LtsWidgets::Button doIt = LtsWidgets::LtsMessageDialog::showMessage(
|
LtsWidgets::Button doIt = LtsWidgets::LtsMessageDialog::showMessage(
|
||||||
m_session->baseLayout()
|
m_session->baseLayout()
|
||||||
@@ -753,7 +753,7 @@ void InterfaceImpl::fmsDeletePlan()
|
|||||||
|
|
||||||
void InterfaceImpl::onPlanContentChanged(const FileManagement::FileContent &data, DataModification modType)
|
void InterfaceImpl::onPlanContentChanged(const FileManagement::FileContent &data, DataModification modType)
|
||||||
{
|
{
|
||||||
if (data.fileType() != FileManagement::FileType::TacticalPlan)
|
if (data.fileType != FileManagement::FileType::TacticalPlan)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
switch (modType)
|
switch (modType)
|
||||||
@@ -761,7 +761,7 @@ void InterfaceImpl::onPlanContentChanged(const FileManagement::FileContent &data
|
|||||||
case DataModification::eModified :
|
case DataModification::eModified :
|
||||||
break;
|
break;
|
||||||
case DataModification::eRemoved :
|
case DataModification::eRemoved :
|
||||||
if (m_internal->m_currentFileId == data.id())
|
if (m_internal->m_currentFileId == data.id)
|
||||||
m_internal->m_currentFileId = -1;
|
m_internal->m_currentFileId = -1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -780,7 +780,7 @@ void InterfaceImpl::onIterateParticipantsSidc()
|
|||||||
|
|
||||||
auto gatherUpSidc = [&participantSidcsInUse](const ParticipantManagement::Participant & data)
|
auto gatherUpSidc = [&participantSidcsInUse](const ParticipantManagement::Participant & data)
|
||||||
{
|
{
|
||||||
const QString &sidcCode = QString::fromStdString(data.symbol());
|
const QString &sidcCode = QString::fromStdString(data.symbol);
|
||||||
|
|
||||||
if (AdvancedSymbology::SidcCodec::isEncoded(sidcCode))
|
if (AdvancedSymbology::SidcCodec::isEncoded(sidcCode))
|
||||||
{
|
{
|
||||||
@@ -822,7 +822,7 @@ void InterfaceImpl::readSymbolFavouritesRequest(const QString &favName, QString
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int fileId = fileContent.id();
|
int fileId = fileContent.id;
|
||||||
QByteArray content;
|
QByteArray content;
|
||||||
|
|
||||||
if (!m_internal->m_flmGui->loadContent(fileId, content, true))
|
if (!m_internal->m_flmGui->loadContent(fileId, content, true))
|
||||||
@@ -929,23 +929,23 @@ void InterfaceImpl::storeSymbolFavouritesRequest(const QString &favName, const Q
|
|||||||
LtsWidgets::LtsMessageDialog::showMessage(m_session->baseLayout(), msg, m_internal->m_messageBoxTitle);
|
LtsWidgets::LtsMessageDialog::showMessage(m_session->baseLayout(), msg, m_internal->m_messageBoxTitle);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!m_internal->m_flmGui->saveContent(favContent.id(), favXMLContent.toUtf8(), QString()))
|
if (!m_internal->m_flmGui->saveContent(favContent.id, favXMLContent.toUtf8(), QString()))
|
||||||
ERROR_LOG(m_logger) << "Cannot save symbol favourites in library";
|
ERROR_LOG(m_logger) << "Cannot save symbol favourites in library";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
favContent.name(favName.toStdString());
|
favContent.name = favName.toStdString();
|
||||||
favContent.isTemplate(false);
|
favContent.isTemplate = false;
|
||||||
favContent.isUsedBy(false);
|
favContent.isUsedBy = false;
|
||||||
favContent.usedBy(0);
|
favContent.usedBy = 0;
|
||||||
favContent.folderId(folderId);
|
favContent.folderId = folderId;
|
||||||
favContent.fileStatus(FileManagement::FileStatus::Valid);
|
favContent.fileStatus = FileManagement::FileStatus::Valid;
|
||||||
favContent.fileCategory(FileManagement::FileCategory::Global);
|
favContent.fileCategory = FileManagement::FileCategory::Global;
|
||||||
favContent.fileType(FileManagement::FileType::OperatorFavourite);
|
favContent.fileType = FileManagement::FileType::OperatorFavourite;
|
||||||
favContent.exerciseId();
|
favContent.exerciseId = 0;
|
||||||
favContent.phaseId();
|
favContent.phaseId = 0;
|
||||||
favContent.lastModified(QDateTime::currentMSecsSinceEpoch());
|
favContent.lastModified = QDateTime::currentMSecsSinceEpoch();
|
||||||
favContent.operatorId(LtsSessionData::LtsSessionData::getInstance()->getOperatorId());
|
favContent.operatorId = LtsSessionData::LtsSessionData::getInstance()->getOperatorId();
|
||||||
|
|
||||||
|
|
||||||
ERROR_LOG(m_logger) << "New file content = " << favXMLContent;
|
ERROR_LOG(m_logger) << "New file content = " << favXMLContent;
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
#include <PluginInterfaces/gui_plugin_interface.h>
|
#include <PluginInterfaces/gui_plugin_interface.h>
|
||||||
#include <Lts/Common/ProjectConfig/project_defines.h>
|
#include <Lts/Common/ProjectConfig/project_defines.h>
|
||||||
#include <PlanEditor/PlanEditorPlugin/plan_editor_gui_plugin_interface.h>
|
#include <PlanEditor/PlanEditorPlugin/plan_editor_gui_plugin_interface.h>
|
||||||
#include <flm_data_plugin_interface.h>
|
#include <Plugins/FileManagement/flm_data_plugin_interface.h>
|
||||||
|
|
||||||
#include <QtCore/QObject>
|
#include <QtCore/QObject>
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,34 @@ BUILD_ARCGIS:
|
|||||||
--arcgis / --no-arcgis Enable/disable BUILD_ARCGIS (default: OFF)
|
--arcgis / --no-arcgis Enable/disable BUILD_ARCGIS (default: OFF)
|
||||||
|
|
||||||
BUILD_CODIFICATION:
|
BUILD_CODIFICATION:
|
||||||
--codification / --no-codification Enable/disable BUILD_CODIFICATION (default: OFF, requires KDReports)
|
--codification / --no-codification Enable/disable BUILD_CODIFICATION (default: ON, requires KDReports)
|
||||||
|
|
||||||
|
BUILD_WLS:
|
||||||
|
--wls / --no-wls Enable/disable BUILD_WLS (default: ON; the
|
||||||
|
GROUP4 targets svcWirelessLocationSystem /
|
||||||
|
wlsJsonClientTest only exist when it is ON)
|
||||||
|
|
||||||
|
BUILD_FILTERMANAGEMENT:
|
||||||
|
--filtermanagement / --no-filtermanagement Enable/disable BUILD_FILTERMANAGEMENT (default: ON)
|
||||||
|
|
||||||
|
BUILD_PLUGINS_SERVICEMONITOR:
|
||||||
|
--servicemonitor / --no-servicemonitor Enable/disable BUILD_PLUGINS_SERVICEMONITOR (default: ON)
|
||||||
|
|
||||||
|
BUILD_WEBENGINE_PLUGINS:
|
||||||
|
--webengine-plugins / --no-webengine-plugins
|
||||||
|
Enable/disable the WebEngine-based plugins (PlanEditor,
|
||||||
|
OnlineHelp, ParticipantOrgChart). PlanEditor links
|
||||||
|
situationMap, so ON promotes BUILD_ARCGIS to ON. (default: ON)
|
||||||
|
|
||||||
|
BUILD_XMLPATTERNS_PLUGINS:
|
||||||
|
--xmlpatterns-plugins / --no-xmlpatterns-plugins
|
||||||
|
Enable/disable the XmlPatterns-based plugins (MSDL, Saab)
|
||||||
|
when Qt6XmlPatterns is present in the Qt install. Qt
|
||||||
|
removed the XmlPatterns module in Qt 6.0 ("What's New in
|
||||||
|
Qt 6.0" / Qt Wiki: removed, not planned to be
|
||||||
|
re-introduced; no Qt 6 release ships it, no aqt
|
||||||
|
module), so with a stock Qt 6.10.2 install these
|
||||||
|
plugins stay disabled (environmental floor). (default: ON)
|
||||||
|
|
||||||
Build groups:
|
Build groups:
|
||||||
--group1 / --no-group1 Enable/disable DDS core libraries build
|
--group1 / --no-group1 Enable/disable DDS core libraries build
|
||||||
@@ -77,6 +104,11 @@ Environment variable overrides:
|
|||||||
BUILD_GRANTLEE=ON|OFF
|
BUILD_GRANTLEE=ON|OFF
|
||||||
BUILD_ARCGIS=ON|OFF
|
BUILD_ARCGIS=ON|OFF
|
||||||
BUILD_CODIFICATION=ON|OFF
|
BUILD_CODIFICATION=ON|OFF
|
||||||
|
BUILD_FILTERMANAGEMENT=ON|OFF
|
||||||
|
BUILD_WLS=ON|OFF
|
||||||
|
BUILD_PLUGINS_SERVICEMONITOR=ON|OFF
|
||||||
|
BUILD_WEBENGINE_PLUGINS=ON|OFF
|
||||||
|
BUILD_XMLPATTERNS_PLUGINS=ON|OFF
|
||||||
BUILD_GROUP1=ON|OFF
|
BUILD_GROUP1=ON|OFF
|
||||||
BUILD_GROUP2=ON|OFF
|
BUILD_GROUP2=ON|OFF
|
||||||
BUILD_GROUP3=ON|OFF
|
BUILD_GROUP3=ON|OFF
|
||||||
@@ -107,7 +139,12 @@ Defaults:
|
|||||||
BUILD_RTI=ON
|
BUILD_RTI=ON
|
||||||
BUILD_GRANTLEE=ON
|
BUILD_GRANTLEE=ON
|
||||||
BUILD_ARCGIS=OFF
|
BUILD_ARCGIS=OFF
|
||||||
BUILD_CODIFICATION=OFF
|
BUILD_CODIFICATION=ON
|
||||||
|
BUILD_FILTERMANAGEMENT=ON
|
||||||
|
BUILD_WLS=ON
|
||||||
|
BUILD_PLUGINS_SERVICEMONITOR=ON
|
||||||
|
BUILD_WEBENGINE_PLUGINS=ON
|
||||||
|
BUILD_XMLPATTERNS_PLUGINS=ON
|
||||||
BUILD_GROUP1=ON
|
BUILD_GROUP1=ON
|
||||||
BUILD_GROUP2=ON
|
BUILD_GROUP2=ON
|
||||||
BUILD_GROUP3=ON
|
BUILD_GROUP3=ON
|
||||||
@@ -147,6 +184,10 @@ log_info() {
|
|||||||
printf 'INFO: %s\n' "$*"
|
printf 'INFO: %s\n' "$*"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log_warn() {
|
||||||
|
printf 'WARNING: %s\n' "$*" >&2
|
||||||
|
}
|
||||||
|
|
||||||
log_error() {
|
log_error() {
|
||||||
printf 'ERROR: %s\n' "$*" >&2
|
printf 'ERROR: %s\n' "$*" >&2
|
||||||
}
|
}
|
||||||
@@ -264,6 +305,12 @@ APT_PACKAGES=(
|
|||||||
vlc-plugin-base
|
vlc-plugin-base
|
||||||
git
|
git
|
||||||
python3-pip
|
python3-pip
|
||||||
|
# Poppler-Qt6 (PDF support): Z/src/nglwidgets detects it via
|
||||||
|
# pkg_check_modules(POPPLER_QT6 poppler-qt6) - pkg-config must be present for
|
||||||
|
# the probe to run at all. FlmExplorerGuiPlugin's flm_preview_playback.cpp
|
||||||
|
# uses Poppler types unconditionally, so a green Group 12 build requires it.
|
||||||
|
pkg-config
|
||||||
|
libpoppler-qt6-dev
|
||||||
)
|
)
|
||||||
|
|
||||||
# INTERFACE libraries (header-only) are built automatically as dependencies
|
# INTERFACE libraries (header-only) are built automatically as dependencies
|
||||||
@@ -554,8 +601,8 @@ GROUP4_TARGETS=(
|
|||||||
svcTabocServer
|
svcTabocServer
|
||||||
svcTrainingAreaBaseOC
|
svcTrainingAreaBaseOC
|
||||||
serialtest
|
serialtest
|
||||||
# Proxies module - WirelessLocationSystem (requires -DBUILD_WLS=ON, e.g. via
|
# Proxies module - WirelessLocationSystem (only exists when BUILD_WLS=ON,
|
||||||
# --cmake_build_flags "-DBUILD_WLS=ON")
|
# script default; see the --wls flag)
|
||||||
svcWirelessLocationSystem
|
svcWirelessLocationSystem
|
||||||
wlsJsonClientTest
|
wlsJsonClientTest
|
||||||
# Proxies module - Other
|
# Proxies module - Other
|
||||||
@@ -607,6 +654,16 @@ RUN pip3 install --break-system-packages --quiet aqtinstall && \
|
|||||||
--outputdir ${QT_BASE_DIR} && \
|
--outputdir ${QT_BASE_DIR} && \
|
||||||
rm -rf /root/.cache/Aqt
|
rm -rf /root/.cache/Aqt
|
||||||
|
|
||||||
|
# Qt6 XmlPatterns (MSDL/Saab plugins) is intentionally NOT installed: Qt removed
|
||||||
|
# the XmlPatterns module in Qt 6.0 ("What's New in Qt 6.0" / Qt Wiki: removed and
|
||||||
|
# not planned to be re-introduced - unlike e.g. Multimedia/WebEngine which
|
||||||
|
# returned in 6.1/6.2; no Qt 6 release ships it, no aqt module). Mixing an
|
||||||
|
# out-of-tree libQt6XmlPatterns built against an older Qt with a 6.10 install
|
||||||
|
# would put two Qt minor versions in one
|
||||||
|
# process. MSDL/Saab therefore stay disabled with a stock Qt install; to enable
|
||||||
|
# them, install a Qt-version-matching XmlPatterns (lib + headers + cmake config)
|
||||||
|
# into ${QT_BASE_DIR}/${QT_VERSION}/${QT_ARCH_DIR} and pass --xmlpatterns-plugins.
|
||||||
|
|
||||||
# Install KDReports from source (apt package not available in Ubuntu 22.04/26.04)
|
# Install KDReports from source (apt package not available in Ubuntu 22.04/26.04)
|
||||||
# Try apt install first (will fail), then build from KDAB GitHub mirror
|
# Try apt install first (will fail), then build from KDAB GitHub mirror
|
||||||
RUN apt-get install -y -qq libkdreports-dev 2>/dev/null || \
|
RUN apt-get install -y -qq libkdreports-dev 2>/dev/null || \
|
||||||
@@ -670,7 +727,12 @@ BUILD_AAR="${BUILD_AAR:-ON}"
|
|||||||
BUILD_RTI="${BUILD_RTI:-ON}"
|
BUILD_RTI="${BUILD_RTI:-ON}"
|
||||||
BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}"
|
BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}"
|
||||||
BUILD_ARCGIS="${BUILD_ARCGIS:-OFF}"
|
BUILD_ARCGIS="${BUILD_ARCGIS:-OFF}"
|
||||||
BUILD_CODIFICATION="${BUILD_CODIFICATION:-OFF}"
|
BUILD_CODIFICATION="${BUILD_CODIFICATION:-ON}"
|
||||||
|
BUILD_FILTERMANAGEMENT="${BUILD_FILTERMANAGEMENT:-ON}"
|
||||||
|
BUILD_WLS="${BUILD_WLS:-ON}"
|
||||||
|
BUILD_PLUGINS_SERVICEMONITOR="${BUILD_PLUGINS_SERVICEMONITOR:-ON}"
|
||||||
|
BUILD_WEBENGINE_PLUGINS="${BUILD_WEBENGINE_PLUGINS:-ON}"
|
||||||
|
BUILD_XMLPATTERNS_PLUGINS="${BUILD_XMLPATTERNS_PLUGINS:-ON}"
|
||||||
BUILD_GROUP1="${BUILD_GROUP1:-ON}"
|
BUILD_GROUP1="${BUILD_GROUP1:-ON}"
|
||||||
BUILD_GROUP2="${BUILD_GROUP2:-ON}"
|
BUILD_GROUP2="${BUILD_GROUP2:-ON}"
|
||||||
BUILD_GROUP3="${BUILD_GROUP3:-ON}"
|
BUILD_GROUP3="${BUILD_GROUP3:-ON}"
|
||||||
@@ -802,6 +864,36 @@ while [[ $# -gt 0 ]]; do
|
|||||||
--no-codification)
|
--no-codification)
|
||||||
BUILD_CODIFICATION=OFF
|
BUILD_CODIFICATION=OFF
|
||||||
;;
|
;;
|
||||||
|
--wls)
|
||||||
|
BUILD_WLS=ON
|
||||||
|
;;
|
||||||
|
--no-wls)
|
||||||
|
BUILD_WLS=OFF
|
||||||
|
;;
|
||||||
|
--filtermanagement)
|
||||||
|
BUILD_FILTERMANAGEMENT=ON
|
||||||
|
;;
|
||||||
|
--no-filtermanagement)
|
||||||
|
BUILD_FILTERMANAGEMENT=OFF
|
||||||
|
;;
|
||||||
|
--servicemonitor)
|
||||||
|
BUILD_PLUGINS_SERVICEMONITOR=ON
|
||||||
|
;;
|
||||||
|
--no-servicemonitor)
|
||||||
|
BUILD_PLUGINS_SERVICEMONITOR=OFF
|
||||||
|
;;
|
||||||
|
--webengine-plugins)
|
||||||
|
BUILD_WEBENGINE_PLUGINS=ON
|
||||||
|
;;
|
||||||
|
--no-webengine-plugins)
|
||||||
|
BUILD_WEBENGINE_PLUGINS=OFF
|
||||||
|
;;
|
||||||
|
--xmlpatterns-plugins)
|
||||||
|
BUILD_XMLPATTERNS_PLUGINS=ON
|
||||||
|
;;
|
||||||
|
--no-xmlpatterns-plugins)
|
||||||
|
BUILD_XMLPATTERNS_PLUGINS=OFF
|
||||||
|
;;
|
||||||
--no-ctest)
|
--no-ctest)
|
||||||
RUN_CTEST=OFF
|
RUN_CTEST=OFF
|
||||||
;;
|
;;
|
||||||
@@ -870,6 +962,18 @@ BUILD_RTI="$(normalize_on_off "$BUILD_RTI" "BUILD_RTI")"
|
|||||||
BUILD_GRANTLEE="$(normalize_on_off "$BUILD_GRANTLEE" "BUILD_GRANTLEE")"
|
BUILD_GRANTLEE="$(normalize_on_off "$BUILD_GRANTLEE" "BUILD_GRANTLEE")"
|
||||||
BUILD_ARCGIS="$(normalize_on_off "$BUILD_ARCGIS" "BUILD_ARCGIS")"
|
BUILD_ARCGIS="$(normalize_on_off "$BUILD_ARCGIS" "BUILD_ARCGIS")"
|
||||||
BUILD_CODIFICATION="$(normalize_on_off "$BUILD_CODIFICATION" "BUILD_CODIFICATION")"
|
BUILD_CODIFICATION="$(normalize_on_off "$BUILD_CODIFICATION" "BUILD_CODIFICATION")"
|
||||||
|
BUILD_FILTERMANAGEMENT="$(normalize_on_off "$BUILD_FILTERMANAGEMENT" "BUILD_FILTERMANAGEMENT")"
|
||||||
|
BUILD_WLS="$(normalize_on_off "$BUILD_WLS" "BUILD_WLS")"
|
||||||
|
BUILD_PLUGINS_SERVICEMONITOR="$(normalize_on_off "$BUILD_PLUGINS_SERVICEMONITOR" "BUILD_PLUGINS_SERVICEMONITOR")"
|
||||||
|
BUILD_WEBENGINE_PLUGINS="$(normalize_on_off "$BUILD_WEBENGINE_PLUGINS" "BUILD_WEBENGINE_PLUGINS")"
|
||||||
|
BUILD_XMLPATTERNS_PLUGINS="$(normalize_on_off "$BUILD_XMLPATTERNS_PLUGINS" "BUILD_XMLPATTERNS_PLUGINS")"
|
||||||
|
|
||||||
|
# PlanEditorGuiPlugin links situationMap (ArcGIS scope), so the WebEngine plugin
|
||||||
|
# set cannot configure without ArcGIS: promote BUILD_ARCGIS when it is enabled.
|
||||||
|
if [[ "${BUILD_WEBENGINE_PLUGINS}" == "ON" && "${BUILD_ARCGIS}" == "OFF" ]]; then
|
||||||
|
log_info "BUILD_WEBENGINE_PLUGINS=ON implies ArcGIS-scope targets (PlanEditorGuiPlugin -> situationMap): promoting BUILD_ARCGIS=ON"
|
||||||
|
BUILD_ARCGIS=ON
|
||||||
|
fi
|
||||||
BUILD_GROUP1="$(normalize_on_off "$BUILD_GROUP1" "BUILD_GROUP1")"
|
BUILD_GROUP1="$(normalize_on_off "$BUILD_GROUP1" "BUILD_GROUP1")"
|
||||||
BUILD_GROUP2="$(normalize_on_off "$BUILD_GROUP2" "BUILD_GROUP2")"
|
BUILD_GROUP2="$(normalize_on_off "$BUILD_GROUP2" "BUILD_GROUP2")"
|
||||||
BUILD_GROUP3="$(normalize_on_off "$BUILD_GROUP3" "BUILD_GROUP3")"
|
BUILD_GROUP3="$(normalize_on_off "$BUILD_GROUP3" "BUILD_GROUP3")"
|
||||||
@@ -900,7 +1004,7 @@ fi
|
|||||||
CMAKE_BUILD_FLAGS="${CMAKE_BUILD_FLAGS:-}"
|
CMAKE_BUILD_FLAGS="${CMAKE_BUILD_FLAGS:-}"
|
||||||
|
|
||||||
# Export variables for Docker container
|
# Export variables for Docker container
|
||||||
export BUILD_ALL BUILD_RTI BUILD_GRANTLEE BUILD_ARCGIS BUILD_CODIFICATION BUILD_GROUP1 BUILD_GROUP2 BUILD_GROUP3 BUILD_GROUP4 BUILD_GROUP5 BUILD_GROUP6 BUILD_GROUP7 BUILD_GROUP8 BUILD_GROUP9 BUILD_GROUP10 BUILD_GROUP11 BUILD_VIEWER_ONLY RUN_CTEST TESTS_ONLY INTEGRATION_TEST USE_PREBUILT_IMAGE BUILD_PREBUILT_IMAGE DELETE_PREBUILT_IMAGE DOCKER_IMAGE CMAKE_BUILD_FLAGS
|
export BUILD_ALL BUILD_RTI BUILD_GRANTLEE BUILD_ARCGIS BUILD_CODIFICATION BUILD_FILTERMANAGEMENT BUILD_WLS BUILD_PLUGINS_SERVICEMONITOR BUILD_WEBENGINE_PLUGINS BUILD_XMLPATTERNS_PLUGINS BUILD_GROUP1 BUILD_GROUP2 BUILD_GROUP3 BUILD_GROUP4 BUILD_GROUP5 BUILD_GROUP6 BUILD_GROUP7 BUILD_GROUP8 BUILD_GROUP9 BUILD_GROUP10 BUILD_GROUP11 BUILD_GROUP12 BUILD_VIEWER_ONLY RUN_CTEST TESTS_ONLY INTEGRATION_TEST USE_PREBUILT_IMAGE BUILD_PREBUILT_IMAGE DELETE_PREBUILT_IMAGE DOCKER_IMAGE CMAKE_BUILD_FLAGS
|
||||||
|
|
||||||
# Group 5: Viewer module targets (conditional on BUILD_ARCGIS)
|
# Group 5: Viewer module targets (conditional on BUILD_ARCGIS)
|
||||||
# Note: LtsFileDialog excluded from viewer-only builds due to Group 4 dependencies (svcExmCommon, svcOpmCommon, svcFlmCommon)
|
# Note: LtsFileDialog excluded from viewer-only builds due to Group 4 dependencies (svcExmCommon, svcOpmCommon, svcFlmCommon)
|
||||||
@@ -1083,6 +1187,23 @@ GROUP11_TARGETS=(
|
|||||||
# Excluded (environmental floors, not migration regressions):
|
# Excluded (environmental floors, not migration regressions):
|
||||||
# cesPluginGeoPairing - needs the external Schusstafel.h header (missing)
|
# cesPluginGeoPairing - needs the external Schusstafel.h header (missing)
|
||||||
# BldInfoGuiPlugin - links BuildingViewerCommon (dtEntity/OSG SDK absent)
|
# BldInfoGuiPlugin - links BuildingViewerCommon (dtEntity/OSG SDK absent)
|
||||||
|
# BdvViewerGuiPlugin - links BuildingViewerCommon (same floor; CMake skips its
|
||||||
|
# subdirectory when BuildingViewerCommon is not built)
|
||||||
|
# PpmMSDLGuiPlugin - links Qt6::XmlPatterns; Qt removed the XmlPatterns
|
||||||
|
# PpmSAABGuiPlugin - module in Qt 6.0 (not re-introduced; no Qt 6 release
|
||||||
|
# ships it, incl. 6.10.2). With a stock Qt install the
|
||||||
|
# BUILD_PLUGINS_MSDL/SAAB flags resolve to OFF (see
|
||||||
|
# resolve_xmlpatterns)
|
||||||
|
# The Flt*/Smo* targets only exist when BUILD_FILTERMANAGEMENT /
|
||||||
|
# BUILD_PLUGINS_SERVICEMONITOR are ON (script defaults; see the cmake call).
|
||||||
|
# With them OFF the five unconditional GUI plugins (EvlEdit, PpmParticipantInfo,
|
||||||
|
# Pws, SrmReplayManagement, OpmSettings) also fail to link (they need the
|
||||||
|
# FilterManagement interface libs) - so these defaults are load-bearing.
|
||||||
|
# The PlanEditorGuiPlugin/OhpOnlineHelpViewerGuiPlugin/PpmOrgChartGuiPlugin
|
||||||
|
# targets only exist when BUILD_WEBENGINE_PLUGINS=ON (script default; ON also
|
||||||
|
# promotes BUILD_ARCGIS=ON because PlanEditorGuiPlugin links situationMap),
|
||||||
|
# and the Cod*/codTopicTypePlugin targets when BUILD_CODIFICATION=ON (script
|
||||||
|
# default; requires KDReports).
|
||||||
GROUP12_TARGETS=(
|
GROUP12_TARGETS=(
|
||||||
AesAirSupportGuiPlugin
|
AesAirSupportGuiPlugin
|
||||||
AesBcContaminationGuiPlugin
|
AesBcContaminationGuiPlugin
|
||||||
@@ -1120,6 +1241,8 @@ GROUP12_TARGETS=(
|
|||||||
CesParticipantMoveGuiPlugin
|
CesParticipantMoveGuiPlugin
|
||||||
CesParticipantUASGuiPlugin
|
CesParticipantUASGuiPlugin
|
||||||
CmoDataPlugin
|
CmoDataPlugin
|
||||||
|
CodCodificationDataGuiPlugin
|
||||||
|
CodDataPlugin
|
||||||
DevGuiPlugin
|
DevGuiPlugin
|
||||||
EfmDataPlugin
|
EfmDataPlugin
|
||||||
EfmSoundAreaGuiPlugin
|
EfmSoundAreaGuiPlugin
|
||||||
@@ -1137,6 +1260,10 @@ GROUP12_TARGETS=(
|
|||||||
FlmComboBoxGuiPlugin
|
FlmComboBoxGuiPlugin
|
||||||
FlmDataPlugin
|
FlmDataPlugin
|
||||||
FlmExplorerGuiPlugin
|
FlmExplorerGuiPlugin
|
||||||
|
FltAesGuiPlugin
|
||||||
|
FltDataPlugin
|
||||||
|
FltParticipantGuiPlugin
|
||||||
|
Fltbldg_cmpntGuiPlugin
|
||||||
FspGuiPlugin
|
FspGuiPlugin
|
||||||
GimDataPlugin
|
GimDataPlugin
|
||||||
GimInfoGuiPlugin
|
GimInfoGuiPlugin
|
||||||
@@ -1163,6 +1290,7 @@ GROUP12_TARGETS=(
|
|||||||
NomEditGuiPlugin
|
NomEditGuiPlugin
|
||||||
ObdBaseDownloaderGuiPlugin
|
ObdBaseDownloaderGuiPlugin
|
||||||
ObdDataPlugin
|
ObdDataPlugin
|
||||||
|
OhpOnlineHelpViewerGuiPlugin
|
||||||
OpmComboBoxGuiPlugin
|
OpmComboBoxGuiPlugin
|
||||||
OpmDataPlugin
|
OpmDataPlugin
|
||||||
OpmEditGuiPlugin
|
OpmEditGuiPlugin
|
||||||
@@ -1176,10 +1304,12 @@ GROUP12_TARGETS=(
|
|||||||
PdmChargeTableGuiPlugin
|
PdmChargeTableGuiPlugin
|
||||||
PdmComboBoxGuiPlugin
|
PdmComboBoxGuiPlugin
|
||||||
PdmDataPlugin
|
PdmDataPlugin
|
||||||
|
PlanEditorGuiPlugin
|
||||||
PlanOverlaysGuiPlugin
|
PlanOverlaysGuiPlugin
|
||||||
PpmComboBoxGuiPlugin
|
PpmComboBoxGuiPlugin
|
||||||
PpmDataPlugin
|
PpmDataPlugin
|
||||||
PpmOperationalPlaningGuiPlugin
|
PpmOperationalPlaningGuiPlugin
|
||||||
|
PpmOrgChartGuiPlugin
|
||||||
PpmParticipantEditGuiPlugin
|
PpmParticipantEditGuiPlugin
|
||||||
PpmParticipantInfoGuiPlugin
|
PpmParticipantInfoGuiPlugin
|
||||||
PpmParticipantTemplatesGuiPlugin
|
PpmParticipantTemplatesGuiPlugin
|
||||||
@@ -1210,6 +1340,10 @@ GROUP12_TARGETS=(
|
|||||||
ScrScreenRecordingGuiPlugin
|
ScrScreenRecordingGuiPlugin
|
||||||
SitmapGuiPlugin
|
SitmapGuiPlugin
|
||||||
SituationMapScriptFilterGuiPlugin
|
SituationMapScriptFilterGuiPlugin
|
||||||
|
SmoEquipmentErrorRegistrationGuiPlugin
|
||||||
|
SmoHgrAndMineSearchGuiPlugin
|
||||||
|
SmoMonitorsGuiPlugin
|
||||||
|
SmoSystemMonitorGuiPlugin
|
||||||
SrmDataPlugin
|
SrmDataPlugin
|
||||||
SrmReplayManagementGuiPlugin
|
SrmReplayManagementGuiPlugin
|
||||||
SrpDataPlugin
|
SrpDataPlugin
|
||||||
@@ -1415,6 +1549,10 @@ log_info() {
|
|||||||
printf 'INFO: %s\n' "$*"
|
printf 'INFO: %s\n' "$*"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log_warn() {
|
||||||
|
printf 'WARNING: %s\n' "$*" >&2
|
||||||
|
}
|
||||||
|
|
||||||
install_qt6_packages() {
|
install_qt6_packages() {
|
||||||
log_info "Installing Qt6 packages via aqtinstall"
|
log_info "Installing Qt6 packages via aqtinstall"
|
||||||
|
|
||||||
@@ -1518,6 +1656,29 @@ if [[ "${BUILD_ARCGIS}" == "ON" ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# The MSDL/Saab plugins link Qt6::XmlPatterns. Qt removed the XmlPatterns
|
||||||
|
# module in Qt 6.0 ("What's New in Qt 6.0" removal table / Qt Wiki: removed and
|
||||||
|
# not planned to be re-introduced - unlike Multimedia/WebEngine, which returned
|
||||||
|
# in 6.1/6.2). No Qt 6 release (incl. 6.10.2) ships it and there is no aqt
|
||||||
|
# module. An out-of-tree libQt6XmlPatterns built against an older Qt would mix
|
||||||
|
# two Qt minor versions in one process (ABI risk), so with a stock Qt install
|
||||||
|
# the plugins are gated OFF. If a Qt-version-matching XmlPatterns (lib +
|
||||||
|
# headers + Qt6XmlPatterns cmake config) is placed into the Qt prefix, they
|
||||||
|
# enable automatically.
|
||||||
|
resolve_xmlpatterns() {
|
||||||
|
BUILD_XMLPATTERNS_EFFECTIVE="${BUILD_XMLPATTERNS_PLUGINS}"
|
||||||
|
if [[ "${BUILD_XMLPATTERNS_EFFECTIVE}" == "ON" ]]; then
|
||||||
|
if ls "${QT_BASE_DIR}/${QT_VERSION}/${QT_ARCH_DIR}/lib/libQt6XmlPatterns.so.6" >/dev/null 2>&1; then
|
||||||
|
log_info "Qt6XmlPatterns present in the Qt install - MSDL/Saab plugins will be built"
|
||||||
|
else
|
||||||
|
log_warn "Qt6XmlPatterns is not present in the Qt install (removed in Qt 6.0, not re-introduced) - keeping BUILD_PLUGINS_MSDL/BUILD_PLUGINS_SAAB OFF (ppm.msdl / ppm.saab stay unbuilt)"
|
||||||
|
BUILD_XMLPATTERNS_EFFECTIVE=OFF
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
resolve_xmlpatterns
|
||||||
|
|
||||||
cd /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus
|
cd /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus
|
||||||
|
|
||||||
rm -rf build4
|
rm -rf build4
|
||||||
@@ -1535,6 +1696,14 @@ cmake .. \
|
|||||||
-DBUILD_GRANTLEE="${BUILD_GRANTLEE}" \
|
-DBUILD_GRANTLEE="${BUILD_GRANTLEE}" \
|
||||||
-DBUILD_ARCGIS="${BUILD_ARCGIS}" \
|
-DBUILD_ARCGIS="${BUILD_ARCGIS}" \
|
||||||
-DBUILD_CODIFICATION="${BUILD_CODIFICATION}" \
|
-DBUILD_CODIFICATION="${BUILD_CODIFICATION}" \
|
||||||
|
-DBUILD_FILTERMANAGEMENT="${BUILD_FILTERMANAGEMENT}" \
|
||||||
|
-DBUILD_WLS="${BUILD_WLS}" \
|
||||||
|
-DBUILD_PLUGINS_SERVICEMONITOR="${BUILD_PLUGINS_SERVICEMONITOR}" \
|
||||||
|
-DBUILD_PLUGINS_PLANEDITOR="${BUILD_WEBENGINE_PLUGINS}" \
|
||||||
|
-DBUILD_PLUGINS_ONLINEHELP="${BUILD_WEBENGINE_PLUGINS}" \
|
||||||
|
-DBUILD_PLUGINS_PARTICIPANT_ORG_CHART="${BUILD_WEBENGINE_PLUGINS}" \
|
||||||
|
-DBUILD_PLUGINS_MSDL="${BUILD_XMLPATTERNS_EFFECTIVE}" \
|
||||||
|
-DBUILD_PLUGINS_SAAB="${BUILD_XMLPATTERNS_EFFECTIVE}" \
|
||||||
${CMAKE_BUILD_FLAGS:-} \
|
${CMAKE_BUILD_FLAGS:-} \
|
||||||
-DCMAKE_CXX_STANDARD=17 \
|
-DCMAKE_CXX_STANDARD=17 \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
@@ -1605,6 +1774,11 @@ docker run --rm \
|
|||||||
-e BUILD_GRANTLEE \
|
-e BUILD_GRANTLEE \
|
||||||
-e BUILD_ARCGIS \
|
-e BUILD_ARCGIS \
|
||||||
-e BUILD_CODIFICATION \
|
-e BUILD_CODIFICATION \
|
||||||
|
-e BUILD_FILTERMANAGEMENT \
|
||||||
|
-e BUILD_WLS \
|
||||||
|
-e BUILD_PLUGINS_SERVICEMONITOR \
|
||||||
|
-e BUILD_WEBENGINE_PLUGINS \
|
||||||
|
-e BUILD_XMLPATTERNS_PLUGINS \
|
||||||
-e BUILD_GROUP1 \
|
-e BUILD_GROUP1 \
|
||||||
-e BUILD_GROUP2 \
|
-e BUILD_GROUP2 \
|
||||||
-e BUILD_GROUP3 \
|
-e BUILD_GROUP3 \
|
||||||
|
|||||||
Reference in new issue
Block a user