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

# LIBRARY

# Make ${Qt6_Gui} optional
if(QT6_GUI_AVAILABLE AND TARGET Qt6::Gui)
  set(Qt6_Gui ${Qt6_Gui})
else()
  set(Qt6_Gui "")
endif()

# Make ${Qt6_Widgets} optional
if(QT6_GUI_AVAILABLE AND TARGET Qt6::Widgets)
  set(Qt6_Widgets ${Qt6_Widgets})
else()
  set(Qt6_Widgets "")
endif()


SET(SymbologyXML_SRCS
  attribute_data.h
  symbology_xml_export.h
  pixmap_symbol_cache.cpp
  pixmap_symbol_cache.h
  primitive.cpp
  primitive.h
  symbol.cpp
  symbol.h
  symbol_id_t.h
  symbol_types.cpp
  symbol_types.h
  symbol_exporter.cpp
  symbol_exporter.h
  symbol_reader.cpp
  symbol_reader.h
  symbol_table.cpp
  symbol_table.h
  symbol_writer.cpp
  symbol_writer.h
  symbol_custom_graphics_item_group.h
  symbol_custom_graphics_item_group.cpp
  xml_symbol_codec.h
)

SOURCE_GROUP(SymbologyXML FILES ${SymbologyXML_SRCS})

QT6_ADD_RESOURCES(SymbologyXML_SRCS SymbologyXML.qrc)

NGL_ADD_LIBRARY(WS advancedSymbologyXML SHARED ${SymbologyXML_SRCS})

NGL_TARGET_INCLUDE_DIRECTORIES(advancedSymbologyXML
  PUBLIC
     ${CMAKE_CURRENT_SOURCE_DIR}/..
)

if(QT6_GUI_AVAILABLE)
  NGL_TARGET_LINK_LIBRARIES(advancedSymbologyXML
    PRIVATE
      situationMapCommon
      ${Qt6_Gui}
      ${Qt6_Widgets}
    PUBLIC
      LtsWidgets
      NGLLogger
      Qt6::Core
  )
endif()

NGL_INSTALL_TARGET(advancedSymbologyXML)

# Gui subdirectory (advancedSymbologyXML_Gui) — consumed by planEditor; its deps
# (situationMapGeometryModel, advancedSymbology) are built, so enable it (legacy built it too).
ADD_SUBDIRECTORY(Gui)
