[osgearth] Fix x64-windows-static-md (#15375)

* osgearth:x64-windows-static-md fixes

* Try to build for x64-windows-static-md

* Fix builds

* Indent and combine blocks

* overwrite version

* merge with master and update version

* revert incorrect version changes

* [osgearth] Improve portfile.cmake, add feature tools

* update version record

* disable fontconfig on windows

* update version

* [osgearth] Fix dependencies

* [osgearth] Re-fix dependencies

* [osgearth] Fix the sequence of linking osg

* [osgearth] Fix dependency osg

* update version record

* Fix osgearth:x64-linux

* x64-windows-static-md fixes

* Fix x64-linux

* Build fixes

* Update x-add-version

Co-authored-by: ankurv <ankurv@microsoft.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
This commit is contained in:
ankurverma85 2021-03-25 13:28:42 -07:00 committed by GitHub
parent c2e1d32c25
commit 5a10163c44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 445 additions and 58 deletions

View File

@ -1,6 +1,6 @@
Source: osg
Version: 3.6.5
Port-Version: 6
Port-Version: 7
Homepage: https://github.com/openscenegraph/OpenSceneGraph
Description: The OpenSceneGraph is an open source high performance 3D graphics toolkit.
Build-Depends: zlib, fontconfig (!windows), expat (windows), openimageio (osx)

View File

@ -54,6 +54,11 @@ if (VCPKG_TARGET_IS_WINDOWS AND OSG_DYNAMIC)
endif()
list(APPEND OPTIONS -DENABLE_NVTT=${ENABLE_NVTT})
if (VCPKG_TARGET_IS_WINDOWS)
list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_FONTCONFIG=ON)
list(APPEND OPTIONS -DOSG_TEXT_USE_FONTCONFIG=OFF)
endif()
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
tools BUILD_OSG_APPLICATIONS
examples BUILD_OSG_EXAMPLES

View File

@ -0,0 +1,84 @@
From 4e719ceacdc8df729f3296f62c9f50075c862967 Mon Sep 17 00:00:00 2001
From: Ankur Verma <ankur.verma@outlook.com>
Date: Sun, 27 Dec 2020 22:26:32 -0800
Subject: [PATCH] StaticOSG
---
CMakeLists.txt | 9 ++++++
CMakeModules/FindGEOS.cmake | 29 +++++++++++++++++++++++++++--
2 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 049e37e..d75a3b9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -266,6 +266,15 @@ ELSE()
SET(OSGEARTH_DYNAMIC_OR_STATIC "STATIC")
ENDIF()
+IF(NOT OSGEARTH_BUILD_SHARED_LIBS)
+ ADD_DEFINITIONS(-DOSGEARTH_LIBRARY_STATIC)
+ENDIF()
+
+OPTION(OSG_IS_STATIC "Set to ON to build OSG for static linking. Use OFF for dynamic." OFF)
+IF (OSG_IS_STATIC)
+ ADD_DEFINITIONS(-DOSG_LIBRARY_STATIC)
+ LINK_LIBRARIES(${CMAKE_DL_LIBS})
+ENDIF(OSG_IS_STATIC)
# OE Libraries
ADD_SUBDIRECTORY(src)
diff --git a/CMakeModules/FindGEOS.cmake b/CMakeModules/FindGEOS.cmake
index e85f922..b1bbfed 100644
--- a/CMakeModules/FindGEOS.cmake
+++ b/CMakeModules/FindGEOS.cmake
@@ -65,7 +65,7 @@ FIND_LIBRARY(GEOS_LIBRARY
)
FIND_LIBRARY(GEOS_LIBRARY_DEBUG
- NAMES geos_cd geos_i_d geosd
+ NAMES geos_cd geos_i_d
PATHS
${GEOS_DIR}/lib
$ENV{GEOS_DIR}
@@ -74,7 +74,7 @@ FIND_LIBRARY(GEOS_LIBRARY_DEBUG
)
FIND_LIBRARY(GEOS_LIBRARY_DEBUG
- NAMES geos_cd geos_i_d geosd
+ NAMES geos_cd geos_i_d
PATHS
~/Library/Frameworks
/Library/Frameworks
@@ -92,3 +92,28 @@ SET(GEOS_FOUND "NO")
IF(GEOS_LIBRARY AND GEOS_INCLUDE_DIR)
SET(GEOS_FOUND "YES")
ENDIF(GEOS_LIBRARY AND GEOS_INCLUDE_DIR)
+
+OPTION(GEOS_IS_STATIC "Set to ON to build GEOS for static linking. Use OFF for dynamic." OFF)
+IF (GEOS_IS_STATIC)
+ FIND_LIBRARY(GEOS_CXX_LIBRARY
+ NAMES geos
+ PATHS
+ ${GEOS_DIR}/lib
+ $ENV{GEOS_DIR}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+ )
+
+ FIND_LIBRARY(GEOS_CXX_LIBRARY_DEBUG
+ NAMES geosd
+ PATHS
+ ${GEOS_DIR}/lib
+ $ENV{GEOS_DIR}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+ )
+
+ set(GEOS_LIBRARY "${GEOS_LIBRARY};${GEOS_CXX_LIBRARY}" CACHE STRING "Geos Libraries" FORCE )
+ set(GEOS_LIBRARY_DEBUG "${GEOS_LIBRARY_DEBUG};${GEOS_CXX_LIBRARY_DEBUG}" CACHE STRING "Geos Debug Libraries" FORCE )
+
+ENDIF(GEOS_IS_STATIC)
--
2.29.2

View File

@ -0,0 +1,28 @@
From 89bea8378ae632b0caa134293f713b927774ab50 Mon Sep 17 00:00:00 2001
From: ankurv <ankurv@microsoft.com>
Date: Sun, 3 Jan 2021 11:05:32 -0800
Subject: [PATCH] Patch
---
src/osgEarth/Threading | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/osgEarth/Threading b/src/osgEarth/Threading
index 9093ca6..0fbd9ce 100644
--- a/src/osgEarth/Threading
+++ b/src/osgEarth/Threading
@@ -602,7 +602,11 @@ namespace osgEarth { namespace Threading
template<typename Fn, typename... Args>
constexpr auto cpp11invoke(Fn&& f, Args&&... args)
noexcept(noexcept(std::forward<Fn>(f)(std::forward<Args>(args)...)))
+#if defined(__cpp_lib_is_invocable) && __cpp_lib_is_invocable >= 201703
+ -> typename std::invoke_result<Fn(Args...)>::type
+#else
-> typename std::result_of<Fn(Args...)>::type
+#endif
{
return std::forward<Fn>(f)(std::forward<Args>(args)...);
}
--
2.29.2.windows.3

View File

@ -0,0 +1,67 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 001ebf1..8e49af2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -128,24 +128,45 @@ ENDIF (OSGEARTH_USE_GLES)
# required
find_package(OSG REQUIRED)
-find_package(CURL REQUIRED)
+find_package(CURL CONFIG REQUIRED)
+set(CURL_LIBRARY CURL::libcurl)
+
find_package(GDAL REQUIRED)
+set(GDAL_LIBRARY ${GDAL_LIBRARIES})
+set(GDAL_FOUND 1)
# optional
-find_package(GEOS REQUIRED)
-find_package(Sqlite3 REQUIRED)
+find_package(geos CONFIG REQUIRED)
+set(GEOS_LIBRARY GEOS::geos GEOS::geos_c)
+set(GEOS_FOUND 1)
+
+find_package(unofficial-sqlite3 CONFIG REQUIRED)
+set(SQLITE3_FOUND 1)
+set(SQLITE3_LIBRARY unofficial::sqlite3::sqlite3)
+
find_package(Draco REQUIRED)
find_package(BASISU REQUIRED)
+
find_package(GLEW REQUIRED)
-find_package(Protobuf REQUIRED)
-find_package(WEBP REQUIRED)
+set(GLEW_LIBRARIES GLEW::GLEW)
+set(GLEW_FOUND 1)
+
+find_package(protobuf CONFIG REQUIRED)
+set(Protobuf_LIBRARIES protobuf::libprotoc protobuf::libprotobuf)
+set(Protobuf_FOUND 1)
+
+find_package(WebP CONFIG REQUIRED)
+set(WEBP_LIBRARY WebP::webp)
+set(WEBP_FOUND 1)
if(OSGEARTH_ENABLE_PROFILING)
find_package(Tracy REQUIRED)
endif()
if(OSGEARTH_BUILD_ZIP_PLUGIN)
- find_package(LIBZIP REQUIRED)
+ find_package(libzip CONFIG REQUIRED)
+ set(LIBZIP_LIBRARY libzip::zip)
+ set(LIBZIP_FOUND 1)
endif()
if(OSGEARTH_BUILD_TRITON_NODEKIT)
@@ -193,7 +214,9 @@ OPTION(OSGEARTH_INSTALL_SHADERS "Whether to deploy GLSL shaders when doing a Mak
# 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 REQUIRED)
+ find_package(tinyxml CONFIG REQUIRED)
+ set(TINYXML_FOUND 1)
+ set(TINYXML_LIBRARY unofficial-tinyxml::unofficial-tinyxml)
ENDIF (WITH_EXTERNAL_TINYXML)
# postfix settings for various configs

View File

@ -0,0 +1,171 @@
diff --git a/CMakeModules/FindOSG.cmake b/CMakeModules/FindOSG.cmake
index b7dff11..d1ec2ff 100644
--- a/CMakeModules/FindOSG.cmake
+++ b/CMakeModules/FindOSG.cmake
@@ -121,5 +121,36 @@ IF( OSG_LIBRARY AND OSG_INCLUDE_DIR )
SET( OSG_FOUND "YES" )
SET( OSG_INCLUDE_DIRS ${OSG_INCLUDE_DIR} ${OSG_GEN_INCLUDE_DIR} )
GET_FILENAME_COMPONENT( OSG_LIBRARIES_DIR ${OSG_LIBRARY} PATH )
+
+ find_package(ZLIB REQUIRED)
+ set(ZLIB_LIBRARY ZLIB::ZLIB)
+
+ find_package(Freetype REQUIRED)
+ set(FREETYPE_LIBRARY Freetype::Freetype)
+
+ find_package(unofficial-brotli CONFIG REQUIRED)
+ find_package(BZip2 REQUIRED)
+ find_package(expat CONFIG REQUIRED)
+ find_package(PNG REQUIRED)
+ find_package(JPEG REQUIRED)
+ find_package(TIFF REQUIRED)
+ find_package(zstd REQUIRED)
+ find_package(GIF REQUIRED)
+
+ if (UNIX)
+ list(APPEND OSG_DEPENDS_LIBRARY ${OSG_DEPENDS_LIBRARY} -pthread)
+ # Due to Linux Linker dependency issues these need to included again
+ set(DEPEND_LIB_LIST fontconfig freetype uuid gdal json-c expat zstd proj sqlite3 webp gif cfitsio)
+ else(UNIX)
+ set(DEPEND_LIB_LIST cfitsio)
+ endif()
+ foreach (libname ${DEPEND_LIB_LIST})
+ find_library(${libname}_LIBRARY_RELEASE NAMES ${libname} NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH REQUIRED)
+ find_library(${libname}_LIBRARY_DEBUG NAMES ${libname} ${libname}d ${libname}_d NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH REQUIRED)
+ select_library_configurations(${libname})
+ list(APPEND OSG_DEPENDS_LIBRARY ${${libname}_LIBRARY})
+ endforeach()
+ list(APPEND OSG_DEPENDS_LIBRARY ZLIB::ZLIB Freetype::Freetype expat::expat PNG::PNG JPEG::JPEG TIFF::TIFF ${GIF_LIBRARIES} ${CFITSIO_LIBRARY})
+
ENDIF( OSG_LIBRARY AND OSG_INCLUDE_DIR )
diff --git a/src/applications/osgearth_3pv/CMakeLists.txt b/src/applications/osgearth_3pv/CMakeLists.txt
index e1dc876..6d688ff 100644
--- a/src/applications/osgearth_3pv/CMakeLists.txt
+++ b/src/applications/osgearth_3pv/CMakeLists.txt
@@ -1,5 +1,5 @@
INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} )
-SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY)
+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY)
SET(TARGET_SRC osgearth_3pv.cpp )
diff --git a/src/applications/osgearth_atlas/CMakeLists.txt b/src/applications/osgearth_atlas/CMakeLists.txt
index aadbb5e..69698c7 100644
--- a/src/applications/osgearth_atlas/CMakeLists.txt
+++ b/src/applications/osgearth_atlas/CMakeLists.txt
@@ -1,6 +1,6 @@
INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} )
-SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY)
+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY)
SET(TARGET_SRC osgearth_atlas.cpp )
diff --git a/src/applications/osgearth_boundarygen/CMakeLists.txt b/src/applications/osgearth_boundarygen/CMakeLists.txt
index fe9ec6b..52915b0 100644
--- a/src/applications/osgearth_boundarygen/CMakeLists.txt
+++ b/src/applications/osgearth_boundarygen/CMakeLists.txt
@@ -1,5 +1,5 @@
INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} )
-SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY)
+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY)
SET(TARGET_H
BoundaryUtil
diff --git a/src/applications/osgearth_clamp/CMakeLists.txt b/src/applications/osgearth_clamp/CMakeLists.txt
index 996ea43..728ee77 100644
--- a/src/applications/osgearth_clamp/CMakeLists.txt
+++ b/src/applications/osgearth_clamp/CMakeLists.txt
@@ -1,5 +1,5 @@
INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} )
-SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OPENTHREADS_LIBRARY)
+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY)
SET(TARGET_SRC osgearth_clamp.cpp)
diff --git a/src/applications/osgearth_conv/CMakeLists.txt b/src/applications/osgearth_conv/CMakeLists.txt
index a77d703..2aac5f2 100644
--- a/src/applications/osgearth_conv/CMakeLists.txt
+++ b/src/applications/osgearth_conv/CMakeLists.txt
@@ -1,5 +1,5 @@
INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} )
-SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OPENTHREADS_LIBRARY)
+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY)
SET(TARGET_SRC osgearth_conv.cpp )
diff --git a/src/applications/osgearth_overlayviewer/CMakeLists.txt b/src/applications/osgearth_overlayviewer/CMakeLists.txt
index bb2802a..5175cfc 100644
--- a/src/applications/osgearth_overlayviewer/CMakeLists.txt
+++ b/src/applications/osgearth_overlayviewer/CMakeLists.txt
@@ -1,5 +1,5 @@
INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} )
-SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY)
+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY)
SET(TARGET_SRC osgearth_overlayviewer.cpp )
diff --git a/src/applications/osgearth_tfs/CMakeLists.txt b/src/applications/osgearth_tfs/CMakeLists.txt
index 90c153a..d331019 100644
--- a/src/applications/osgearth_tfs/CMakeLists.txt
+++ b/src/applications/osgearth_tfs/CMakeLists.txt
@@ -1,6 +1,6 @@
INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} )
-SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY)
+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY)
SET(TARGET_SRC osgearth_tfs.cpp )
diff --git a/src/applications/osgearth_toc/CMakeLists.txt b/src/applications/osgearth_toc/CMakeLists.txt
index b32c523..7b25b79 100644
--- a/src/applications/osgearth_toc/CMakeLists.txt
+++ b/src/applications/osgearth_toc/CMakeLists.txt
@@ -1,5 +1,5 @@
INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} )
-SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY OSGWIDGET_LIBRARY)
+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGWIDGET_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY)
SET(TARGET_SRC osgearth_toc.cpp )
diff --git a/src/applications/osgearth_version/CMakeLists.txt b/src/applications/osgearth_version/CMakeLists.txt
index 1f1d48d..01e963b 100644
--- a/src/applications/osgearth_version/CMakeLists.txt
+++ b/src/applications/osgearth_version/CMakeLists.txt
@@ -1,5 +1,5 @@
INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} )
-SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY)
+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY)
SET(TARGET_SRC osgearth_version.cpp )
diff --git a/src/applications/osgearth_viewer/CMakeLists.txt b/src/applications/osgearth_viewer/CMakeLists.txt
index 8c61e42..bbda7be 100644
--- a/src/applications/osgearth_viewer/CMakeLists.txt
+++ b/src/applications/osgearth_viewer/CMakeLists.txt
@@ -1,5 +1,5 @@
INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} )
-SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY)
+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY)
SET(TARGET_SRC osgearth_viewer.cpp )
diff --git a/src/osgEarth/CMakeLists.txt b/src/osgEarth/CMakeLists.txt
index c49bfcd..a7b9a2d 100644
--- a/src/osgEarth/CMakeLists.txt
+++ b/src/osgEarth/CMakeLists.txt
@@ -870,9 +870,11 @@ ENDIF(TRACY_FOUND)
OPTION(NRL_STATIC_LIBRARIES "Link osgEarth against static GDAL and cURL, including static OpenSSL, Proj4, JPEG, PNG, and TIFF." OFF)
if(NOT NRL_STATIC_LIBRARIES)
- LINK_WITH_VARIABLES(${LIB_NAME} OSG_LIBRARY OSGUTIL_LIBRARY OSGSIM_LIBRARY OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGTEXT_LIBRARY OSGGA_LIBRARY OSGSHADOW_LIBRARY OPENTHREADS_LIBRARY CURL_LIBRARY GDAL_LIBRARY OSGMANIPULATOR_LIBRARY)
+ LINK_WITH_VARIABLES(${LIB_NAME} OSGSIM_LIBRARY OSGVIEWER_LIBRARY OSGTEXT_LIBRARY OSGDB_LIBRARY OSGGA_LIBRARY OSGSHADOW_LIBRARY OPENTHREADS_LIBRARY OSGMANIPULATOR_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY)
+ TARGET_LINK_LIBRARIES(${LIB_NAME} ${OSG_DEPENDS_LIBRARY} ${CURL_LIBRARY} ${GDAL_LIBRARIES})
else(NOT NRL_STATIC_LIBRARIES)
- LINK_WITH_VARIABLES(${LIB_NAME} OSG_LIBRARY OSGUTIL_LIBRARY OSGSIM_LIBRARY OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGTEXT_LIBRARY OSGGA_LIBRARY OSGSHADOW_LIBRARY OPENTHREADS_LIBRARY CURL_LIBRARY GDAL_LIBRARY OSGMANIPULATOR_LIBRARY SSL_EAY_RELEASE LIB_EAY_RELEASE TIFF_LIBRARY PROJ4_LIBRARY PNG_LIBRARY JPEG_LIBRARY)
+ LINK_WITH_VARIABLES(${LIB_NAME} OSGSIM_LIBRARY OSGVIEWER_LIBRARY OSGTEXT_LIBRARY OSGDB_LIBRARY OSGGA_LIBRARY OSGSHADOW_LIBRARY OPENTHREADS_LIBRARY OSGMANIPULATOR_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY)
+ TARGET_LINK_LIBRARIES(${LIB_NAME} ${OSG_DEPENDS_LIBRARY} ${CURL_LIBRARY} ${GDAL_LIBRARIES} ${SSL_EAY_RELEASE} ${LIB_EAY_RELEASE} ${TIFF_LIBRARY} ${PROJ4_LIBRARY} ${PNG_LIBRARY} ${JPEG_LIBRARY})
endif(NOT NRL_STATIC_LIBRARIES)
LINK_CORELIB_DEFAULT(${LIB_NAME} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIBRARY})

View File

@ -1,15 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c78bd16..bf31091 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -193,7 +193,9 @@ OPTION(OSGEARTH_INSTALL_SHADERS "Whether to deploy GLSL shaders when doing a Mak
# 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 REQUIRED)
+ find_package(tinyxml CONFIG REQUIRED)
+ set(TINYXML_FOUND 1)
+ set(TINYXML_LIBRARY unofficial-tinyxml::unofficial-tinyxml)
ENDIF (WITH_EXTERNAL_TINYXML)
# postfix settings for various configs

View File

@ -1,11 +1,12 @@
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
file(GLOB OSG_PLUGINS_SUBDIR ${CURRENT_INSTALLED_DIR}/tools/osg/osgPlugins-*)
list(LENGTH OSG_PLUGINS_SUBDIR OSG_PLUGINS_SUBDIR_LENGTH)
if(NOT OSG_PLUGINS_SUBDIR_LENGTH EQUAL 1)
message(FATAL_ERROR "Could not determine osg version")
# Only dynamic build need dlls
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
file(GLOB OSG_PLUGINS_SUBDIR ${CURRENT_INSTALLED_DIR}/tools/osg/osgPlugins-*)
list(LENGTH OSG_PLUGINS_SUBDIR OSG_PLUGINS_SUBDIR_LENGTH)
if(NOT OSG_PLUGINS_SUBDIR_LENGTH EQUAL 1)
message(FATAL_ERROR "Could not determine osg version")
endif()
string(REPLACE "${CURRENT_INSTALLED_DIR}/tools/osg/" "" OSG_PLUGINS_SUBDIR "${OSG_PLUGINS_SUBDIR}")
endif()
string(REPLACE "${CURRENT_INSTALLED_DIR}/tools/osg/" "" OSG_PLUGINS_SUBDIR "${OSG_PLUGINS_SUBDIR}")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
@ -13,18 +14,34 @@ vcpkg_from_github(
REF 342fcadf4c8892ba84841cb5b4162bdc51519e3c #version 3.1
SHA512 03378a918306846d2144e545785c783b01e33fa2dd5c77d16d390a275217b6ce7a3a743c35ae99a497b272a7516b055442c0a891bd312cce727a5538b40364f5
HEAD_REF master
PATCHES
PATCHES
StaticOSG.patch # Fix port compilation in static-md module
deprecated_cpp_fix.patch # Fix port headers to not use classes deprecated in c++17. Gives errors when using the installed port headers
make-all-find-packages-required.patch
fix-tinyxml.patch
fix-dependencies.patch
fix-dependency-osg.patch
remove-tool-debug-suffix.patch
)
# Upstream bug, see https://github.com/gwaldron/osgearth/issues/1002
file(REMOVE ${SOURCE_PATH}/src/osgEarth/tinyxml.h)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
tools OSGEARTH_BUILD_TOOLS
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
OPTIONS ${FEATURE_OPTIONS}
-DOSGEARTH_BUILD_SHARED_LIBS=${BUILD_SHARED}
-DNRL_STATIC_LIBRARIES=${BUILD_STATIC}
-DOSG_IS_STATIC=${BUILD_STATIC}
-DGEOS_IS_STATIC=${BUILD_STATIC}
-DCURL_IS_STATIC=${BUILD_STATIC}
-DOSGEARTH_BUILD_EXAMPLES=OFF
-DOSGEARTH_BUILD_TESTS=OFF
-DOSGEARTH_BUILD_DOCS=OFF
@ -36,39 +53,38 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
#Release
set(OSGEARTH_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/${PORT})
set(OSGEARTH_TOOL_PLUGIN_PATH ${OSGEARTH_TOOL_PATH}/${OSG_PLUGINS_SUBDIR})
if (WIN32 AND (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic))
#Release
set(OSGEARTH_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/${PORT})
set(OSGEARTH_TOOL_PLUGIN_PATH ${OSGEARTH_TOOL_PATH}/${OSG_PLUGINS_SUBDIR})
file(MAKE_DIRECTORY ${OSGEARTH_TOOL_PATH})
file(MAKE_DIRECTORY ${OSGEARTH_TOOL_PLUGIN_PATH})
file(MAKE_DIRECTORY ${OSGEARTH_TOOL_PLUGIN_PATH})
file(GLOB OSGDB_PLUGINS ${CURRENT_PACKAGES_DIR}/bin/${OSG_PLUGINS_SUBDIR}/osgdb*.dll)
file(GLOB OSGEARTH_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe)
file(GLOB OSGDB_PLUGINS ${CURRENT_PACKAGES_DIR}/bin/${OSG_PLUGINS_SUBDIR}/osgdb*.dll)
file(COPY ${OSGDB_PLUGINS} DESTINATION ${OSGEARTH_TOOL_PLUGIN_PATH})
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/${OSG_PLUGINS_SUBDIR})
file(COPY ${OSGEARTH_TOOLS} DESTINATION ${OSGEARTH_TOOL_PATH})
file(COPY ${OSGDB_PLUGINS} DESTINATION ${OSGEARTH_TOOL_PLUGIN_PATH})
#Debug
set(OSGEARTH_DEBUG_TOOL_PATH ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT})
set(OSGEARTH_DEBUG_TOOL_PLUGIN_PATH ${OSGEARTH_DEBUG_TOOL_PATH}/${OSG_PLUGINS_SUBDIR})
file(REMOVE_RECURSE ${OSGEARTH_TOOLS})
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/${OSG_PLUGINS_SUBDIR})
file(MAKE_DIRECTORY ${OSGEARTH_DEBUG_TOOL_PLUGIN_PATH})
file(GLOB OSGDB_DEBUG_PLUGINS ${CURRENT_PACKAGES_DIR}/debug/bin/${OSG_PLUGINS_SUBDIR}/osgdb*.dll)
file(COPY ${OSGDB_DEBUG_PLUGINS} DESTINATION ${OSGEARTH_DEBUG_TOOL_PLUGIN_PATH})
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/${OSG_PLUGINS_SUBDIR})
endif()
if ("tools" IN_LIST FEATURES)
vcpkg_copy_tools(TOOL_NAMES osgearth_3pv osgearth_atlas osgearth_boundarygen osgearth_clamp
osgearth_conv osgearth_overlayviewer osgearth_tfs osgearth_toc osgearth_version osgearth_viewer
AUTO_CLEAN
)
endif()
#Debug
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
set(OSGEARTH_DEBUG_TOOL_PATH ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT})
set(OSGEARTH_DEBUG_TOOL_PLUGIN_PATH ${OSGEARTH_DEBUG_TOOL_PATH}/${OSG_PLUGINS_SUBDIR})
file(MAKE_DIRECTORY ${OSGEARTH_DEBUG_TOOL_PATH})
file(MAKE_DIRECTORY ${OSGEARTH_DEBUG_TOOL_PLUGIN_PATH})
file(GLOB OSGEARTH_DEBUG_TOOLS ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
file(GLOB OSGDB_DEBUG_PLUGINS ${CURRENT_PACKAGES_DIR}/debug/bin/${OSG_PLUGINS_SUBDIR}/osgdb*.dll)
file(COPY ${OSGEARTH_DEBUG_TOOLS} DESTINATION ${OSGEARTH_DEBUG_TOOL_PATH})
file(COPY ${OSGDB_DEBUG_PLUGINS} DESTINATION ${OSGEARTH_DEBUG_TOOL_PLUGIN_PATH})
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)

View File

@ -0,0 +1,13 @@
diff --git a/CMakeModules/OsgEarthMacroUtils.cmake b/CMakeModules/OsgEarthMacroUtils.cmake
index 6e0eb46..12388c4 100644
--- a/CMakeModules/OsgEarthMacroUtils.cmake
+++ b/CMakeModules/OsgEarthMacroUtils.cmake
@@ -364,8 +364,6 @@ MACRO(SETUP_EXE IS_COMMANDLINE_APP)
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES PROJECT_LABEL "${TARGET_LABEL}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES OUTPUT_NAME ${TARGET_NAME})
- SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES DEBUG_OUTPUT_NAME "${TARGET_NAME}${CMAKE_DEBUG_POSTFIX}")
- SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES RELEASE_OUTPUT_NAME "${TARGET_NAME}${CMAKE_RELEASE_POSTFIX}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES RELWITHDEBINFO_OUTPUT_NAME "${TARGET_NAME}${CMAKE_RELWITHDEBINFO_POSTFIX}")
SET_TARGET_PROPERTIES(${TARGET_TARGETNAME} PROPERTIES MINSIZEREL_OUTPUT_NAME "${TARGET_NAME}${CMAKE_MINSIZEREL_POSTFIX}")

View File

@ -1,10 +1,10 @@
{
"name": "osgearth",
"version": "3.1",
"port-version": 2,
"port-version": 3,
"description": "osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2015 Pelican Mapping.",
"homepage": "https://github.com/gwaldron/osgearth",
"supports": "!(x86 | wasm32) & !staticcrt",
"supports": "!(x86 | wasm32)",
"dependencies": [
"basisu",
"draco",
@ -22,5 +22,13 @@
"protobuf",
"sqlite3",
"tinyxml"
]
],
"default-features": [
"tools"
],
"features": {
"tools": {
"description": "Build tools"
}
}
}

View File

@ -4494,7 +4494,7 @@
},
"osg": {
"baseline": "3.6.5",
"port-version": 6
"port-version": 7
},
"osg-qt": {
"baseline": "Qt4",
@ -4502,7 +4502,7 @@
},
"osgearth": {
"baseline": "3.1",
"port-version": 2
"port-version": 3
},
"osi": {
"baseline": "0.108.6",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "41c640888000654e84d2bf227b42973cc1ba15c9",
"version-string": "3.6.5",
"port-version": 7
},
{
"git-tree": "9b787269fae66af2447354c4e76ce0883c8d93b9",
"version-string": "3.6.5",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "d2483eb1bb083bdcf0b4de24f0f8c0d77825dc56",
"version": "3.1",
"port-version": 3
},
{
"git-tree": "9355b8ad52fcf4998fe4c262f29a4e01fa83b9fa",
"version": "3.1",