580ebf637b
Switch to defining PU_USE_NONE and providing our own callback functions to pui for "get window" and "get window size." A new WindowSystemAdapter class assigns ID numbers to windows for the purpose of identifying them to plib; the window size can be extracted from the osg::GraphicsContext class in all the different implementations (osgViewer, glut, sdl). Implement a GraphicsContextOperation that runs code in a particular graphics context, perhaps in another thread, and provides an isFinished() method to test if the operation has finished. This allows us to initialize plib PUI properly if there are multiple graphics contexts without using fgMakeCurrent(). fgMakeCurrent() can't work in multi-threaded OSG configurations. Eliminate fgMakeCurrent() and all its uses, either by using GraphicsContextOperation or by seeing that it is not necessary. Attach the GUI camera as a slave camera. Don't manipulate the OSG state in the drawImplementation() functions for SGHUDAndPanelDrawable and SGPuDrawable; it's not needed.
124 lines
3.9 KiB
Makefile
124 lines
3.9 KiB
Makefile
EXTRA_DIST = 3dfx.sh runfgfs.in runfgfs.bat.in \
|
|
fg_os_sdl.cxx fg_os.cxx fg_os_osgviewer.cxx fg_os.hxx
|
|
|
|
MPLAYER_LIBS = $(top_builddir)/src/MultiPlayer/libMultiPlayer.a
|
|
|
|
if ENABLE_SP_FDM
|
|
SP_FDM_LIBS = $(top_builddir)/src/FDM/SP/libSPFDM.a
|
|
else
|
|
SP_FDM_LIBS =
|
|
endif
|
|
|
|
if WITH_THREADS
|
|
THREAD_LIBS = -lsgthreads $(thread_LIBS)
|
|
else
|
|
THREAD_LIBS =
|
|
endif
|
|
|
|
GFX_COMMON = fg_os_common.cxx fg_os.hxx
|
|
if USE_SDL
|
|
GFX_CODE = fg_os_sdl.cxx $(GFX_COMMON)
|
|
else
|
|
if USE_GLUT
|
|
GFX_CODE = fg_os.cxx $(GFX_COMMON)
|
|
else
|
|
GFX_CODE = fg_os_osgviewer.cxx $(GFX_COMMON)
|
|
endif
|
|
endif
|
|
|
|
JSBSIM_LIBS = \
|
|
$(top_builddir)/src/FDM/JSBSim/libJSBSim.a \
|
|
$(top_builddir)/src/FDM/JSBSim/initialization/libInit.a \
|
|
$(top_builddir)/src/FDM/JSBSim/models/libModels.a \
|
|
$(top_builddir)/src/FDM/JSBSim/models/flight_control/libFlightControl.a\
|
|
$(top_builddir)/src/FDM/JSBSim/models/atmosphere/libAtmosphere.a \
|
|
$(top_builddir)/src/FDM/JSBSim/models/propulsion/libPropulsion.a \
|
|
$(top_builddir)/src/FDM/JSBSim/input_output/libInputOutput.a \
|
|
$(top_builddir)/src/FDM/JSBSim/math/libMath.a
|
|
|
|
AM_CXXFLAGS = -DPKGLIBDIR=\"$(pkgdatadir)\"
|
|
|
|
bin_PROGRAMS = fgfs metar
|
|
|
|
noinst_SCRIPTS = runfgfs.bat runfgfs
|
|
|
|
noinst_LIBRARIES = libMain.a
|
|
|
|
# bin_SCRIPTS = runfgfs
|
|
|
|
libMain_a_SOURCES = \
|
|
main.cxx main.hxx \
|
|
renderer.cxx renderer.hxx \
|
|
fg_commands.cxx fg_commands.hxx \
|
|
fg_init.cxx fg_init.hxx \
|
|
fg_io.cxx fg_io.hxx \
|
|
fg_props.cxx fg_props.hxx \
|
|
globals.cxx globals.hxx \
|
|
logger.cxx logger.hxx \
|
|
options.cxx options.hxx \
|
|
splash.cxx splash.hxx \
|
|
util.cxx util.hxx \
|
|
viewer.cxx viewer.hxx \
|
|
viewmgr.cxx viewmgr.hxx \
|
|
FGManipulator.cxx FGManipulator.hxx \
|
|
ViewPartitionNode.cxx ViewPartitionNode.hxx \
|
|
WindowSystemAdapter.hxx WindowSystemAdapter.cxx \
|
|
$(GFX_CODE)
|
|
|
|
fgfs_SOURCES = bootstrap.cxx
|
|
|
|
fgfs_LDADD = \
|
|
$(top_builddir)/src/Main/libMain.a \
|
|
$(top_builddir)/src/Aircraft/libAircraft.a \
|
|
$(top_builddir)/src/ATCDCL/libATC.a \
|
|
$(top_builddir)/src/Cockpit/libCockpit.a \
|
|
$(top_builddir)/src/Cockpit/built_in/libBuilt_in.a \
|
|
$(top_builddir)/src/FDM/libFlight.a \
|
|
$(top_builddir)/src/FDM/Balloon/libBalloon.a \
|
|
$(top_builddir)/src/FDM/ExternalNet/libExternalNet.a \
|
|
$(top_builddir)/src/FDM/ExternalPipe/libExternalPipe.a \
|
|
$(JSBSIM_LIBS) \
|
|
$(top_builddir)/src/FDM/YASim/libYASim.a \
|
|
$(top_builddir)/src/FDM/LaRCsim/libLaRCsim.a \
|
|
$(top_builddir)/src/FDM/UIUCModel/libUIUCModel.a \
|
|
$(SP_FDM_LIBS) \
|
|
$(top_builddir)/src/GUI/libGUI.a \
|
|
$(top_builddir)/src/Autopilot/libAutopilot.a \
|
|
$(top_builddir)/src/Input/libInput.a \
|
|
$(top_builddir)/src/Instrumentation/KLN89/libKLN89.a \
|
|
$(top_builddir)/src/Instrumentation/libInstrumentation.a \
|
|
$(top_builddir)/src/Instrumentation/HUD/libHUD.a \
|
|
$(top_builddir)/src/Model/libModel.a \
|
|
$(top_builddir)/src/Network/libNetwork.a \
|
|
$(top_builddir)/src/Navaids/libNavaids.a \
|
|
$(top_builddir)/src/Scenery/libScenery.a \
|
|
$(top_builddir)/src/Scripting/libScripting.a \
|
|
$(top_builddir)/src/Sound/libSound.a \
|
|
$(top_builddir)/src/Airports/libAirports.a \
|
|
$(MPLAYER_LIBS) \
|
|
$(top_builddir)/src/AIModel/libAIModel.a \
|
|
$(top_builddir)/src/Systems/libSystems.a \
|
|
$(top_builddir)/src/Time/libTime.a \
|
|
$(top_builddir)/src/Traffic/libTraffic.a \
|
|
$(top_builddir)/src/Environment/libEnvironment.a \
|
|
-lsgroute -lsgsky -lsgsound -lsgephem -lsgmaterial -lsgtgdb -lsgmodel \
|
|
-lsgutil -lsgtiming -lsgio -lsgscreen -lsgmath -lsgbucket -lsgprops \
|
|
-lsgdebug -lsgmagvar -lsgmisc -lsgnasal -lsgxml -lsgsound -lsgserial \
|
|
-lsgstructure -lsgenvironment \
|
|
-lplibpuaux -lplibpu -lplibfnt -lplibjs -lplibnet \
|
|
-lplibsg -lplibul \
|
|
$(OSG_LIBS) \
|
|
$(THREAD_LIBS) \
|
|
$(network_LIBS) \
|
|
-lz \
|
|
$(opengl_LIBS) \
|
|
$(openal_LIBS)
|
|
|
|
metar_SOURCES = metar_main.cxx
|
|
|
|
metar_LDADD = \
|
|
-lsgenvironment -lsgio -lsgbucket -lsgmisc -lsgstructure -lsgdebug \
|
|
-lplibnet -lplibul $(network_LIBS) \
|
|
-lz $(base_LIBS)
|
|
|
|
INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src -I$(top_srcdir)/src/FDM/JSBSim
|