[marble] Add new port (#8628)

* KDE Marble library port

* fix in port KDE Marble library

* port KDE Marble library: switch to another version

* vcpkg_fail_port_install added (since only Windows currently supported)

* remove some comments

* Update portfile

* KDE Marble library port

* fix in port KDE Marble library

* port KDE Marble library: switch to another version

* vcpkg_fail_port_install added (since only Windows currently supported)

* remove some comments

* Update portfile

* small fix in KDE Marble library port

* removed ON_LIBRARY_LINKAGE static, and ANDROID FREEBSD

* [marble]Fix triplet judgment

* [kde] Add x64-windows-static state to baseline

* [marble] Re-add x64-windows-static state to baseline

* marble port changed

* marble profile.cmake small correction

* marble: another tiny changes in a port file

* marble: patch to move exe to tools

* [marble] patch for another QT version

* Update ports/marble/CONTROL

* move dll files to bin folder (out of tools folder)

Co-authored-by: Igor Sandler <isandler@topcon.com>
Co-authored-by: Phoebe <v-phma@microsoft.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
This commit is contained in:
ig-or 2020-07-30 22:25:43 -07:00 committed by GitHub
parent 3edf825296
commit 8d09f42a04
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 154 additions and 0 deletions

6
ports/marble/CONTROL Normal file
View File

@ -0,0 +1,6 @@
Source: marble
Version: 19.08.2
Homepage: https://marble.kde.org
Description: Marble KDE library
Supports: windows & x64 & !static
Build-Depends: qt5-base, qt5-svg, qt5-quickcontrols, qt5-webchannel

View File

@ -0,0 +1,45 @@
vcpkg_fail_port_install(ON_TARGET "LINUX" "OSX" "UWP" "ANDROID" ON_ARCH "arm" "x86" ON_LIBRARY_LINKAGE "static")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KDE/marble
REF 552cb9ae1f34482d1ec56532a703e0d820856286 #v20.04.3
SHA512 ac6106a6db53534c96d7281b1a07624c2852ed8c78cce0b91c5f865b106487f1f49aaa4c72d00ffb1f79a761d8d2eca18129ef9517bef463a1840554ed3e51fb
HEAD_REF master
PATCHES "qtfix.patch"
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(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
)
vcpkg_copy_pdbs()
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

97
ports/marble/qtfix.patch Normal file
View File

@ -0,0 +1,97 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a3b2139dc..1f9a10513 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -171,7 +171,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()
@@ -248,7 +248,7 @@ add_definitions(
-DQT_NO_URL_CAST_FROM_STRING
-DQT_NO_CAST_TO_ASCII
-DQT_NO_CAST_FROM_BYTEARRAY
- -DQT_STRICT_ITERATORS
+# -DQT_STRICT_ITERATORS
-DQT_DISABLE_DEPRECATED_BEFORE=0x050700
)
diff --git a/src/apps/marble-qt/CMakeLists.txt b/src/apps/marble-qt/CMakeLists.txt
index d28e3aa5e..7bbf4a63c 100644
--- a/src/apps/marble-qt/CMakeLists.txt
+++ b/src/apps/marble-qt/CMakeLists.txt
@@ -48,7 +48,7 @@ if(STATIC_BUILD)
endif(STATIC_BUILD)
if(WIN32)
-install (TARGETS marble-qt RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX})
+ install (TARGETS marble-qt RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/tools/marble)
else(WIN32)
if (APPLE)
# No need for this when installing to a bundle
diff --git a/src/lib/astro/CMakeLists.txt b/src/lib/astro/CMakeLists.txt
index 5e1afd60f..fc53985f4 100644
--- a/src/lib/astro/CMakeLists.txt
+++ b/src/lib/astro/CMakeLists.txt
@@ -50,7 +50,7 @@ target_include_directories(astro
# choose the correct target install library path
if(WIN32)
- INSTALL(TARGETS astro EXPORT AstroTargets RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX} ARCHIVE DESTINATION lib)
+ INSTALL(TARGETS astro EXPORT AstroTargets RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
elseif(APPLE)
INSTALL(TARGETS astro LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/Marble.app/Contents/MacOS/lib)
else()
diff --git a/src/lib/marble/CMakeLists.txt b/src/lib/marble/CMakeLists.txt
index 7d27be94b..f1f377967 100644
--- a/src/lib/marble/CMakeLists.txt
+++ b/src/lib/marble/CMakeLists.txt
@@ -448,7 +448,7 @@ target_include_directories(marblewidget
# choose the correct target install library path
if(WIN32)
- install(TARGETS marblewidget EXPORT MarbleTargets RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX} ARCHIVE DESTINATION lib)
+ install(TARGETS marblewidget EXPORT MarbleTargets RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
elseif(APPLE)
install(TARGETS marblewidget LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/Marble.app/Contents/MacOS/lib)
else()
diff --git a/src/lib/marble/declarative/CMakeLists.txt b/src/lib/marble/declarative/CMakeLists.txt
index dd5d519c4..482a02ad5 100644
--- a/src/lib/marble/declarative/CMakeLists.txt
+++ b/src/lib/marble/declarative/CMakeLists.txt
@@ -53,7 +53,7 @@ if(Qt5Positioning_FOUND)
endif()
if(WIN32)
- install(TARGETS marbledeclarative RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX} ARCHIVE DESTINATION lib)
+ install(TARGETS marbledeclarative RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
else()
install(TARGETS marbledeclarative LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
diff --git a/src/plugins/positionprovider/CMakeLists.txt b/src/plugins/positionprovider/CMakeLists.txt
index 85591098e..87011876e 100644
--- a/src/plugins/positionprovider/CMakeLists.txt
+++ b/src/plugins/positionprovider/CMakeLists.txt
@@ -12,12 +12,12 @@ find_package(Qt5 ${REQUIRED_QT_VERSION}
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/" )
+#arble_set_package_properties( Qt5Positioning PROPERTIES TYPE OPTIONAL PURPOSE "position information via Qt5Positioning" )
+#if(Qt5Positioning_FOUND)
+# ADD_SUBDIRECTORY( qtpositioning )
+#endif()
macro_optional_find_package(libwlocate)

View File

@ -975,6 +975,12 @@ luasocket:x64-linux=fail
luasocket:x64-osx=fail
lzfse:arm-uwp=fail
magnum:arm64-windows=skip
marble:x64-windows-static=fail
marble:arm64-windows=fail
marble:arm-uwp=fail
marble:x64-linux=fail
marble:x64-osx=fail
marble:x86-windows=fail
marl:arm-uwp=fail
marl:x64-uwp=fail
mathgl:x64-osx=fail