set (WMS_SRCS qgswmscapabilities.cpp qgswmsprovider.cpp qgswmsconnection.cpp qgswmsdataitems.cpp qgsxyzconnection.cpp ) if (WITH_GUI) set(WMS_GUI_SRCS qgswmsprovidergui.cpp qgswmssourceselect.cpp qgswmsdataitemguiproviders.cpp qgswmstsettingswidget.cpp qgstilescalewidget.cpp qgswmtsdimensions.cpp qgsxyzconnectiondialog.cpp qgsxyzsourceselect.cpp qgsxyzsourcewidget.cpp ) set(WMS_UIS ${CMAKE_SOURCE_DIR}/src/ui/qgswmstsettingswidgetbase.ui) endif() # static library add_library(provider_wms_a STATIC ${WMS_SRCS}) set_target_properties(provider_wms_a PROPERTIES UNITY_BUILD ${ENABLE_UNITY_BUILDS}) target_include_directories(provider_wms_a PUBLIC ${CMAKE_SOURCE_DIR}/src/providers/wms ) if (WITH_GUI) qt_wrap_ui(WMS_UIS_H ${WMS_UIS}) add_library(provider_wms_gui_a STATIC ${WMS_GUI_SRCS} ${WMS_UIS_H}) set_target_properties(provider_wms_gui_a PROPERTIES UNITY_BUILD ${ENABLE_UNITY_BUILDS}) target_include_directories (provider_wms_gui_a PUBLIC ${CMAKE_BINARY_DIR}/src/providers/wms ) add_dependencies(provider_wms_a ui) add_dependencies(provider_wms_gui_a ui) endif() target_link_libraries(provider_wms_a qgis_core ) # We use private headers from core that need this target_compile_definitions(provider_wms_a PRIVATE "CMAKE_SOURCE_DIR=\"${CMAKE_SOURCE_DIR}\"") target_compile_definitions(provider_wms_a PRIVATE "-DQT_NO_FOREACH") if (WITH_GUI) target_link_libraries(provider_wms_gui_a qgis_gui provider_wms_a ) target_compile_definitions(provider_wms_gui_a PRIVATE "-DQT_NO_FOREACH") endif() if (FORCE_STATIC_LIBS) # for (external) mobile apps to be able to pick up provider for linking install (TARGETS provider_wms_a ARCHIVE DESTINATION ${QGIS_PLUGIN_DIR}) if (WITH_GUI) install (TARGETS provider_wms_gui_a ARCHIVE DESTINATION ${QGIS_PLUGIN_DIR}) endif() else() # dynamically loaded module add_library(provider_wms MODULE ${WMS_SRCS} ${WMS_GUI_SRCS}) set_target_properties(provider_wms PROPERTIES UNITY_BUILD ${ENABLE_UNITY_BUILDS}) target_link_libraries(provider_wms qgis_core ) if (WITH_GUI) target_link_libraries (provider_wms qgis_gui ) add_dependencies(provider_wms ui) endif() target_compile_definitions(provider_wms PRIVATE "-DQT_NO_FOREACH") # We use private headers from core that need this target_compile_definitions(provider_wms PRIVATE "CMAKE_SOURCE_DIR=\"${CMAKE_SOURCE_DIR}\"") install (TARGETS provider_wms RUNTIME DESTINATION ${QGIS_PLUGIN_DIR} LIBRARY DESTINATION ${QGIS_PLUGIN_DIR}) endif()