# # $Id$ # $HeadURL$ # $Author$ # # The GDAL-based ElevationMap module is not yet migrated to Qt6 (see the # commented-out entries in ../CMakeLists.txt). LtsElevation still needs an # ElevationMapManager, so build the compatibility stub that lives in the # src/ + include/ scaffolding (same API as the Qt5 class, no GDAL). NGL_ADD_LIBRARY(WS AAR HLA SV situationMapElevationMap SHARED ${CMAKE_SOURCE_DIR}/src/Viewer/SituationMap/ElevationMap/elevation_map_manager.cpp # The header lives in include/Viewer/SituationMap/ElevationMap, apart from # the cpp. AUTOMOC only mocs headers that are target sources (or sit next # to one); MOC_INCLUDES merely feeds moc's own -I flags, not header # discovery. Listed explicitly, otherwise the vtable/staticMetaObject are # undefined and the link of libsituationMapElevationMap.so fails. ${CMAKE_SOURCE_DIR}/include/Viewer/SituationMap/ElevationMap/elevation_map_manager.h ) # The stub's ElevationMapManager is a Q_OBJECT class; without AUTOMOC the # moc symbols (staticMetaObject/vtable) are missing and the link of # libsituationMapElevationMap.so fails, cascading to every target that # links it (same pattern as LtsSessionDataDds). set_target_properties(situationMapElevationMap PROPERTIES AUTOMOC ON) NGL_TARGET_INCLUDE_DIRECTORIES(situationMapElevationMap PUBLIC # The stub cpp does #include "elevation_map_manager.h" - it lives in # include/Viewer/SituationMap/ElevationMap/, not next to the source. ${CMAKE_SOURCE_DIR}/include/Viewer/SituationMap/ElevationMap ${CMAKE_SOURCE_DIR}/include ) NGL_TARGET_LINK_LIBRARIES(situationMapElevationMap PUBLIC Qt6::Core )