#
# $Id$
# $HeadURL$
# $Author$
# Created by Christian Ehrlicher, SLSE, 2016-08-31
#

FIND_PACKAGE(GeographicLib REQUIRED)
NGL_ADD_LIBRARY2(LtsCoordTrans WS AAR SV HLA SHARED
  lts_coord_trans.h
  lts_coord_trans.cpp
)
NGL_TARGET_LINK_LIBRARIES(LtsCoordTrans
  PRIVATE
    GeographicLib
  PUBLIC
    Qt5::Core
)
NGL_TARGET_INCLUDE_DIRECTORIES(LtsCoordTrans
  PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}/../
)

SET(ltsCoordWidget_SRCS
  lts_coord_widget.cpp
  lts_coord_widget.h
  lts_coord_widget_p.cpp
  lts_coord_widget_p.h
)
NGL_WRAP_UI(ltsCoordWidget_SRCS
  lts_coord_widget_mgrs.ui
  lts_coord_widget_wgs84.ui
)
NGL_ADD_LIBRARY2(ltsCoordWidget WS AAR SV SHARED ${ltsCoordWidget_SRCS})
NGL_TARGET_LINK_LIBRARIES(ltsCoordWidget
  PRIVATE
    LtsCoordTrans
  PUBLIC
    Qt5::Core
    Qt5::Widgets
)
NGL_TARGET_INCLUDE_DIRECTORIES(ltsCoordWidget
  PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}/../
)

IF(TARGET LtsCoordTrans)
  SET(_tools lonlat2mgrs mgrs2lonlat)
  FOREACH(_tool ${_tools})
    NGL_ADD_EXECUTABLE(ALL ${_tool} ${_tool}.cpp)
    NGL_TARGET_LINK_LIBRARIES(${_tool}
      Qt5::Core
      GeographicLib
    )
    NGL_INSTALL_TARGET(${_tool})
  ENDFOREACH()
ENDIF()

IF(BUILD_TESTING AND TARGET ltsCoordWidget)
  ADD_EXECUTABLE(lts_coord_widget_test lts_coord_widget_test.cpp)
  TARGET_LINK_LIBRARIES(lts_coord_widget_test
    ltsCoordWidget
    LtsCoordTrans
  )
ENDIF()

IF(BUILD_TESTING AND TARGET LtsCoordTrans)
  ADD_EXECUTABLE(lts_coord_trans_unit_test
    lts_coord_trans_unit_test.cpp
    lts_coord_trans_unit_test.h
  )
  TARGET_LINK_LIBRARIES(lts_coord_trans_unit_test
    LtsCoordTrans
    Qt5::Test
    GeographicLib
  )
  ADD_TEST(NAME lts_coord_trans_unit_test COMMAND $<TARGET_FILE:lts_coord_trans_unit_test>)
ENDIF()
