diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/marble | |
Diffstat (limited to 'vcpkg/ports/marble')
| -rw-r--r-- | vcpkg/ports/marble/cpack.patch | 12 | ||||
| -rw-r--r-- | vcpkg/ports/marble/portfile.cmake | 64 | ||||
| -rw-r--r-- | vcpkg/ports/marble/protobuf.patch | 12 | ||||
| -rw-r--r-- | vcpkg/ports/marble/qtfix.patch | 36 | ||||
| -rw-r--r-- | vcpkg/ports/marble/vcpkg.json | 23 |
5 files changed, 147 insertions, 0 deletions
diff --git a/vcpkg/ports/marble/cpack.patch b/vcpkg/ports/marble/cpack.patch new file mode 100644 index 0000000..e3f7baa --- /dev/null +++ b/vcpkg/ports/marble/cpack.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 307735839..bfdb50d2f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -356,7 +356,6 @@ add_subdirectory(doc)
+ add_subdirectory(src)
+ add_subdirectory(data)
+
+-include(DistTarget)
+
+ add_subdirectory(tests)
+
diff --git a/vcpkg/ports/marble/portfile.cmake b/vcpkg/ports/marble/portfile.cmake new file mode 100644 index 0000000..be0297b --- /dev/null +++ b/vcpkg/ports/marble/portfile.cmake @@ -0,0 +1,64 @@ +
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO KDE/marble
+ REF "v${VERSION}" + SHA512 06d2c9f4c85a5ab66825701fa949f35756ff2f09acc65c2ac5c367bd245ee1b674214070a01f828124d8add3f9cdd06e68e0e93091e47501210c5686ae68f29f + HEAD_REF master
+ PATCHES
+ qtfix.patch
+ protobuf.patch
+ cpack.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DCMAKE_DISABLE_FIND_PACKAGE_I18n=ON
+ -DWITH_KF5=OFF
+)
+
+vcpkg_cmake_install()
+
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake)
+
+# Install plugins and data files
+file(GLOB_RECURSE PLUGINS "${CURRENT_PACKAGES_DIR}/plugins/*")
+file(GLOB_RECURSE PLUGINS_DESIGNER "${CURRENT_PACKAGES_DIR}/lib/plugins/*")
+file(GLOB_RECURSE PLUGINS_DEBUG "${CURRENT_PACKAGES_DIR}/debug/lib/plugins/*")
+file(GLOB_RECURSE MKSPECS "${CURRENT_PACKAGES_DIR}/mkspecs/*")
+
+file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
+file(COPY ${PLUGINS} ${PLUGINS_DESIGNER} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/plugins")
+file(COPY ${PLUGINS_DEBUG} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/plugins")
+file(COPY "${CURRENT_PACKAGES_DIR}/data" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") # have to keep folder structure here
+file(COPY ${MKSPECS} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/mkspecs")
+
+# remove plugin folder
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/plugins" "${CURRENT_PACKAGES_DIR}/debug/plugins"
+ "${CURRENT_PACKAGES_DIR}/data" "${CURRENT_PACKAGES_DIR}/debug/data"
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/mkspecs" "${CURRENT_PACKAGES_DIR}/debug/mkspecs"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+ "${CURRENT_PACKAGES_DIR}/debug/lib/plugins" "${CURRENT_PACKAGES_DIR}/lib/plugins"
+ "${CURRENT_PACKAGES_DIR}/debug/marble-qt.exe"
+)
+
+file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin")
+file(RENAME "${CURRENT_PACKAGES_DIR}/astro.dll" "${CURRENT_PACKAGES_DIR}/bin/astro.dll")
+file(RENAME "${CURRENT_PACKAGES_DIR}/marbledeclarative.dll" "${CURRENT_PACKAGES_DIR}/bin/marbledeclarative.dll")
+file(RENAME "${CURRENT_PACKAGES_DIR}/marblewidget-qt5.dll" "${CURRENT_PACKAGES_DIR}/bin/marblewidget-qt5.dll")
+file(RENAME "${CURRENT_PACKAGES_DIR}/marble-qt.exe" "${CURRENT_PACKAGES_DIR}/tools/marble/marble-qt.exe")
+
+if(NOT VCPKG_BUILD_TYPE)
+ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin")
+ file(RENAME "${CURRENT_PACKAGES_DIR}/debug/astrod.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/astrod.dll")
+ file(RENAME "${CURRENT_PACKAGES_DIR}/debug/marbledeclaratived.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/marbledeclaratived.dll")
+ file(RENAME "${CURRENT_PACKAGES_DIR}/debug/marblewidget-qt5d.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/marblewidget-qt5d.dll")
+endif()
+
+vcpkg_copy_pdbs()
+
+file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*")
+vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES})
diff --git a/vcpkg/ports/marble/protobuf.patch b/vcpkg/ports/marble/protobuf.patch new file mode 100644 index 0000000..0df882a --- /dev/null +++ b/vcpkg/ports/marble/protobuf.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a8f024c2a..307735839 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -109,6 +109,7 @@ endif()
+ # Find Qt dependencies
+
+ find_package(Protobuf)
++set(Protobuf_FOUND 0)
+ set_package_properties(Protobuf PROPERTIES TYPE OPTIONAL PURPOSE "Parsing of OSM PBF files.")
+
+ if(ANDROID)
diff --git a/vcpkg/ports/marble/qtfix.patch b/vcpkg/ports/marble/qtfix.patch new file mode 100644 index 0000000..8c923ff --- /dev/null +++ b/vcpkg/ports/marble/qtfix.patch @@ -0,0 +1,36 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 65b58c4..a8f024c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -184,7 +184,7 @@ set (PEDANTIC FALSE CACHE BOOL "Determines if we should compile with -Wall -Werr + set (WITH_DESIGNER_PLUGIN TRUE CACHE BOOL "Build plugins for Qt Designer") + add_feature_info("Qt Designer plugins" WITH_DESIGNER_PLUGIN "Marble widget support in Qt Designer. Toggle with WITH_DESIGNER_PLUGIN=YES/NO") + +-set(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Base directory for executables and libraries" FORCE) ++set(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/bin CACHE PATH "Base directory for executables and libraries" FORCE) + if (NOT QT_PLUGINS_DIR) + set(QT_PLUGINS_DIR ${CMAKE_INSTALL_LIBDIR}/plugins) + endif() +diff --git a/src/plugins/positionprovider/CMakeLists.txt b/src/plugins/positionprovider/CMakeLists.txt +index ec2ba1a..cc8e52e 100644 +--- a/src/plugins/positionprovider/CMakeLists.txt ++++ b/src/plugins/positionprovider/CMakeLists.txt +@@ -12,12 +12,12 @@ find_package(Qt5 ${REQUIRED_QT_VERSION} + OPTIONAL_COMPONENTS + Positioning + ) +-marble_set_package_properties( Qt5Positioning PROPERTIES DESCRIPTION "a collection of APIs and frameworks" ) +-marble_set_package_properties( Qt5Positioning PROPERTIES URL "https://www.qt.io/developers/" ) +-marble_set_package_properties( Qt5Positioning PROPERTIES TYPE OPTIONAL PURPOSE "position information via Qt5Positioning" ) +-if(Qt5Positioning_FOUND) +- ADD_SUBDIRECTORY( qtpositioning ) +-endif() ++#marble_set_package_properties( Qt5Positioning PROPERTIES DESCRIPTION "a collection of APIs and frameworks" ) ++#marble_set_package_properties( Qt5Positioning PROPERTIES URL "https://www.qt.io/developers/" ) ++#marble_set_package_properties( Qt5Positioning PROPERTIES TYPE OPTIONAL PURPOSE "position information via Qt5Positioning" ) ++#if(Qt5Positioning_FOUND) ++# ADD_SUBDIRECTORY( qtpositioning ) ++#endif() + + + macro_optional_find_package(libwlocate) diff --git a/vcpkg/ports/marble/vcpkg.json b/vcpkg/ports/marble/vcpkg.json new file mode 100644 index 0000000..0b28d2e --- /dev/null +++ b/vcpkg/ports/marble/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "marble", + "version-string": "24.08.2", + "port-version": 1, + "description": "Marble KDE library", + "homepage": "https://marble.kde.org", + "license": "LGPL-2.1-or-later", + "supports": "windows & x64 & !static & !xbox", + "dependencies": [ + "qt5-base", + "qt5-quickcontrols", + "qt5-svg", + "qt5-webchannel", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |