#
# $Id$
# $HeadURL$
# $Author$
#

# ElevationMap module. The legacy module is GDAL-backed; GDAL is not part of the
# Qt6 / ArcGIS-300 toolchain. Per the established no-GDAL decision, elevation_map.cpp
# is a no-GDAL stand-in (public API preserved; no DEM data loaded) while the rest of
# the module (ElevationMapManager, line_of_sight_calculation) is the real, GDAL-free
# Qt code. This lets the SituationMap layer (MapImpl/SightFanImpl/ElevationMapManager)
# compile and link against the elevation API.

SET(Elevation_SRCS
  elevation_map.cpp
  elevation_map.h
  elevation_map_helper.h
  elevation_map_manager.cpp
  elevation_map_manager.h
  line_of_sight_calculation.cpp
  line_of_sight_calculation.h
)

NGL_ADD_LIBRARY2(AAR SV WS HLA situationMapElevationMap SHARED ${Elevation_SRCS})
set_target_properties(situationMapElevationMap PROPERTIES AUTOMOC ON)
NGL_TARGET_INCLUDE_DIRECTORIES(situationMapElevationMap
  PUBLIC
    # Consumers include <ElevationMap/elevation_map.h> and the NGL-generated
    # <ElevationMap/situationmapelevationmap_export.h>; the parent source/binary
    # dirs put the ElevationMap/ subfolder (and the generated export header) on the path.
    ${CMAKE_CURRENT_SOURCE_DIR}/../
    ${CMAKE_CURRENT_BINARY_DIR}/../
)
NGL_TARGET_LINK_LIBRARIES(situationMapElevationMap
  PRIVATE
    situationMapCommon
    Qt6::Concurrent
    Qt6::Gui
    NGLLogger
    LtsCoordTrans
  PUBLIC
    Qt6::Core
    LtsUtilsCoreHeaderOnly
)
