[osgearth] Make all find_packages required in effort to make this port less "flaky", and turn on in CI. (#15777)

This commit is contained in:
Billy O'Neal 2021-01-21 08:58:11 -08:00 committed by GitHub
parent d0268cf166
commit bedeaa639c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 123 additions and 14 deletions

View File

@ -4354,7 +4354,7 @@
},
"osgearth": {
"baseline": "3.1",
"port-version": 0
"port-version": 1
},
"osi": {
"baseline": "0.108.6",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "d194c647fcf69fe345c13ae7b6da3451e4bbddb6",
"version": "3.1",
"port-version": 1
},
{
"git-tree": "168a035bd41f62a0d394f4e18fb703692603e39d",
"version-string": "3.1",

View File

@ -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]

View File

@ -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()

View File

@ -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)
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

25
ports/osgearth/vcpkg.json Normal file
View File

@ -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"
]
}

View File

@ -1199,12 +1199,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

View File

@ -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);
}
}