Revert "Use simgear internal stuff for the singleton class."
This reverts commit 80274596df.
This commit is contained in:
@@ -115,6 +115,7 @@ find_package(Threads REQUIRED)
|
|||||||
|
|
||||||
if(SIMGEAR_HEADLESS)
|
if(SIMGEAR_HEADLESS)
|
||||||
message(STATUS "headless mode")
|
message(STATUS "headless mode")
|
||||||
|
set(NO_OPENSCENEGRAPH_INTERFACE 1)
|
||||||
else()
|
else()
|
||||||
find_package(OpenGL REQUIRED)
|
find_package(OpenGL REQUIRED)
|
||||||
find_package(OpenAL REQUIRED)
|
find_package(OpenAL REQUIRED)
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ if(SIMGEAR_SHARED)
|
|||||||
get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS)
|
get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS)
|
||||||
|
|
||||||
add_library(SimGearCore SHARED ${coreSources})
|
add_library(SimGearCore SHARED ${coreSources})
|
||||||
|
set_property(TARGET SimGearCore PROPERTY COMPILE_FLAGS "-DNO_OPENSCENEGRAPH_INTERFACE=1")
|
||||||
|
|
||||||
# set_property(TARGET SimGearCore PROPERTY FRAMEWORK 1)
|
# set_property(TARGET SimGearCore PROPERTY FRAMEWORK 1)
|
||||||
# message(STATUS "public header: ${publicHeaders}")
|
# message(STATUS "public header: ${publicHeaders}")
|
||||||
|
|||||||
@@ -17,3 +17,6 @@
|
|||||||
#cmakedefine HAVE_LIBSVN_CLIENT_1
|
#cmakedefine HAVE_LIBSVN_CLIENT_1
|
||||||
|
|
||||||
#cmakedefine GCC_ATOMIC_BUILTINS_FOUND
|
#cmakedefine GCC_ATOMIC_BUILTINS_FOUND
|
||||||
|
|
||||||
|
// set if building headless (no OSG or OpenGL libs)
|
||||||
|
#cmakedefine NO_OPENSCENEGRAPH_INTERFACE
|
||||||
|
|||||||
@@ -3,8 +3,10 @@
|
|||||||
|
|
||||||
#include "singleton.hpp"
|
#include "singleton.hpp"
|
||||||
|
|
||||||
#include "SGReferenced.hxx"
|
#ifndef NO_OPENSCENEGRAPH_INTERFACE
|
||||||
#include "SGSharedPtr.hxx"
|
#include <osg/Referenced>
|
||||||
|
#include <osg/ref_ptr>
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace simgear
|
namespace simgear
|
||||||
{
|
{
|
||||||
@@ -27,6 +29,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifndef NO_OPENSCENEGRAPH_INTERFACE
|
||||||
template <typename RefClass>
|
template <typename RefClass>
|
||||||
class SingletonRefPtr
|
class SingletonRefPtr
|
||||||
{
|
{
|
||||||
@@ -42,11 +45,11 @@ public:
|
|||||||
return singleton.ptr.get();
|
return singleton.ptr.get();
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
SGSharedPtr<RefClass> ptr;
|
osg::ref_ptr<RefClass> ptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename RefClass>
|
template <typename RefClass>
|
||||||
class ReferencedSingleton : public virtual SGReferenced
|
class ReferencedSingleton : public virtual osg::Referenced
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static RefClass* instance()
|
static RefClass* instance()
|
||||||
@@ -54,6 +57,7 @@ public:
|
|||||||
return SingletonRefPtr<RefClass>::instance();
|
return SingletonRefPtr<RefClass>::instance();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
#endif // of NO_OPENSCENEGRAPH_INTERFACE
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user