IF(ARCGIS_INCLUDE_DIR AND ARCGIS_LIBRARY) SET(ARCGIS_FOUND TRUE) ELSE() INCLUDE(FindLibraryWithDebug) INCLUDE(FindPackageHandleStandardArgs) SET(QT_MIN_VERSION 6.0.0) FIND_PACKAGE(Qt6 COMPONENTS Core Gui Location Network Sensors) IF (NOT Qt6_FOUND) MESSAGE(WARNING "Qt6 not found; skipping ArcGIS") SET(BUILD_ARCGIS OFF CACHE BOOL "Build ArcGIS SDK dependent modules" FORCE) RETURN() ENDIF() SET(_arcgis_include_hint "${CMAKE_SOURCE_DIR}/external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk/include") SET(_arcgis_library_hint "${CMAKE_SOURCE_DIR}/external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk/linux/x64/lib") # Check if paths exist, if not try alternative paths IF(NOT EXISTS "${_arcgis_include_hint}") SET(_arcgis_include_hint "${CMAKE_SOURCE_DIR}/../../external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk/include") SET(_arcgis_library_hint "${CMAKE_SOURCE_DIR}/../../external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk/linux/x64/lib") ENDIF() 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 ArcGISQt_global.h HINTS ${_arcgis_include_hint}) FIND_LIBRARY(ARCGIS_LIBRARY NAMES EsriRuntimeQt HINTS ${_arcgis_library_hint}) FIND_LIBRARY(ARCGIS_COMMON_LIBRARY NAMES EsriCommonQt HINTS ${_arcgis_library_hint}) IF (UNIX) FIND_LIBRARY(ARCGIS_CPP_LIBRARY 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) IF(NOT ARCGIS_FOUND) SET(BUILD_ARCGIS OFF CACHE BOOL "Build ArcGIS SDK dependent modules" FORCE) ENDIF() 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}") 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() # APPEND (not replace): line 95 above set the ArcGIS SDK include dir; a plain # SET_PROPERTY here overwrote it, so consumers (e.g. advancedSymbology) never # saw etc. Base-state defect carried over from the legacy Qt5 file # (identical overwrite of the Qt5 include dirs), never surfaced because the # ArcGIS-ON GROUP5 path was never validated in this pipeline. SET_PROPERTY(TARGET ArcGIS::ArcGIS APPEND 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()