aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/marble
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/marble
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/marble')
-rw-r--r--vcpkg/ports/marble/cpack.patch12
-rw-r--r--vcpkg/ports/marble/portfile.cmake64
-rw-r--r--vcpkg/ports/marble/protobuf.patch12
-rw-r--r--vcpkg/ports/marble/qtfix.patch36
-rw-r--r--vcpkg/ports/marble/vcpkg.json23
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
+ }
+ ]
+}