From 79b4b48f8aa6eb3d041faf0e75f20f96aa962940 Mon Sep 17 00:00:00 2001 From: Peter Petrik Date: Fri, 19 Oct 2018 12:53:58 +0200 Subject: [PATCH] ios only supports static libs --- CMakeLists.txt | 1 + src/CMakeLists.txt | 14 +++++++++++--- src/core/CMakeLists.txt | 7 ++++++- src/quickgui/CMakeLists.txt | 7 ++++++- src/quickgui/plugin/CMakeLists.txt | 15 +++++++++++++-- src/quickgui/plugin/ios/qmldir | 21 +++++++++++++++++++++ src/quickgui/plugin/qgsquick.qrc | 17 +++++++++++++++++ src/quickgui/plugin/qgsquickplugin.h | 1 - 8 files changed, 75 insertions(+), 8 deletions(-) create mode 100644 src/quickgui/plugin/ios/qmldir create mode 100644 src/quickgui/plugin/qgsquick.qrc diff --git a/CMakeLists.txt b/CMakeLists.txt index ade8f5b730d..60ae35f7453 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,7 @@ SET(CPACK_PACKAGE_VERSION_PATCH "0") SET(COMPLETE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}) SET(RELEASE_NAME "Master") PROJECT(qgis VERSION ${COMPLETE_VERSION}) + IF (APPLE) SET(QGIS_APP_NAME "QGIS") ELSE (APPLE) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 40d9a842361..516bc68837d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,14 +3,22 @@ IF (NOT IOS) ENDIF (NOT IOS) ADD_SUBDIRECTORY(core) -ADD_SUBDIRECTORY(analysis) + +IF (NOT IOS) + ADD_SUBDIRECTORY(analysis) +ENDIF (NOT IOS) + IF (WITH_GUI) ADD_SUBDIRECTORY(ui) ADD_SUBDIRECTORY(gui) ADD_SUBDIRECTORY(auth) ENDIF (WITH_GUI) -ADD_SUBDIRECTORY(providers) -ADD_SUBDIRECTORY(crssync) + +IF (NOT IOS) + ADD_SUBDIRECTORY(providers) + ADD_SUBDIRECTORY(crssync) +ENDIF (NOT IOS) + IF(WIN32 AND NOT MINGW) ADD_SUBDIRECTORY(crashhandler) ENDIF(WIN32 AND NOT MINGW) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 83961da4847..3f764ae513f 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -1271,8 +1271,13 @@ ADD_DEFINITIONS(-DTEST_DATA_DIR="${TEST_DATA_DIR}") ############################################################# # qgis_core library +IF (IOS) + SET(LIBRARY_TYPE STATIC) +ELSE (IOS) + SET(LIBRARY_TYPE SHARED) +ENDIF (IOS) +ADD_LIBRARY(qgis_core ${LIBRARY_TYPE} ${QGIS_CORE_SRCS} ${QGIS_CORE_MOC_SRCS} ${QGIS_CORE_HDRS} ${QGIS_CORE_MOC_HDRS}) -ADD_LIBRARY(qgis_core SHARED ${QGIS_CORE_SRCS} ${QGIS_CORE_MOC_SRCS} ${QGIS_CORE_HDRS} ${QGIS_CORE_MOC_HDRS}) GENERATE_EXPORT_HEADER( qgis_core diff --git a/src/quickgui/CMakeLists.txt b/src/quickgui/CMakeLists.txt index d3f334a2e08..6672d6ca713 100644 --- a/src/quickgui/CMakeLists.txt +++ b/src/quickgui/CMakeLists.txt @@ -99,7 +99,12 @@ ELSE(MSVC) SET_SOURCE_FILES_PROPERTIES(${QGIS_QUICK_GUI_MOC_SRCS} PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations" ) ENDIF(MSVC) -ADD_LIBRARY(qgis_quick SHARED +IF (IOS) + SET(LIBRARY_TYPE STATIC) +ELSE (IOS) + SET(LIBRARY_TYPE SHARED) +ENDIF (IOS) +ADD_LIBRARY(qgis_quick ${LIBRARY_TYPE} ${QGIS_QUICK_GUI_IMAGE_RCC_SRCS} ${QGIS_QUICK_GUI_SRC} ${QGIS_QUICK_GUI_MOC_HDRS} diff --git a/src/quickgui/plugin/CMakeLists.txt b/src/quickgui/plugin/CMakeLists.txt index b3e53121573..4e971a59dc0 100644 --- a/src/quickgui/plugin/CMakeLists.txt +++ b/src/quickgui/plugin/CMakeLists.txt @@ -22,9 +22,14 @@ SET(QGIS_QUICK_PLUGIN_RESOURCES qgsquickphotopanel.qml qgsquickpositionmarker.qml qgsquickscalebar.qml - qmldir ) +IF (IOS) + SET(QGIS_QUICK_PLUGIN_RESOURCES ${QGIS_QUICK_PLUGIN_RESOURCES} ios/qmldir qgsquick.qrc ) +ELSE (IOS) + SET(QGIS_QUICK_PLUGIN_RESOURCES ${QGIS_QUICK_PLUGIN_RESOURCES} qmldir) +ENDIF (IOS) + INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} @@ -80,7 +85,12 @@ ENDIF(MSVC) SET(QGIS_QUICK_PLUGIN_RUNTIME_DIR ${QGIS_OUTPUT_DIRECTORY}/${QGIS_QML_SUBDIR}/QgsQuick) -ADD_LIBRARY(qgis_quick_plugin MODULE +IF (IOS) + SET(LIBRARY_TYPE STATIC) +ELSE (IOS) + SET(LIBRARY_TYPE MODULE) +ENDIF (IOS) +ADD_LIBRARY(qgis_quick_plugin ${LIBRARY_TYPE} ${QGIS_QUICK_PLUGIN_SRC} ${QGIS_QUICK_PLUGIN_MOC_HDRS} ${QGIS_QUICK_PLUGIN_MOC_SRCS} @@ -129,6 +139,7 @@ SET(QUICK_PLUGIN_INSTALL_DIR ${QGIS_QML_DIR}/QgsQuick) INSTALL(TARGETS qgis_quick_plugin RUNTIME DESTINATION ${QUICK_PLUGIN_INSTALL_DIR} LIBRARY DESTINATION ${QUICK_PLUGIN_INSTALL_DIR} + ARCHIVE DESTINATION ${QUICK_PLUGIN_INSTALL_DIR} ) INSTALL(FILES ${QGIS_QUICK_PLUGIN_RESOURCES} ${QGIS_QUICK_PLUGIN_TYPEINFO} DESTINATION ${QUICK_PLUGIN_INSTALL_DIR} diff --git a/src/quickgui/plugin/ios/qmldir b/src/quickgui/plugin/ios/qmldir new file mode 100644 index 00000000000..af5502ca1c5 --- /dev/null +++ b/src/quickgui/plugin/ios/qmldir @@ -0,0 +1,21 @@ +# qmldir +# -------------------------------------- +# Date : Nov 2017 +# Copyright : (C) 2017 by Peter Petrik +# Email : zilolv at gmail dot com +# *************************************************************************** * +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + + +module QgsQuick + +MapCanvas 0.1 qgsquickmapcanvas.qml +FeatureForm 0.1 qgsquickfeatureform.qml +FeatureFormStyling 0.1 qgsquickfeatureformstyling.qml +PositionMarker 0.1 qgsquickpositionmarker.qml +ScaleBar 0.1 qgsquickscalebar.qml +PhotoCapture 0.1 qgsquickphotopanel.qml +MessageLog 0.1 qgsquickmessagelog.qml diff --git a/src/quickgui/plugin/qgsquick.qrc b/src/quickgui/plugin/qgsquick.qrc new file mode 100644 index 00000000000..48eb03478b6 --- /dev/null +++ b/src/quickgui/plugin/qgsquick.qrc @@ -0,0 +1,17 @@ + + + qmldir + qgsquickcheckbox.qml + qgsquickdatetime.qml + qgsquickexternalresource.qml + qgsquicktextedit.qml + qgsquickvaluemap.qml + qgsquickfeatureform.qml + qgsquickfeatureformstyling.qml + qgsquickmapcanvas.qml + qgsquickmessagelog.qml + qgsquickphotopanel.qml + qgsquickpositionmarker.qml + qgsquickscalebar.qml + + diff --git a/src/quickgui/plugin/qgsquickplugin.h b/src/quickgui/plugin/qgsquickplugin.h index 1133dc42646..fbb1977feb5 100644 --- a/src/quickgui/plugin/qgsquickplugin.h +++ b/src/quickgui/plugin/qgsquickplugin.h @@ -39,4 +39,3 @@ class QgsQuickPlugin : public QQmlExtensionPlugin }; #endif // QGSQUICKPLUGIN_H -