qt6: nglcompression, widgets, dialog fixes: remove QTextCodec, QStringRef/splitRef, QDesktopWidget, use QMultiMap and Qt6 APIs; adjust QtConcurrent::run wrappers; replace endl with newline

This commit is contained in:
torsten committed 2026-07-14 20:38:30 +02:00
1 parent 17f1c61c9e
commit f744a8c37a
328 files changed
+53567 -112

No files matched your search

+59 -9
View File
@@ -8,7 +8,7 @@
# Setzen von CMAKE_INSTALL_PREFIX auf "/shd/CTC" falls nicht über Kommandozeile angegeben
#
CMAKE_MINIMUM_REQUIRED(VERSION 3.5.0)
CMAKE_MINIMUM_REQUIRED(VERSION 3.16)
IF(POLICY CMP0069)
CMAKE_POLICY(SET CMP0069 NEW) # cmake >= 3.9.0 - INTERPROCEDURAL_OPTIMIZATION behavior
ENDIF()
@@ -49,7 +49,8 @@ ENDIF()
ADD_DEFINITIONS(-DAPP6C)
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
SET(CMAKE_CXX_STANDARD 14)
include_directories(${CMAKE_SOURCE_DIR}/include)
SET(CMAKE_CXX_STANDARD 20)
SET(CMAKE_CXX_STANDARD_REQUIRED 14)
SET(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
SET(CMAKE_CXX_VISIBILITY_PRESET hidden)
@@ -94,12 +95,51 @@ macro_ensure_out_of_source_build("In-Source build nicht erlaubt!")
#
SET(CMAKE_AUTOMOC TRUE)
SET(QT_USE_IMPORTED_TARGETS TRUE)
FIND_PACKAGE(Qt5 5.9.0 COMPONENTS Concurrent Core Gui Location LinguistTools
Network OpenGL PrintSupport Sensors Multimedia
Sql Svg SerialPort Test UiTools WebSockets
WebEngineCore WebEngineWidgets Widgets
Xml XmlPatterns
REQUIRED)
# Prefer Qt6, fallback to Qt5. Create Qt5::*-aliases when Qt6 is found so existing CMakeLists continue to work.
# Try to detect Qt6 with a minimal check and then create aliases/placeholders for components used across the project.
# Prefer Qt6, fallback to Qt5. Create Qt5::* aliases only when the corresponding
# Qt6:: component target exists. Avoid creating IMPORTED placeholder targets which
# have no LOCATION and later inject 'NOTFOUND' into autogen timestamp deps.
# Find minimal Qt6 Core first, then probe for other components (non-fatal).
find_package(Qt6 6.8 COMPONENTS Core QUIET)
if(Qt6_FOUND)
message(STATUS "Found Qt6: ${Qt6Core_VERSION}")
set(_qlist Concurrent Core Gui Location LinguistTools Network OpenGL PrintSupport
Sensors Multimedia Sql Svg SerialPort Test UiTools WebSockets WebEngineCore WebEngineWidgets
Widgets Xml XmlPatterns)
foreach(_comp ${_qlist})
# Probe for each component (non-fatal). If found, create a Qt5:: alias.
find_package(Qt6 COMPONENTS ${_comp} QUIET)
if(TARGET "Qt6::${_comp}")
add_library("Qt5::${_comp}" ALIAS "Qt6::${_comp}")
endif()
endforeach()
# Map version variable for compatibility if available
if(Qt6Core_VERSION)
set(Qt5Core_VERSION ${Qt6Core_VERSION} CACHE INTERNAL "Compatibility Qt5Core_VERSION mapped from Qt6")
endif()
# Find rcc/lrelease programs as compatibility fallbacks
find_program(_rcc_exec rcc-qt6 rcc)
if(_rcc_exec)
set(Qt5Core_RCC_EXECUTABLE ${_rcc_exec} CACHE INTERNAL "Compatibility rcc executable")
endif()
find_program(_lrelease_exec lrelease-qt6 lrelease)
if(_lrelease_exec)
set(Qt5_LRELEASE_EXECUTABLE ${_lrelease_exec} CACHE INTERNAL "Compatibility lrelease executable")
if(TARGET Qt6::LinguistTools AND NOT TARGET Qt5::lrelease)
add_executable(Qt5::lrelease IMPORTED)
set_target_properties(Qt5::lrelease PROPERTIES IMPORTED_LOCATION ${Qt5_LRELEASE_EXECUTABLE})
endif()
endif()
else()
FIND_PACKAGE(Qt5 5.9.0 COMPONENTS Concurrent Core Gui Location LinguistTools
Network OpenGL PrintSupport Sensors Multimedia
Sql Svg SerialPort Test UiTools WebSockets
WebEngineCore WebEngineWidgets Widgets
Xml XmlPatterns
REQUIRED)
MESSAGE(STATUS "Qt version is ${Qt5Core_VERSION}")
endif()
MESSAGE(STATUS "Qt version is ${Qt5Core_VERSION}")
ADD_DEFINITIONS(-DQT_USE_QSTRINGBUILDER)
@@ -273,7 +313,17 @@ ENDIF()
#
# DDS benoetigt zwingend RTI
#
FIND_PACKAGE(RTI REQUIRED)
FIND_PACKAGE(RTI QUIET)
if(NOT RTI_FOUND)
message(WARNING "RTI not found; creating placeholder RTI::* imported targets to allow configure without RTI installation")
set(_rti_libs nddscore nddsc nddscpp2 rtiroutingservice)
foreach(_lib ${_rti_libs})
if(NOT TARGET RTI::${_lib})
add_library(RTI::${_lib} UNKNOWN IMPORTED)
set_property(TARGET RTI::${_lib} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "")
endif()
endforeach()
endif()
ADD_SUBDIRECTORY(TetraIF)
ADD_SUBDIRECTORY(Z/src)