aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBilly O'Neal <bion@microsoft.com>2021-01-21 08:58:11 -0800
committerGitHub <noreply@github.com>2021-01-21 08:58:11 -0800
commitbedeaa639c21a759ad211b048deb7968a6648f10 (patch)
tree734603a897ff891ddb08977bb5cc1e67b66a7e80
parentd0268cf16649ffb8b847b719a9cab224623291ff (diff)
downloadvcpkg-bedeaa639c21a759ad211b048deb7968a6648f10.tar.gz
vcpkg-bedeaa639c21a759ad211b048deb7968a6648f10.zip
[osgearth] Make all find_packages required in effort to make this port less "flaky", and turn on in CI. (#15777)
-rw-r--r--port_versions/baseline.json2
-rw-r--r--port_versions/o-/osgearth.json5
-rw-r--r--ports/osgearth/CONTROL5
-rw-r--r--ports/osgearth/make-all-find-packages-required.patch84
-rw-r--r--ports/osgearth/portfile.cmake7
-rw-r--r--ports/osgearth/vcpkg.json25
-rw-r--r--scripts/ci.baseline.txt6
-rw-r--r--toolsrc/src/vcpkg/platform-expression.cpp3
8 files changed, 123 insertions, 14 deletions
diff --git a/port_versions/baseline.json b/port_versions/baseline.json
index 1cb2af9c7..f45c801d2 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 3a430bfc9..13b6b3fec 100644
--- a/port_versions/o-/osgearth.json
+++ b/port_versions/o-/osgearth.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "d194c647fcf69fe345c13ae7b6da3451e4bbddb6",
+ "version": "3.1",
+ "port-version": 1
+ },
+ {
"git-tree": "168a035bd41f62a0d394f4e18fb703692603e39d",
"version-string": "3.1",
"port-version": 0
diff --git a/ports/osgearth/CONTROL b/ports/osgearth/CONTROL
deleted file mode 100644
index c6d7b7a13..000000000
--- 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 000000000..f5ea6793f
--- /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 7f8f9be1e..57d42b523 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 000000000..7d7a22015
--- /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 3cf0de85a..f4d376c7b 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -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
diff --git a/toolsrc/src/vcpkg/platform-expression.cpp b/toolsrc/src/vcpkg/platform-expression.cpp
index 034ee6bd5..a6177c85f 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);
}
}