#
# @RDE_HEADER@
# $Id$
# $HeadURL$
# $Author$
#

FIND_PACKAGE(XercesC REQUIRED)
FIND_PACKAGE(XSD REQUIRED)

SET(zwmsmsdl_SRCS
  msdl_export.cpp
  msdl_export.h
  msdl_export_scenario_data.cpp
  msdl_export_scenario_data.h
  msdl_import.cpp
  msdl_import.h
  msdl_import_show.cpp
  msdl_import_show.h
  msdl_logging.cpp
  msdl_logging.h
  msdl_mapping_dialog.cpp
  msdl_mapping_dialog.h
  msdl_types.cpp
  msdl_types.h
  zwmsmsdl_export.h
)

SET(zwmsmsdl_UICS
  ui/msdl_import_show.ui  
  ui/msdl_import.ui
  ui/msdl_export.ui
  ui/msdl_export_scenario_data.ui
  ui/msdl_mapping_dialog.ui
)

SET(zwmsmsdl_XSDS
  xsd/MilitaryScenario_1.0.0.xsd
  xsd/MsdlCodes_1.0.0.xsd
  xsd/MsdlComplexTypes_1.0.0.xsd
  xsd/MsdlSimpleTypes_1.0.0.xsd
)

SET(zwmsmsdl_XSDS_EXT
  xsd/extern/JC3IEDM-3.1-Codes-20061208.xsd
  xsd/extern/JC3IEDMMeteorological.xsd
  xsd/extern/ModelID_v2006_FINAL.xsd
)

SET(zwmsmsdl_XSDS_install MilitaryScenario_1.0.0.xsd)

FOREACH(xsd ${zwmsmsdl_XSDS} ${zwmsmsdl_XSDS_EXT})
  XSD_GENERATE_TREE(zwmsmsdl_IDLS ${xsd})
ENDFOREACH(xsd ${zwmsmsdl_XSDS} ${zwmsmsdl_XSDS_EXT})



# Copy all required msdl *.xml and *.xsd files to shared folder
INSTALL_SHARED_FILES(zwmsmsdl_SRCS
  FILES ${zwmsmsdl_XSDS}
  DESTINATION "msdl/"
  WS
)
INSTALL_SHARED_FILES(zwmsmsdl_SRCS
  FILES ${zwmsmsdl_XSDS_EXT}
  DESTINATION "msdl/extern"
  WS
)

NGL_WRAP_UI(zwmsmsdl_SRCS ${zwmsmsdl_UICS})
NGL_ADD_LIBRARY(WS zwmsmsdl SHARED ${zwmsmsdl_SRCS} ${zwmsmsdl_UICS} ${zwmsmsdl_IDLS})
NGL_TARGET_INCLUDE_DIRECTORIES(zwmsmsdl
  PRIVATE
    ${XSD_INCLUDE_DIR}
  PUBLIC
    ${CMAKE_CURRENT_BINARY_DIR}
)

NGL_TARGET_LINK_LIBRARIES(zwmsmsdl
  PRIVATE
    Qt5::Gui
    Qt5::Xml
    Qt5::XmlPatterns
    XercesC::XercesC
  PUBLIC
    svcPpmCommon
    LtsUtilsSettings
    LtsUtilsGuiDds
    LtsSession
    PpmDataPluginInterface
    PpmCommon
    ExmDataPluginInterface
    OpmDataPluginInterface
    LtsSessionData
    ngltools
    NGLLogger
    LtsWidgets    
    Qt5::Core
)
IF (WIN32)
  NGL_SET_TARGET_PROPERTIES(zwmsmsdl PROPERTIES UNITY_BUILD FALSE)
ENDIF()      

NGL_INSTALL_TARGET(zwmsmsdl)
