diff options
author | Nathan Letwory <nathan@letworyinteractive.com> | 2006-02-04 17:15:10 +0300 |
---|---|---|
committer | Nathan Letwory <nathan@letworyinteractive.com> | 2006-02-04 17:15:10 +0300 |
commit | 3bb82a27fc61b787ab83145f9a7962c14e7ca769 (patch) | |
tree | b1d432db0f2836f4117a71e341bc4fef34d62a5a /intern/ghost | |
parent | 1db5c237165ac090af925d9cf8440fc953e4ee06 (diff) |
== SCons ==
* This commit is all of the rewrite work done on the SCons system. For
documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt.
Also http://mediawiki.blender.org/index.php/BlenderDev/SconsRefactoring
contains valuable information, along with what still needs to be done.
- linux, os x and windows compile now.
- files are compiled to BF_INSTALLDIR (see config/(platform)-config.py)
- NOTE: Jean-Luc P will commit sometime during the weekend proper
appit() for OS X. For now, copy the resulting binary to an
existing .app bundle.
- features:
- cleaner structure for better maintenance
- cleaner output during compile
- better handling of build options
- general overall speed increase
- see the wiki for more info
Cygwin, FreeBSD and Solaris systems still need work. For these systems:
1) copy a config/(platform)-config.py to ie. config/cygwin-config.py
2) set the proper defaults for your platform
3) mail me at jesterking at letwory dot net with you configuration. if
you need any modifications to the system, do send a patch, too.
I'll be giving first-aid today and tomorrow, after that it'll be all
regular development work :)
/Nathan
Diffstat (limited to 'intern/ghost')
-rw-r--r-- | intern/ghost/SConscript | 60 |
1 files changed, 24 insertions, 36 deletions
diff --git a/intern/ghost/SConscript b/intern/ghost/SConscript index 23a741bb3b9..6009b14767f 100644 --- a/intern/ghost/SConscript +++ b/intern/ghost/SConscript @@ -1,42 +1,30 @@ #!/usr/bin/python -Import ('user_options_dict') -Import ('library_env') -Import ('window_system') +import sys +import os -ghost_env = library_env.Copy () +Import ('env') -source_files = ['intern/GHOST_Buttons.cpp', - 'intern/GHOST_C-api.cpp', - 'intern/GHOST_CallbackEventConsumer.cpp', - 'intern/GHOST_DisplayManager.cpp', - 'intern/GHOST_EventManager.cpp', - 'intern/GHOST_EventPrinter.cpp', - 'intern/GHOST_ISystem.cpp', - 'intern/GHOST_ModifierKeys.cpp', - 'intern/GHOST_Rect.cpp', - 'intern/GHOST_System.cpp', - 'intern/GHOST_TimerManager.cpp', - 'intern/GHOST_Window.cpp', - 'intern/GHOST_WindowManager.cpp'] +window_system = sys.platform -if window_system == 'X11': - source_files += ['intern/GHOST_DisplayManagerX11.cpp', - 'intern/GHOST_SystemX11.cpp', - 'intern/GHOST_WindowX11.cpp'] -elif window_system == 'WIN32': - source_files += ['intern/GHOST_DisplayManagerWin32.cpp', - 'intern/GHOST_SystemWin32.cpp', - 'intern/GHOST_WindowWin32.cpp'] -elif window_system == 'CARBON': - source_files += ['intern/GHOST_DisplayManagerCarbon.cpp', - 'intern/GHOST_SystemCarbon.cpp', - 'intern/GHOST_WindowCarbon.cpp'] -else: - print "Unknown window system specified." +sources = env.Glob('intern/*.cpp') + +pf = ['GHOST_DisplayManager', 'GHOST_System', 'GHOST_Window'] -ghost_env.Append (CPPPATH = ['.', - '../ghost', - '../string']) +if window_system == 'linux2': + for f in pf: + sources.remove('intern' + os.sep + f + 'Win32.cpp') + sources.remove('intern' + os.sep + f + 'Carbon.cpp') +elif window_system == 'win32': + for f in pf: + sources.remove('intern' + os.sep + f + 'X11.cpp') + sources.remove('intern' + os.sep + f + 'Carbon.cpp') +elif window_system == 'darwin': + for f in pf: + sources.remove('intern' + os.sep + f + 'Win32.cpp') + sources.remove('intern' + os.sep + f + 'X11.cpp') +else: + print "Unknown window system specified." + Exit() -ghost_env.Append (CPPPATH = user_options_dict['OPENGL_INCLUDE']) -ghost_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/blender_GHOST', source=source_files) +incs = '. ../string ' + env['BF_OPENGL_INC'] +env.BlenderLib ('blender_GHOST', sources, Split(incs), [], libtype='core', priority = 25 ) |