diff options
Diffstat (limited to 'vcpkg/ports/libosmscout')
| -rw-r--r-- | vcpkg/ports/libosmscout/fix-libxml2.patch | 26 | ||||
| -rw-r--r-- | vcpkg/ports/libosmscout/msvc-arm.diff | 21 | ||||
| -rw-r--r-- | vcpkg/ports/libosmscout/msvc-static.diff | 12 | ||||
| -rw-r--r-- | vcpkg/ports/libosmscout/portfile.cmake | 50 | ||||
| -rw-r--r-- | vcpkg/ports/libosmscout/protobuf-linkage.patch | 15 | ||||
| -rw-r--r-- | vcpkg/ports/libosmscout/vcpkg.json | 80 |
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" + } + } +} |