maplibre / maplibre-native-qt

MapLibre Native Qt Bindings and Qt Location Plugin
https://maplibre.org/maplibre-native-qt/docs/
43 stars 16 forks source link

Is it correct to installation path for plugin files #179

Open AGLExport opened 1 month ago

AGLExport commented 1 month ago

Describe the bug I try to build maplibre-native-qt using yocto with meta-qt6. These file install to /usr/ not a /usr/lib/. /usr/plugins/geoservices/libqtgeoservices_maplibre.so /usr/qml/MapLibre/qmldir /usr/qml/MapLibre/libdeclarative_locationplugin_maplibre.so /usr/qml/MapLibre/declarative_locationplugin_maplibre.qmltypes

To Reproduce It's installation issue.

Expected behavior I think so these installation path are correct. /usr/lib/plugins/geoservices/libqtgeoservices_maplibre.so /usr/lib/qml/MapLibre/qmldir /usr/lib/qml/MapLibre/libdeclarative_locationplugin_maplibre.so /usr/lib/qml/MapLibre/declarative_locationplugin_maplibre.qmltypes

Screenshots No screenshots.

Platform information (please complete the following information):

Additional context I think do these setting is correct.

diff --git a/src/location/plugins/CMakeLists.txt b/src/location/plugins/CMakeLists.txt
index bbde029..ce37be1 100644
--- a/src/location/plugins/CMakeLists.txt
+++ b/src/location/plugins/CMakeLists.txt
@@ -77,10 +77,10 @@ install(
 install(
     TARGETS ${MLN_QT_GEOSERVICES_PLUGIN} ${GeoServicesPluginOutputTargets}
     EXPORT ${MLN_QT_NAME}LocationPluginGeoServicesTargets
-    ARCHIVE DESTINATION "plugins/geoservices"
-    LIBRARY DESTINATION "plugins/geoservices"
-    OBJECTS DESTINATION "plugins/geoservices"
-    RUNTIME DESTINATION "plugins/geoservices"
+    ARCHIVE DESTINATION "${INSTALL_PLUGINSDIR}/geoservices"
+    LIBRARY DESTINATION "${INSTALL_PLUGINSDIR}/geoservices"
+    OBJECTS DESTINATION "${INSTALL_PLUGINSDIR}/geoservices"
+    RUNTIME DESTINATION "${INSTALL_PLUGINSDIR}/geoservices"
 )

 # QtLocation QML extension plugin
@@ -214,21 +214,21 @@ install(
 install(
     TARGETS ${MLN_QT_QML_PLUGIN} ${QmlPluginOutputTargets}
     EXPORT ${MLN_QT_NAME}LocationPluginQmlTargets
-    ARCHIVE DESTINATION "qml/MapLibre"
-    LIBRARY DESTINATION "qml/MapLibre"
-    OBJECTS DESTINATION "qml/MapLibre"
-    RUNTIME DESTINATION "qml/MapLibre"
+    ARCHIVE DESTINATION "${INSTALL_QMLDIR}/MapLibre"
+    LIBRARY DESTINATION "${INSTALL_QMLDIR}/MapLibre"
+    OBJECTS DESTINATION "${INSTALL_QMLDIR}/MapLibre"
+    RUNTIME DESTINATION "${INSTALL_QMLDIR}/MapLibre"
 )
 install(
     FILES
         "${CMAKE_CURRENT_BINARY_DIR}/MapLibre/qmldir"
-    DESTINATION "qml/MapLibre"
+    DESTINATION "${INSTALL_QMLDIR}/MapLibre"
 )

 if(COMMAND qt_add_qml_module)
     install(
         FILES
             "${CMAKE_CURRENT_BINARY_DIR}/MapLibre/${MLN_QT_QML_PLUGIN}.qmltypes"
-        DESTINATION "qml/MapLibre"
+        DESTINATION "${INSTALL_QMLDIR}/MapLibre"
     )
 endif()
ntadej commented 1 month ago

Thanks for the report!

Yes, it seems that Linux installation paths are wrong when using system Qt.