aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libosmscout
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/libosmscout')
-rw-r--r--vcpkg/ports/libosmscout/fix-libxml2.patch26
-rw-r--r--vcpkg/ports/libosmscout/msvc-arm.diff21
-rw-r--r--vcpkg/ports/libosmscout/msvc-static.diff12
-rw-r--r--vcpkg/ports/libosmscout/portfile.cmake50
-rw-r--r--vcpkg/ports/libosmscout/protobuf-linkage.patch15
-rw-r--r--vcpkg/ports/libosmscout/vcpkg.json80
6 files changed, 204 insertions, 0 deletions
diff --git a/vcpkg/ports/libosmscout/fix-libxml2.patch b/vcpkg/ports/libosmscout/fix-libxml2.patch
new file mode 100644
index 0000000..46815c2
--- /dev/null
+++ b/vcpkg/ports/libosmscout/fix-libxml2.patch
@@ -0,0 +1,26 @@
+diff --git a/libosmscout-import/src/osmscout/import/PreprocessOSM.cpp b/libosmscout-import/src/osmscout/import/PreprocessOSM.cpp
+index acf2ed97c4..9f006aa7ac 100644
+--- a/libosmscout-import/src/osmscout/import/PreprocessOSM.cpp
++++ b/libosmscout-import/src/osmscout/import/PreprocessOSM.cpp
+@@ -339,7 +339,7 @@ namespace osmscout {
+ return xmlGetPredefinedEntity(name);
+ }
+
+- static void StructuredErrorHandler(void* /*data*/, xmlErrorPtr error)
++ static void StructuredErrorHandler(void* /*data*/, const xmlError* error)
+ {
+ std::cerr << "XML error, line " << error->line << ": " << error->message << std::endl;
+ }
+diff --git a/libosmscout-gpx/src/osmscout/gpx/Import.cpp b/libosmscout-gpx/src/osmscout/gpx/Import.cpp
+index a18648fd34..d2492324e0 100644
+--- a/libosmscout-gpx/src/osmscout/gpx/Import.cpp
++++ b/libosmscout-gpx/src/osmscout/gpx/Import.cpp
+@@ -288,7 +288,7 @@ public:
+ return xmlGetPredefinedEntity(name);
+ }
+
+- static void StructuredErrorHandler(void* data, xmlErrorPtr error)
++ static void StructuredErrorHandler(void* data, const xmlError* error)
+ {
+ auto* parser=static_cast<GpxParser*>(data);
+ parser->Error("XML error, line " + std::to_string(error->line) + ": " + error->message);
diff --git a/vcpkg/ports/libosmscout/msvc-arm.diff b/vcpkg/ports/libosmscout/msvc-arm.diff
new file mode 100644
index 0000000..984fe60
--- /dev/null
+++ b/vcpkg/ports/libosmscout/msvc-arm.diff
@@ -0,0 +1,21 @@
+diff --git a/cmake/features.cmake b/cmake/features.cmake
+index 8b5563e..a6f0ae8 100644
+--- a/cmake/features.cmake
++++ b/cmake/features.cmake
+@@ -57,6 +57,16 @@ if(NOT MSVC)
+ if(HAVE_SSE2)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2")
+ endif()
++elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM")
++ set(HAVE_ALTIVEC OFF)
++ set(HAVE_AVX OFF)
++ set(HAVE_MMX OFF)
++ set(HAVE_SSE OFF)
++ set(HAVE_SSE2 OFF)
++ set(HAVE_SSE3 OFF)
++ set(HAVE_SSE4_1 OFF)
++ set(HAVE_SSE4_2 OFF)
++ set(HAVE_SSSE3 OFF)
+ else()
+ set(HAVE_ALTIVEC OFF)
+ set(HAVE_AVX ON)
diff --git a/vcpkg/ports/libosmscout/msvc-static.diff b/vcpkg/ports/libosmscout/msvc-static.diff
new file mode 100644
index 0000000..8286b2a
--- /dev/null
+++ b/vcpkg/ports/libosmscout/msvc-static.diff
@@ -0,0 +1,12 @@
+diff --git a/cmake/ProjectConfig.cmake b/cmake/ProjectConfig.cmake
+index fb15465..107560f 100644
+--- a/cmake/ProjectConfig.cmake
++++ b/cmake/ProjectConfig.cmake
+@@ -128,7 +128,6 @@ macro(osmscout_library_project)
+ if(BUILD_SHARED_LIBS)
+ install(FILES $<TARGET_PDB_FILE:${_name}> DESTINATION ${CMAKE_INSTALL_PREFIX}/bin CONFIGURATIONS Debug)
+ else()
+- install(FILES $<TARGET_PDB_FILE:${_name}> DESTINATION ${CMAKE_INSTALL_PREFIX}/lib CONFIGURATIONS Debug)
+ endif()
+ endif()
+ endmacro(osmscout_library_project)
diff --git a/vcpkg/ports/libosmscout/portfile.cmake b/vcpkg/ports/libosmscout/portfile.cmake
new file mode 100644
index 0000000..1094767
--- /dev/null
+++ b/vcpkg/ports/libosmscout/portfile.cmake
@@ -0,0 +1,50 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Framstag/libosmscout
+ REF c81e1d9a0f69cc5b93588dbe330b2af587162c5f
+ SHA512 d6ddbc49dd40b1f938ae2cd1ea9342cab0a52db46bf7ed6716111a91d0a38acba12ff2e273d457db51fc240d578a5b849af77b53e600482cf52c3b22306f8c45
+ HEAD_REF master
+ PATCHES
+ protobuf-linkage.patch
+ fix-libxml2.patch
+ msvc-arm.diff
+ msvc-static.diff
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ cairo OSMSCOUT_BUILD_MAP_CAIRO
+ directx OSMSCOUT_BUILD_MAP_DIRECTX
+ gdi OSMSCOUT_BUILD_MAP_GDI
+ qt5 OSMSCOUT_BUILD_MAP_QT
+ svg OSMSCOUT_BUILD_MAP_SVG
+ tools OSMSCOUT_BUILD_TOOL_IMPORT
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DOSMSCOUT_BUILD_DEMOS=OFF
+ -DOSMSCOUT_BUILD_TOOL_DUMPDATA=OFF
+ -DOSMSCOUT_BUILD_TOOL_OSMSCOUT2=OFF
+ -DOSMSCOUT_BUILD_TOOL_OSMSCOUTOPENGL=OFF
+ -DOSMSCOUT_BUILD_TOOL_PUBLICTRANSPORTMAP=OFF
+ -DOSMSCOUT_BUILD_TOOL_STYLEEDITOR=OFF
+ -DOSMSCOUT_BUILD_EXTERN_MATLAB=OFF
+ -DOSMSCOUT_BUILD_TESTS=OFF
+ ${FEATURE_OPTIONS}
+ OPTIONS_DEBUG
+ -DOSMSCOUT_BUILD_TOOL_IMPORT=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/libosmscout)
+
+if("tools" IN_LIST FEATURES)
+ vcpkg_copy_tools(TOOL_NAMES BasemapImport Import AUTO_CLEAN)
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/libosmscout/protobuf-linkage.patch b/vcpkg/ports/libosmscout/protobuf-linkage.patch
new file mode 100644
index 0000000..f80afd8
--- /dev/null
+++ b/vcpkg/ports/libosmscout/protobuf-linkage.patch
@@ -0,0 +1,15 @@
+diff --git a/libosmscout-import/CMakeLists.txt b/libosmscout-import/CMakeLists.txt
+index 36fa3585c..404f61aff 100644
+--- a/libosmscout-import/CMakeLists.txt
++++ b/libosmscout-import/CMakeLists.txt
+@@ -146,8 +146,8 @@ endif()
+
+ if (PROTOBUF_FOUND)
+ target_include_directories(OSMScoutImport PRIVATE ${Protobuf_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR})
+- target_link_libraries(OSMScoutImport ${Protobuf_LIBRARIES})
+- if(WIN32)
++ target_link_libraries(OSMScoutImport protobuf::libprotobuf)
++ if(0)
+ target_compile_definitions(OSMScoutImport PRIVATE -DPROTOBUF_USE_DLLS)
+ endif()
+ target_compile_definitions(OSMScoutImport PRIVATE -DOSMSCOUT_IMPORT_CMAKE_BUILD)
diff --git a/vcpkg/ports/libosmscout/vcpkg.json b/vcpkg/ports/libosmscout/vcpkg.json
new file mode 100644
index 0000000..d9a4b60
--- /dev/null
+++ b/vcpkg/ports/libosmscout/vcpkg.json
@@ -0,0 +1,80 @@
+{
+ "name": "libosmscout",
+ "version": "1.1.1",
+ "port-version": 8,
+ "description": "libosmscout offers applications simple, high-level interfaces for offline location and POI lokup, rendering and routing functionalities based on OpenStreetMap (OSM) data.",
+ "homepage": "https://libosmscout.sourceforge.net/",
+ "documentation": "https://libosmscout.sourceforge.net/documentation/",
+ "supports": "!uwp",
+ "dependencies": [
+ "libiconv",
+ "liblzma",
+ {
+ "name": "libxml2",
+ "default-features": false
+ },
+ "protobuf",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ },
+ "zlib"
+ ],
+ "features": {
+ "cairo": {
+ "description": "Cairo backend renderer",
+ "dependencies": [
+ {
+ "name": "cairo",
+ "default-features": false
+ },
+ {
+ "name": "freetype",
+ "default-features": false
+ },
+ {
+ "name": "harfbuzz",
+ "default-features": false
+ },
+ "libpng",
+ "pango"
+ ]
+ },
+ "directx": {
+ "description": "Direct2D backend renderer",
+ "supports": "windows"
+ },
+ "gdi": {
+ "description": "GDI+ backend renderer",
+ "supports": "windows"
+ },
+ "qt5": {
+ "description": "Enable build of Qt5 map drawing backend",
+ "dependencies": [
+ "qt5-base",
+ "qt5-svg"
+ ]
+ },
+ "svg": {
+ "description": "SVG backend renderer",
+ "dependencies": [
+ {
+ "name": "freetype",
+ "default-features": false
+ },
+ {
+ "name": "harfbuzz",
+ "default-features": false
+ },
+ "pango"
+ ]
+ },
+ "tools": {
+ "description": "Install tools"
+ }
+ }
+}