diff --git a/port_versions/baseline.json b/port_versions/baseline.json index d5126885e678ce..357d0a4717ee12 100644 --- a/port_versions/baseline.json +++ b/port_versions/baseline.json @@ -4354,7 +4354,7 @@ }, "osgearth": { "baseline": "3.1", - "port-version": 0 + "port-version": 1 }, "osi": { "baseline": "0.108.6", diff --git a/port_versions/o-/osgearth.json b/port_versions/o-/osgearth.json index 3a430bfc94f94a..13b6b3fece1b9c 100644 --- a/port_versions/o-/osgearth.json +++ b/port_versions/o-/osgearth.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d194c647fcf69fe345c13ae7b6da3451e4bbddb6", + "version": "3.1", + "port-version": 1 + }, { "git-tree": "168a035bd41f62a0d394f4e18fb703692603e39d", "version-string": "3.1", diff --git a/ports/osgearth/CONTROL b/ports/osgearth/CONTROL deleted file mode 100644 index c6d7b7a13cb5ae..00000000000000 --- a/ports/osgearth/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: osgearth -Version: 3.1 -Homepage: https://github.com/gwaldron/osgearth -Description: osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2015 Pelican Mapping. -Build-Depends: osg[plugins] \ No newline at end of file diff --git a/ports/osgearth/make-all-find-packages-required.patch b/ports/osgearth/make-all-find-packages-required.patch new file mode 100644 index 00000000000000..f5ea6793f72114 --- /dev/null +++ b/ports/osgearth/make-all-find-packages-required.patch @@ -0,0 +1,84 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 049e37e..c78bd16 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -121,9 +121,9 @@ option(OSGEARTH_ENABLE_GEOCODER "Enable the geocoder (GDAL/OGR must be built wit + + # Mobile/GLES: + IF (OSGEARTH_USE_GLES) +- find_package(OpenGLES) ++ find_package(OpenGLES REQUIRED) + ELSE () +- find_package(OpenGL) ++ find_package(OpenGL REQUIRED) + ENDIF (OSGEARTH_USE_GLES) + + # required +@@ -132,28 +132,28 @@ find_package(CURL REQUIRED) + find_package(GDAL REQUIRED) + + # optional +-find_package(GEOS) +-find_package(Sqlite3) +-find_package(Draco) +-find_package(BASISU) +-find_package(GLEW) +-find_package(Protobuf) +-find_package(WEBP) ++find_package(GEOS REQUIRED) ++find_package(Sqlite3 REQUIRED) ++find_package(Draco REQUIRED) ++find_package(BASISU REQUIRED) ++find_package(GLEW REQUIRED) ++find_package(Protobuf REQUIRED) ++find_package(WEBP REQUIRED) + + if(OSGEARTH_ENABLE_PROFILING) +- find_package(Tracy) ++ find_package(Tracy REQUIRED) + endif() + + if(OSGEARTH_BUILD_ZIP_PLUGIN) +- find_package(LIBZIP) ++ find_package(LIBZIP REQUIRED) + endif() + + if(OSGEARTH_BUILD_TRITON_NODEKIT) +- find_package(Triton QUIET) ++ find_package(Triton QUIET REQUIRED) + endif() + + if(OSGEARTH_BUILD_SILVERLINING_NODEKIT) +- find_package(SilverLining QUIET) ++ find_package(SilverLining QUIET REQUIRED) + endif() + + # Sqlite enables the MBTiles format: +@@ -182,18 +182,18 @@ SET (PROTOBUF_USE_DLLS FALSE CACHE BOOL "Set this to true if Protobuf is compile + # Duktape is the JavaScript interpreter + SET (WITH_EXTERNAL_DUKTAPE FALSE CACHE BOOL "Use bundled or system wide version of Duktape") + IF (WITH_EXTERNAL_DUKTAPE) +- find_package(Duktape) ++ find_package(Duktape REQUIRED) + ENDIF (WITH_EXTERNAL_DUKTAPE) + + # Whether to install shaders (glsl files). +-# If true, shaders install into a resources folder. If false, they are inlined in the ++# If true, shaders install into a resources folder. If false, they are inlined in the + # code and you cannot tweak them after install. + OPTION(OSGEARTH_INSTALL_SHADERS "Whether to deploy GLSL shaders when doing a Make INSTALL" OFF) + + # TinyXML is an XML parsing library + SET (WITH_EXTERNAL_TINYXML FALSE CACHE BOOL "Use bundled or system wide version of TinyXML") + IF (WITH_EXTERNAL_TINYXML) +- find_package(TinyXML) ++ find_package(TinyXML REQUIRED) + ENDIF (WITH_EXTERNAL_TINYXML) + + # postfix settings for various configs +@@ -272,4 +272,4 @@ ADD_SUBDIRECTORY(src) + + if (OSGEARTH_BUILD_DOCS) + ADD_SUBDIRECTORY(docs) +-endif() ++endif() diff --git a/ports/osgearth/portfile.cmake b/ports/osgearth/portfile.cmake index 7f8f9be1e3ff10..57d42b523151f8 100644 --- a/ports/osgearth/portfile.cmake +++ b/ports/osgearth/portfile.cmake @@ -11,8 +11,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gwaldron/osgearth REF 342fcadf4c8892ba84841cb5b4162bdc51519e3c #version 3.1 - SHA512 03378a918306846d2144e545785c783b01e33fa2dd5c77d16d390a275217b6ce7a3a743c35ae99a497b272a7516b055442c0a891bd312cce727a5538b40364f5 + SHA512 03378a918306846d2144e545785c783b01e33fa2dd5c77d16d390a275217b6ce7a3a743c35ae99a497b272a7516b055442c0a891bd312cce727a5538b40364f5 HEAD_REF master + PATCHES + make-all-find-packages-required.patch ) vcpkg_configure_cmake( @@ -25,6 +27,7 @@ vcpkg_configure_cmake( -DOSGEARTH_BUILD_PROCEDURAL_NODEKIT=OFF -DOSGEARTH_BUILD_TRITON_NODEKIT=OFF -DOSGEARTH_BUILD_SILVERLINING_NODEKIT=OFF + -DWITH_EXTERNAL_TINYXML=ON ) vcpkg_install_cmake() @@ -64,4 +67,4 @@ file(REMOVE_RECURSE ${OSGEARTH_DEBUG_TOOLS}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/${OSG_PLUGINS_SUBDIR}) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/osgearth/vcpkg.json b/ports/osgearth/vcpkg.json new file mode 100644 index 00000000000000..7d7a220150a688 --- /dev/null +++ b/ports/osgearth/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "osgearth", + "version": "3.1", + "port-version": 1, + "description": "osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2015 Pelican Mapping.", + "homepage": "https://github.com/gwaldron/osgearth", + "supports": "!(x86 | wasm32) & !staticcrt", + "dependencies": [ + "basisu", + "draco", + "geos", + "glew", + "libwebp", + "libzip", + "opengl", + { + "name": "osg", + "features": [ + "plugins" + ] + }, + "protobuf", + "sqlite3" + ] +} diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 9397501405a4e5..1ea5187fc0bf5a 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1201,12 +1201,6 @@ opusfile:arm-uwp=fail opusfile:x64-uwp=fail orocos-kdl:arm-uwp=fail orocos-kdl:x64-uwp=fail -osgearth:x64-linux=fail -osgearth:x64-osx=fail -osgearth:x64-windows-static=fail -osgearth:x64-windows-static-md=fail -osgearth:x64-windows=fail -osgearth:x86-windows=fail paho-mqtt:arm-uwp=fail paho-mqtt:x64-uwp=fail pangomm:x64-osx=fail diff --git a/toolsrc/src/vcpkg/platform-expression.cpp b/toolsrc/src/vcpkg/platform-expression.cpp index 034ee6bd5e5a63..a6177c85f61a46 100644 --- a/toolsrc/src/vcpkg/platform-expression.cpp +++ b/toolsrc/src/vcpkg/platform-expression.cpp @@ -32,6 +32,7 @@ namespace vcpkg::PlatformExpression ios, static_link, + static_crt, }; static Identifier string2identifier(StringView name) @@ -51,6 +52,7 @@ namespace vcpkg::PlatformExpression {"emscripten", Identifier::emscripten}, {"ios", Identifier::ios}, {"static", Identifier::static_link}, + {"staticcrt", Identifier::static_link}, }; auto id_pair = id_map.find(name); @@ -398,6 +400,7 @@ namespace vcpkg::PlatformExpression case Identifier::wasm32: return true_if_exists_and_equal("VCPKG_TARGET_ARCHITECTURE", "wasm32"); case Identifier::static_link: return true_if_exists_and_equal("VCPKG_LIBRARY_LINKAGE", "static"); + case Identifier::static_crt: return true_if_exists_and_equal("VCPKG_CRT_LINKAGE", "static"); default: Checks::unreachable(VCPKG_LINE_INFO); } }