- Add /usr/share/cmake/geographiclib to CMAKE_MODULE_PATH - This allows CMake to find FindGeographicLib.cmake from system package - Required for DEB build in Docker container Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
105 lines
2.7 KiB
CMake
Executable File
105 lines
2.7 KiB
CMake
Executable File
#
|
|
# $Id$
|
|
# $HeadURL$
|
|
# $Author$
|
|
# Created by Christian Ehrlicher, SLSE, 2016-08-31
|
|
#
|
|
|
|
# Make ${Qt6_Widgets} optional
|
|
if(QT6_GUI_AVAILABLE AND TARGET Qt6::Widgets)
|
|
set(Qt6_Widgets ${Qt6_Widgets})
|
|
else()
|
|
set(Qt6_Widgets "")
|
|
endif()
|
|
|
|
|
|
# Add system GeographicLib Find module path
|
|
list(APPEND CMAKE_MODULE_PATH /usr/share/cmake/geographiclib)
|
|
FIND_PACKAGE(GeographicLib)
|
|
NGL_ADD_LIBRARY2(LtsCoordTrans WS AAR SV HLA SHARED
|
|
lts_coord_trans.h
|
|
lts_coord_trans.cpp
|
|
)
|
|
NGL_TARGET_LINK_LIBRARIES(LtsCoordTrans
|
|
PUBLIC
|
|
Qt6::Core
|
|
)
|
|
if (GeographicLib_FOUND)
|
|
TARGET_LINK_LIBRARIES(LtsCoordTrans
|
|
PRIVATE ${GeographicLib_LIBRARIES}
|
|
)
|
|
TARGET_INCLUDE_DIRECTORIES(LtsCoordTrans PRIVATE ${GeographicLib_INCLUDE_DIRS})
|
|
LINK_DIRECTORIES(${GeographicLib_LIBRARY_DIRS})
|
|
else()
|
|
message(STATUS "GeographicLib not found; building LtsCoordTrans without it")
|
|
endif()
|
|
NGL_TARGET_INCLUDE_DIRECTORIES(LtsCoordTrans
|
|
PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../
|
|
${CMAKE_CURRENT_BINARY_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})
|
|
if(QT6_GUI_AVAILABLE)
|
|
NGL_TARGET_LINK_LIBRARIES(ltsCoordWidget
|
|
PRIVATE
|
|
LtsCoordTrans
|
|
PUBLIC
|
|
Qt6::Core
|
|
${Qt6_Widgets}
|
|
)
|
|
endif()
|
|
NGL_TARGET_INCLUDE_DIRECTORIES(ltsCoordWidget
|
|
PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../LtsUtils/LtsUtilsCore
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
)
|
|
|
|
IF(TARGET LtsCoordTrans)
|
|
SET(_tools lonlat2mgrs mgrs2lonlat)
|
|
FOREACH(_tool ${_tools})
|
|
NGL_ADD_EXECUTABLE(ALL ${_tool} ${_tool}.cpp)
|
|
TARGET_LINK_LIBRARIES(${_tool}
|
|
Qt6::Core
|
|
${GeographicLib_LIBRARIES}
|
|
)
|
|
TARGET_INCLUDE_DIRECTORIES(${_tool} PRIVATE ${GeographicLib_INCLUDE_DIRS})
|
|
LINK_DIRECTORIES(${GeographicLib_LIBRARY_DIRS})
|
|
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
|
|
Qt6::Test
|
|
${GeographicLib_LIBRARIES}
|
|
)
|
|
TARGET_INCLUDE_DIRECTORIES(lts_coord_trans_unit_test PRIVATE ${GeographicLib_INCLUDE_DIRS})
|
|
LINK_DIRECTORIES(${GeographicLib_LIBRARY_DIRS})
|
|
ADD_TEST(NAME lts_coord_trans_unit_test COMMAND $<TARGET_FILE:lts_coord_trans_unit_test>)
|
|
ENDIF()
|