early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

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,15 @@
diff --git a/src/osgEarth/FeatureRasterizer.cpp b/src/osgEarth/FeatureRasterizer.cpp
index 84007aee9..de8e511df 100644
--- a/src/osgEarth/FeatureRasterizer.cpp
+++ b/src/osgEarth/FeatureRasterizer.cpp
@@ -245,8 +245,8 @@ namespace osgEarth {
});
Color color(Color::White);
- uint32_t cap = BL_STROKE_CAP_ROUND;
- uint32_t join = BL_STROKE_JOIN_ROUND;
+ auto cap = BL_STROKE_CAP_ROUND;
+ auto join = BL_STROKE_JOIN_ROUND;
if (symbol->stroke().isSet())
{

View File

@@ -0,0 +1,176 @@
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,40 @@ 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 (WIN32)
+ find_package(pthreads CONFIG REQUIRED)
+ list(APPEND OSG_DEPENDS_LIBRARY PThreads4W::PThreads4W)
+ endif()
+
+ 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 openjp2 xml2)
+ 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 cd55c1164..7cecdac74 100644
--- a/src/osgEarth/CMakeLists.txt
+++ b/src/osgEarth/CMakeLists.txt
@@ -928,9 +928,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 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 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

@@ -0,0 +1,38 @@
From 8c16194c53d5bf70716dae2c6df67e77a1608dde Mon Sep 17 00:00:00 2001
From: Ankur Verma <ankur.verma@outlook.com>
Date: Wed, 28 Jul 2021 06:40:45 -0700
Subject: [PATCH] fix-gcc11-compilation
---
src/osgEarth/Units | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/osgEarth/Units b/src/osgEarth/Units
index dd19afe..bfe826a 100644
--- a/src/osgEarth/Units
+++ b/src/osgEarth/Units
@@ -196,17 +196,17 @@ namespace osgEarth
class qualified_double
{
public:
- qualified_double<T>( double value, const Units& units ) : _value(value), _units(units) { }
+ qualified_double( double value, const Units& units ) : _value(value), _units(units) { }
- qualified_double<T>( const T& rhs ) : _value(rhs._value), _units(rhs._units) { }
+ qualified_double( const T& rhs ) : _value(rhs._value), _units(rhs._units) { }
// parses the qualified number from a parseable string (e.g., "123km")
- qualified_double<T>(const std::string& parseable, const Units& defaultUnits) : _value(0.0), _units(defaultUnits) {
+ qualified_double(const std::string& parseable, const Units& defaultUnits) : _value(0.0), _units(defaultUnits) {
Units::parse( parseable, _value, _units, defaultUnits );
}
// loads the qualified number from an old-school config (e.g., { value="123" units="km" } )
- qualified_double<T>( const Config& conf, const Units& defaultUnits ) : _value(0.0) {
+ qualified_double( const Config& conf, const Units& defaultUnits ) : _value(0.0) {
if ( conf.hasValue("value") ) {
_value = conf.value<double>("value", 0.0);
if ( !Units::parse( conf.value("units"), _units ) )
--
2.31.1

View File

@@ -0,0 +1,21 @@
From 2aa1535341c9aace4a5ca0115fa51dbf76f582ec Mon Sep 17 00:00:00 2001
From: Ankur Verma <ankur.verma@outlook.com>
Date: Wed, 29 Sep 2021 23:12:52 -0700
Subject: [PATCH] patch
---
src/applications/osgearth_imgui/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/applications/osgearth_imgui/CMakeLists.txt b/src/applications/osgearth_imgui/CMakeLists.txt
index 246fd89..5ea6f63 100644
--- a/src/applications/osgearth_imgui/CMakeLists.txt
+++ b/src/applications/osgearth_imgui/CMakeLists.txt
@@ -1,3 +1,3 @@
-set(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY)
+set(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY)
set(TARGET_SRC osgearth_imgui.cpp)
SETUP_IMGUI_APPLICATION(osgearth_imgui)
--
2.31.1

View File

@@ -0,0 +1,114 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7541c8d07..cc14d2160 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -122,40 +122,53 @@ 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
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)
-find_package(Sqlite3)
-find_package(Draco)
-find_package(BASISU)
-find_package(GLEW)
-find_package(Protobuf)
-find_package(WEBP)
-find_package(Blend2D)
+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)
+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 NAMES WebP CONFIG REQUIRED)
+set(WEBP_LIBRARY WebP::webp)
+find_package(Blend2D CONFIG REQUIRED)
if(OSGEARTH_ENABLE_PROFILING)
- find_package(Tracy)
+ find_package(Tracy REQUIRED)
endif()
if(OSGEARTH_BUILD_ZIP_PLUGIN)
- find_package(LIBZIP)
+ find_package(libzip CONFIG REQUIRED)
+ set(LIBZIP_LIBRARY libzip::zip)
+ set(LIBZIP_FOUND 1)
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:
@@ -193,7 +207,7 @@ 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).
@@ -204,7 +218,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)
+ 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
diff --git a/src/osgEarth/CMakeLists.txt b/src/osgEarth/CMakeLists.txt
index cd55c1164..4ecb61f0d 100644
--- a/src/osgEarth/CMakeLists.txt
+++ b/src/osgEarth/CMakeLists.txt
@@ -909,11 +909,11 @@ IF(FILEGDB_FOUND)
LINK_WITH_VARIABLES(${LIB_NAME} FILEGDB_LIBRARY)
ENDIF()
-IF(BLEND2D_FOUND)
+#IF(BLEND2D_FOUND)
add_definitions(-DOSGEARTH_HAVE_BLEND2D)
- include_directories(${BLEND2D_INCLUDES})
- link_with_variables(${LIB_NAME} BLEND2D_LIBRARY)
-ENDIF()
+# include_directories(${BLEND2D_INCLUDES})
+ target_link_libraries(${LIB_NAME} blend2d::blend2d)
+#ENDIF()
IF (WIN32)
LINK_EXTERNAL(${LIB_NAME} ${TARGET_EXTERNAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIBRARY} )

90
externals/vcpkg/ports/osgearth/portfile.cmake vendored Executable file
View File

@@ -0,0 +1,90 @@
# 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()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO gwaldron/osgearth
REF 15d5340f174212d6f93ae55c0d9af606c3d361c0 #version 3.2
SHA512 f922e8bbb041a498e948587f03e8dc8a07b92e641f38d50a8eafb8b3ce1e0c92bb1ee01360d57e794429912734b60cf05ba143445a442bc95af39e3dd9fc3670
HEAD_REF master
PATCHES
StaticOSG.patch # Fix port compilation in static-md module
make-all-find-packages-required.patch
fix-dependency-osg.patch
remove-tool-debug-suffix.patch
fix-imgui.patch
fix-gcc11-compilation.patch
blend2d-fix.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_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
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
-DOSGEARTH_BUILD_PROCEDURAL_NODEKIT=OFF
-DOSGEARTH_BUILD_TRITON_NODEKIT=OFF
-DOSGEARTH_BUILD_SILVERLINING_NODEKIT=OFF
-DWITH_EXTERNAL_TINYXML=ON
)
vcpkg_cmake_install()
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_PLUGIN_PATH}")
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}")
#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(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_imgui osgearth_overlayviewer osgearth_tfs osgearth_toc osgearth_version osgearth_viewer
AUTO_CLEAN
)
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
# 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}")

41
externals/vcpkg/ports/osgearth/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,41 @@
{
"name": "osgearth",
"version": "3.2",
"port-version": 5,
"description": "osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2021 Pelican Mapping.",
"homepage": "https://github.com/gwaldron/osgearth",
"supports": "!(x86 | wasm32)",
"dependencies": [
"basisu",
"blend2d",
"cfitsio",
"draco",
"geos",
"glew",
"libwebp",
"libzip",
"opengl",
{
"name": "osg",
"features": [
"plugins"
]
},
"protobuf",
"pthreads",
"sqlite3",
"tinyxml",
{
"name": "vcpkg-cmake",
"host": true
}
],
"default-features": [
"tools"
],
"features": {
"tools": {
"description": "Build tools"
}
}
}