Fix osgViewer USE_GRAPHICSWINDOW
without a windowing system
There is no way for the user to know whether OSG was compiled with a windowing system. This means calling USE_GRAPHICSWINDOW() in client libraries was unsafe in the case of the "None" windowing system, as it would fail to link. Turns the call into a no-op in that case.
This commit is contained in:
parent
40bddd8d95
commit
0968256923
@ -123,6 +123,9 @@ ELSE()
|
||||
SET(OSG_WINDOWING_SYSTEM "X11" CACHE STRING "Windowing system type for graphics window creation; options: X11 or None.")
|
||||
ENDIF()
|
||||
|
||||
IF(OSG_WINDOWING_SYSTEM STREQUAL "None")
|
||||
SET(OSG_WINDOWING_SYSTEM_NONE ON INTERNAL "No windowing system")
|
||||
ENDIF()
|
||||
|
||||
SET(OPENSCENEGRAPH_VERSION ${OPENSCENEGRAPH_MAJOR_VERSION}.${OPENSCENEGRAPH_MINOR_VERSION}.${OPENSCENEGRAPH_PATCH_VERSION})
|
||||
|
||||
|
@ -283,7 +283,9 @@ struct GraphicsWindowFunctionProxy
|
||||
extern "C" void graphicswindow_##ext(void); \
|
||||
static osgViewer::GraphicsWindowFunctionProxy graphicswindowproxy_##ext(graphicswindow_##ext);
|
||||
|
||||
#if defined(_WIN32)
|
||||
#if defined(OSG_WINDOWING_SYSTEM_NONE)
|
||||
#define USE_GRAPHICS_WINDOW()
|
||||
#elif defined(_WIN32)
|
||||
#define USE_GRAPHICSWINDOW() USE_GRAPICSWINDOW_IMPLEMENTATION(Win32)
|
||||
#elif defined(__APPLE__)
|
||||
#if defined(OSG_WINDOWING_SYSTEM_CARBON)
|
||||
|
@ -37,5 +37,6 @@
|
||||
#cmakedefine OSG_USE_DEPRECATED_API
|
||||
#cmakedefine OSG_ENVVAR_SUPPORTED
|
||||
#cmakedefine OSG_WINDOWING_SYSTEM_CARBON
|
||||
#cmakedefine OSG_WINDOWING_SYSTEM_NONE
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user