# ------------------------------------------------------------------------- # $HeadURL$ # ------------------------------------------------------------------------- #! # ------------------------------------------------------------------------- # COPYRIGHT (C) 2017: RHEINMETALL ELECTRONICS GmbH, D-28305 BREMEN # ------------------------------------------------------------------------- # # Revision INFO: # -------------- # $Revision$ # $Date$ # $Id$ # # PURPOSE: # -------- # Suchen der ArcGIS-Library und Setzen der folgenden CMake-Variablen: # ARCGIS_INCLUDE_DIR - ArcGIS headers location # ARCGIS_LIBRARY - ArcGIS library # ARCGIS_FOUND - TRUE wenn Library gefunden wurde # IF(ARCGIS_INCLUDE_DIR AND ARCGIS_LIBRARY) SET(ARCGIS_FOUND TRUE) ELSE() INCLUDE(FindLibraryWithDebug) INCLUDE(FindPackageHandleStandardArgs) SET(QT_MIN_VERSION 5.4.0) FIND_PACKAGE(Qt5 COMPONENTS Core Gui Location Network Sensors REQUIRED) SET(_arcgis_include_hint "/usr/include") SET(_arcgis_library_hint "/usr/lib64") SET(_arcgis_lib_dir $ENV{ARCGIS_LIB_DIR}) SET(_arcgis_inc_dir $ENV{ARCGIS_INC_DIR}) IF (NOT ${_arcgis_lib_dir} STREQUAL "") SET(_arcgis_library_hint "${_arcgis_lib_dir}") ENDIF() IF (NOT ${_arcgis_inc_dir} STREQUAL "") SET(_arcgis_include_hint "${_arcgis_inc_dir}") ENDIF() IF(WIN32) GET_FILENAME_COMPONENT(_arcgis_root_path "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\ESRI\\ArcGISRuntimeQt100.0.0;InstallDir]" ABSOLUTE) IF(_arcgis_root_path) SET(_arcgis_include_hint "${_arcgis_root_path}/sdk/windows/include/") SET(_arcgis_library_hint "${_arcgis_root_path}/sdk/windows/x86/lib/") ELSE() SET(_root "$ENV{KDEROOT}") FILE(TO_CMAKE_PATH "${_root}" _root) IF(NOT EXISTS "${_root}" OR NOT IS_DIRECTORY "${_root}") SET(_root $ENV{WORKSPACE}) FILE(TO_CMAKE_PATH "${_root}" _root) ENDIF() IF(NOT EXISTS "${_root}" OR NOT IS_DIRECTORY "${_root}") SET(_root ${EXTERNAL_LIBRARY_DIR}) FILE(TO_CMAKE_PATH "${_root}" _root) ENDIF() SET(_arcgis_include_hint "${_root}/include/") SET(_arcgis_library_hint "${_root}/lib/") ENDIF() ENDIF() FIND_PATH(ARCGIS_INCLUDE_DIR arcgis/ArcGISQt_global.h HINTS ${_arcgis_include_hint}) FIND_LIBRARY_WITH_DEBUG(ARCGIS_LIBRARY WIN32_DEBUG_POSTFIX d NAMES EsriRuntimeQt HINTS ${_arcgis_library_hint}) FIND_LIBRARY_WITH_DEBUG(ARCGIS_COMMON_LIBRARY WIN32_DEBUG_POSTFIX d NAMES EsriCommonQt HINTS ${_arcgis_library_hint}) IF (UNIX) # FIND_LIBRARY_WITH_DEBUG(ARCGIS_CPP_LIBRARY WIN32_DEBUG_POSTFIX d NAMES c++ HINTS ${_arcgis_library_hint}) FIND_LIBRARY_WITH_DEBUG(ARCGIS_CPP_LIBRARY WIN32_DEBUG_POSTFIX d NAMES runtimecore HINTS ${_arcgis_library_hint}) ENDIF() FIND_PACKAGE_HANDLE_STANDARD_ARGS(ArcGIS DEFAULT_MSG ARCGIS_LIBRARY ARCGIS_INCLUDE_DIR) MARK_AS_ADVANCED(ARCGIS_INCLUDE_DIR ARCGIS_LIBRARY) ENDIF() IF(NOT TARGET ArcGIS::ArcGIS) ADD_LIBRARY(ArcGIS::ArcGIS UNKNOWN IMPORTED) SET_PROPERTY(TARGET ArcGIS::ArcGIS PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${ARCGIS_INCLUDE_DIR}") SET_PROPERTY(TARGET ArcGIS::ArcGIS PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${ARCGIS_INCLUDE_DIR}") # -isystem IF(ARCGIS_LIBRARY_RELEASE) SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) SET_PROPERTY(TARGET ArcGIS::ArcGIS PROPERTY IMPORTED_LOCATION_RELEASE "${ARCGIS_LIBRARY_RELEASE}") ENDIF() IF(ARCGIS_LIBRARY_DEBUG) SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) SET_PROPERTY(TARGET ArcGIS::ArcGIS PROPERTY IMPORTED_LOCATION_DEBUG "${ARCGIS_LIBRARY_DEBUG}") ENDIF() IF(NOT ARCGIS_LIBRARY_RELEASE AND NOT ARCGIS_LIBRARY_DEBUG) SET_PROPERTY(TARGET ArcGIS::ArcGIS PROPERTY IMPORTED_LOCATION "${ARCGIS_LIBRARY}") ENDIF() #SET_PROPERTY(TARGET ArcGIS::ArcGIS PROPERTY INTERFACE_LINK_LIBRARIES Qt5::Core Qt5::Gui Qt5::Location Qt5::Network Qt5::Sensors) SET_PROPERTY(TARGET ArcGIS::ArcGIS PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ $ $ $ ) IF (UNIX) IF(ARCGIS_COMMON_LIBRARY_RELEASE) SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<$:"${ARCGIS_COMMON_LIBRARY_RELEASE}">) SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<$:"${ARCGIS_CPP_LIBRARY_RELEASE}">) ENDIF() IF(ARCGIS_COMMON_LIBRARY_DEBUG) SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<$:"${ARCGIS_COMMON_LIBRARY_DEBUG}">) SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<$:"${ARCGIS_CPP_LIBRARY_DEBUG}">) ENDIF() IF(ARCGIS_COMMON_LIBRARY AND NOT ARCGIS_COMMON_LIBRARY_RELEASE AND NOT ARCGIS_COMMON_LIBRARY_DEBUG) SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${ARCGIS_COMMON_LIBRARY}" "${ARCGIS_CPP_LIBRARY}") ENDIF() ELSE() IF(ARCGIS_COMMON_LIBRARY_RELEASE) SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<$:${ARCGIS_COMMON_LIBRARY_RELEASE}>) SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<$:${ARCGIS_COMMON_LIBRARY_RELEASE}>) ENDIF() IF(ARCGIS_COMMON_LIBRARY_DEBUG) SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<$:${ARCGIS_COMMON_LIBRARY_DEBUG}>) ENDIF() IF(ARCGIS_COMMON_LIBRARY AND NOT ARCGIS_COMMON_LIBRARY_RELEASE AND NOT ARCGIS_COMMON_LIBRARY_DEBUG) SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${ARCGIS_COMMON_LIBRARY}") ENDIF() ENDIF() ENDIF()