Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
# Conflicts:
#	recipes/openscenegraph/all/conandata.yml
#	recipes/openscenegraph/all/conanfile.py
  • Loading branch information
valgur committed Dec 4, 2023
2 parents a645be2 + 1d0a5ce commit 7378b2a
Show file tree
Hide file tree
Showing 6 changed files with 187 additions and 5 deletions.
12 changes: 12 additions & 0 deletions recipes/openscenegraph/all/conandata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,15 @@ patches:
3.6.5:
- patch_file: patches/0005-use-JPEG-target-for-plugin.patch
- patch_file: patches/0006-Declare-result-as-LONG-for-Mingw-build.patch
- patch_file: patches/0007-fix-msvc-with-std-c++17.patch
patch_type: bugfix
patch_source: https://github.com/openscenegraph/OpenSceneGraph/pull/1055
- patch_file: patches/0008-replace-mem-fun-ref.patch
patch_type: bugfix
patch_source: https://github.com/openscenegraph/OpenSceneGraph/commit/8a0114a46a4bad9041297950fe3bfbb2aea6e1da
- patch_file: patches/0009-replace-auto-ptr-in-plugins.patch
patch_type: portability
patch_source: https://github.com/openscenegraph/OpenSceneGraph/pull/1246
- patch_file: patches/0010-replace-ptr-fun-in-obj-plugin.patch
patch_type: portability
patch_source: https://github.com/openscenegraph/OpenSceneGraph/pull/1246
18 changes: 13 additions & 5 deletions recipes/openscenegraph/all/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class OpenSceneGraphConanFile(ConanFile):
"with_gif": [True, False],
"with_gta": [True, False],
"with_jasper": [True, False],
"with_jpeg": [True, False],
"with_jpeg": ["libjpeg", "libjpeg-turbo", "mozjpeg", False],
"with_openexr": [True, False],
"with_png": [True, False],
"with_tiff": [True, False],
Expand Down Expand Up @@ -71,7 +71,7 @@ class OpenSceneGraphConanFile(ConanFile):
"with_gif": True,
"with_gta": False,
"with_jasper": False,
"with_jpeg": True,
"with_jpeg": "libjpeg",
"with_openexr": False,
"with_png": True,
"with_tiff": True,
Expand Down Expand Up @@ -139,8 +139,12 @@ def requirements(self):
self.requires("libgta/1.2.1")
if self.options.with_jasper:
self.requires("jasper/4.0.0")
if self.options.get_safe("with_jpeg"):
if self.options.get_safe("with_jpeg") == "libjpeg":
self.requires("libjpeg/9e")
elif self.options.get_safe("with_jpeg") == "libjpeg-turbo":
self.requires("libjpeg-turbo/3.0.1")
elif self.options.get_safe("with_jpeg") == "mozjpeg":
self.requires("mozjpeg/4.1.3")
if self.options.get_safe("with_openexr"):
self.requires("openexr/3.2.1")
if self.options.get_safe("with_png"):
Expand Down Expand Up @@ -214,7 +218,7 @@ def generate(self):
tc.variables["OSG_WITH_ZEROCONF"] = False
tc.variables["OSG_WITH_LIBLAS"] = False
tc.variables["OSG_WITH_GIFLIB"] = self.options.get_safe("with_gif", False)
tc.variables["OSG_WITH_JPEG"] = self.options.get_safe("with_jpeg", False)
tc.variables["OSG_WITH_JPEG"] = bool(self.options.get_safe("with_jpeg", False))
tc.variables["OSG_WITH_PNG"] = self.options.get_safe("with_png", False)
tc.variables["OSG_WITH_TIFF"] = self.options.with_tiff

Expand Down Expand Up @@ -424,8 +428,12 @@ def setup_library(lib):
setup_plugin("vtf")
setup_plugin("ktx")

if self.options.get_safe("with_jpeg"):
if self.options.get_safe("with_jpeg") == "libjpeg":
setup_plugin("jpeg").requires.append("libjpeg::libjpeg")
elif self.options.get_safe("with_jpeg") == "libjpeg-turbo":
setup_plugin("jpeg").requires.append("libjpeg-turbo::jpeg")
elif self.options.get_safe("with_jpeg") == "mozjpeg":
setup_plugin("jpeg").requires.append("mozjpeg::libjpeg")

if self.options.with_jasper:
setup_plugin("jp2").requires.append("jasper::jasper")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
diff --git a/src/osg/DisplaySettings.cpp b/src/osg/DisplaySettings.cpp
index 5c699c8b0..5c097cf66 100644
--- a/src/osg/DisplaySettings.cpp
+++ b/src/osg/DisplaySettings.cpp
@@ -22,9 +22,6 @@
#include <algorithm>
#include <string.h>

-using namespace osg;
-using namespace std;
-
#if defined(WIN32) && !defined(__CYGWIN__)
#include<windows.h>
extern "C" { OSG_EXPORT DWORD NvOptimusEnablement=0x00000001; }
@@ -32,6 +29,9 @@ extern "C" { OSG_EXPORT DWORD NvOptimusEnablement=0x00000001; }
extern "C" { int NvOptimusEnablement=0x00000001; }
#endif

+using namespace osg;
+using namespace std;
+
void DisplaySettings::setNvOptimusEnablement(int value)
{
NvOptimusEnablement = value;
diff --git a/src/osgPlugins/cfg/ConfigParser.cpp b/src/osgPlugins/cfg/ConfigParser.cpp
index 263c82896..4247cc2af 100644
--- a/src/osgPlugins/cfg/ConfigParser.cpp
+++ b/src/osgPlugins/cfg/ConfigParser.cpp
@@ -235,7 +235,7 @@
#include "CameraConfig.h"


-using namespace std;
+
using namespace osgProducer;

static void ConfigParser_error( const char * );
diff --git a/src/osgPlugins/cfg/ConfigParser.y b/src/osgPlugins/cfg/ConfigParser.y
index cf9adf507..5221be184 100644
--- a/src/osgPlugins/cfg/ConfigParser.y
+++ b/src/osgPlugins/cfg/ConfigParser.y
@@ -34,7 +34,7 @@
#include <Producer/CameraConfig>


-using namespace std;
+
using namespace Producer;

static void ConfigParser_error( const char * );
13 changes: 13 additions & 0 deletions recipes/openscenegraph/all/patches/0008-replace-mem-fun-ref.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/src/osgUtil/tristripper/include/detail/graph_array.h b/src/osgUtil/tristripper/include/detail/graph_array.h
index dc1f38027..ce7000cc8 100644
--- a/src/osgUtil/tristripper/include/detail/graph_array.h
+++ b/src/osgUtil/tristripper/include/detail/graph_array.h
@@ -446,7 +446,7 @@ inline void graph_array<N>::swap(graph_type & Right)
template <class N>
inline void unmark_nodes(graph_array<N> & G)
{
- std::for_each(G.begin(), G.end(), std::mem_fun_ref(&graph_array<N>::node::unmark));
+ for(typename graph_array<N>::node_iterator itr = G.begin(); itr != G.end(); ++itr) itr->unmark();
}


Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
diff --git a/src/osgPlugins/dae/ReaderWriterDAE.cpp b/src/osgPlugins/dae/ReaderWriterDAE.cpp
index fc1a448d4..3b883f19a 100644
--- a/src/osgPlugins/dae/ReaderWriterDAE.cpp
+++ b/src/osgPlugins/dae/ReaderWriterDAE.cpp
@@ -32,7 +32,7 @@

#define SERIALIZER() OpenThreads::ScopedLock<OpenThreads::ReentrantMutex> lock(_serializerMutex)

-#if __cplusplus > 199711L
+#if ((defined(_MSVC_LANG) && _MSVC_LANG > 199711L) || __cplusplus > 199711L)
#define smart_ptr std::unique_ptr
#else
#define smart_ptr std::auto_ptr
diff --git a/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp b/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp
index 69826c456..9bba5532a 100644
--- a/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp
+++ b/src/osgPlugins/ffmpeg/FFmpegImageStream.cpp
@@ -10,6 +10,11 @@

#define STREAM_TIMEOUT_IN_SECONDS_TO_CONSIDER_IT_DEAD 10

+#if ((defined(_MSVC_LANG) && _MSVC_LANG > 199711L) || __cplusplus > 199711L)
+ #define smart_ptr std::unique_ptr
+#else
+ #define smart_ptr std::auto_ptr
+#endif

namespace osgFFmpeg {

@@ -23,8 +28,8 @@ FFmpegImageStream::FFmpegImageStream() :
{
setOrigin(osg::Image::TOP_LEFT);

- std::auto_ptr<FFmpegDecoder> decoder(new FFmpegDecoder);
- std::auto_ptr<CommandQueue> commands(new CommandQueue);
+ smart_ptr<FFmpegDecoder> decoder(new FFmpegDecoder);
+ smart_ptr<CommandQueue> commands(new CommandQueue);

m_decoder = decoder.release();
m_commands = commands.release();
diff --git a/src/osgPlugins/gdal/ReaderWriterGDAL.cpp b/src/osgPlugins/gdal/ReaderWriterGDAL.cpp
index 298e02fcc..113c9c45f 100644
--- a/src/osgPlugins/gdal/ReaderWriterGDAL.cpp
+++ b/src/osgPlugins/gdal/ReaderWriterGDAL.cpp
@@ -34,6 +34,12 @@

#define SERIALIZER() OpenThreads::ScopedLock<OpenThreads::ReentrantMutex> lock(_serializerMutex)

+#if ((defined(_MSVC_LANG) && _MSVC_LANG > 199711L) || __cplusplus > 199711L)
+ #define smart_ptr std::unique_ptr
+#else
+ #define smart_ptr std::auto_ptr
+#endif
+
// From easyrgb.com
float Hue_2_RGB( float v1, float v2, float vH )
{
@@ -123,7 +129,7 @@ class ReaderWriterGDAL : public osgDB::ReaderWriter

initGDAL();

- std::auto_ptr<GDALDataset> dataset((GDALDataset*)GDALOpen(fileName.c_str(),GA_ReadOnly));
+ smart_ptr<GDALDataset> dataset((GDALDataset*)GDALOpen(fileName.c_str(),GA_ReadOnly));
if (!dataset.get()) return ReadResult::FILE_NOT_HANDLED;

int dataWidth = dataset->GetRasterXSize();
@@ -577,7 +583,7 @@ class ReaderWriterGDAL : public osgDB::ReaderWriter

initGDAL();

- std::auto_ptr<GDALDataset> dataset((GDALDataset*)GDALOpen(fileName.c_str(),GA_ReadOnly));
+ smart_ptr<GDALDataset> dataset((GDALDataset*)GDALOpen(fileName.c_str(),GA_ReadOnly));
if (!dataset.get()) return ReadResult::FILE_NOT_HANDLED;

int dataWidth = dataset->GetRasterXSize();
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
diff --git a/src/osgPlugins/obj/obj.cpp b/src/osgPlugins/obj/obj.cpp
index 859add652..3580e5181 100644
--- a/src/osgPlugins/obj/obj.cpp
+++ b/src/osgPlugins/obj/obj.cpp
@@ -37,10 +37,15 @@ using namespace obj;

static std::string strip( const std::string& ss )
{
- std::string result;
- result.assign( std::find_if( ss.begin(), ss.end(), std::not1( std::ptr_fun< int, int >( isspace ) ) ),
- std::find_if( ss.rbegin(), ss.rend(), std::not1( std::ptr_fun< int, int >( isspace ) ) ).base() );
- return( result );
+ std::string::const_iterator it = ss.begin();
+ while (it != ss.end() && isspace(*it))
+ it++;
+
+ std::string::const_reverse_iterator rit = ss.rbegin();
+ while (rit.base() != it && isspace(*rit))
+ rit++;
+
+ return std::string(it, rit.base());
}

/*

0 comments on commit 7378b2a

Please sign in to comment.