RTI Target-Kollisionen behoben, QDebug operator<< für FileStatus
- CMakeLists.txt: ALIAS Targets nur für existierende RTI-Libraries (Zeilen 254-285) - Keine INTERFACE-Placeholder für ddsftc/ddsfts/ddsconnector (Module definieren eigene Targets) - flm_enums.hpp: QDebug operator<< für FileStatus enum class implementiert BUILD_RTI=ON: Configure erfolgreich nach Target-Fix
This commit is contained in:
1 parent
851d47e114
commit
a9c5b2181e
2 files changed
+24
-16
No files matched your search
@@ -256,12 +256,17 @@ ENDIF(BUILD_RTI)
|
||||
IF(BUILD_RTI AND TARGET RTI::nddsc)
|
||||
ADD_LIBRARY(ddsc ALIAS RTI::nddsc)
|
||||
ADD_LIBRARY(ddscore ALIAS RTI::nddscore)
|
||||
ADD_LIBRARY(ddscpp ALIAS RTI::nddscpp)
|
||||
ADD_LIBRARY(ddscpp2 ALIAS RTI::nddscpp2)
|
||||
ADD_LIBRARY(nddsctesthelpers ALIAS RTI::nddsctesthelpers)
|
||||
ADD_LIBRARY(ddsftc ALIAS RTI::ddsftc)
|
||||
ADD_LIBRARY(ddsfts ALIAS RTI::ddsfts)
|
||||
ADD_LIBRARY(ddsconnector ALIAS RTI::ddsconnector)
|
||||
# Optionale Targets nur als ALIAS erstellen wenn verfügbar (RTI 7.x hat nicht alle Legacy-Bibliotheken)
|
||||
# KEINE INTERFACE-Placeholder erstellen - Module müssen selbst mit fehlenden Targets umgehen
|
||||
IF(TARGET RTI::nddscpp)
|
||||
ADD_LIBRARY(ddscpp ALIAS RTI::nddscpp)
|
||||
ENDIF()
|
||||
IF(TARGET RTI::nddsctesthelpers)
|
||||
ADD_LIBRARY(nddsctesthelpers ALIAS RTI::nddsctesthelpers)
|
||||
ENDIF()
|
||||
# HINWEIS: ddsftc, ddsfts, ddsconnector werden von Lts/DDS/FTC Modulen als INTERFACE Targets erstellt
|
||||
# Hier KEINE ALIAS erstellen um Target-Kollisionen zu vermeiden
|
||||
ELSE()
|
||||
# BUILD_RTI=OFF: Leere Interface-Libraries als Platzhalter
|
||||
ADD_LIBRARY(ddsc INTERFACE)
|
||||
@@ -269,10 +274,9 @@ ELSE()
|
||||
ADD_LIBRARY(ddscpp INTERFACE)
|
||||
ADD_LIBRARY(ddscpp2 INTERFACE)
|
||||
ADD_LIBRARY(nddsctesthelpers INTERFACE)
|
||||
ADD_LIBRARY(ddsftc INTERFACE)
|
||||
ADD_LIBRARY(ddsfts INTERFACE)
|
||||
ADD_LIBRARY(ddsconnector INTERFACE)
|
||||
ENDIF()
|
||||
# HINWEIS: ddsftc, ddsfts, ddsconnector werden von Lts/DDS/FTC Modulen als INTERFACE Targets erstellt
|
||||
# Hier KEINE Platzhalter erstellen um Target-Kollisionen zu vermeiden
|
||||
ENDIF(BUILD_RTI AND TARGET RTI::nddsc)
|
||||
|
||||
ADD_DEFINITIONS(-DQT_USE_QSTRINGBUILDER)
|
||||
ADD_DEFINITIONS(-DQT_NO_CAST_TO_ASCII)
|
||||
|
||||
@@ -4,18 +4,22 @@
|
||||
// Für die Migration erstellen wir minimale Typ-Definitionen basierend auf flm_service.xml
|
||||
|
||||
#include <QtCore/QString>
|
||||
#include <QtCore/QDebug>
|
||||
|
||||
namespace FileManagement
|
||||
{
|
||||
// Enums aus flm_service.xml
|
||||
// Für BUILD_RTI=OFF: FileStatus als int, um direkte Vergleiche zu ermöglichen
|
||||
#ifndef BUILD_RTI
|
||||
using FileStatus = int;
|
||||
constexpr int FileStatus_Valid = 0;
|
||||
constexpr int FileStatus_Deleted = 1;
|
||||
#else
|
||||
// FileStatus als enum class für beide Build-Varianten (BUILD_RTI=ON/OFF)
|
||||
enum class FileStatus : int { Valid = 0, Deleted = 1 };
|
||||
#endif
|
||||
|
||||
// QDebug-Operator für FileStatus
|
||||
inline QDebug operator<<(QDebug debug, FileStatus status)
|
||||
{
|
||||
QDebugStateSaver saver(debug);
|
||||
debug.nospace() << "FileStatus::"
|
||||
<< (status == FileStatus::Valid ? "Valid" : "Deleted");
|
||||
return debug;
|
||||
}
|
||||
|
||||
enum class FileCategory : int { Global = 1, Exercise = 2, User = 3 };
|
||||
|
||||
|
||||
Reference in new issue
Block a user