diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-09-21 07:16:26 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-09-21 07:16:26 +0400 |
commit | e7abdd7d56256b57d9e33326af253188ed9d96dc (patch) | |
tree | 0e8aeb686bc3ad434c1c3ba528c2eed3b6512dfa /tools | |
parent | 6c655aa2a762e440ba3f64ce8520c6ce41268d3e (diff) |
Better unix filesystem integration as documented here
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/Unix_FHS
for scons WITH_BF_FHS enabled an alternative layout eg.
scons WITH_BF_FHS=1 BF_INSTALLDIR="/usr/local"
for CMake just run "make install" after make (CMAKE_INSTALL_PREFIX is used for the base path)
Currently only scripts use both the system and user path correctly, other areas of blender have their own path code inline with lots of ifdefs, needs to be carefully updated.
Diffstat (limited to 'tools')
-rw-r--r-- | tools/Blender.py | 5 | ||||
-rwxr-xr-x | tools/btools.py | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/tools/Blender.py b/tools/Blender.py index d7cbe1076e7..fd6272c7c32 100644 --- a/tools/Blender.py +++ b/tools/Blender.py @@ -405,8 +405,11 @@ def PyInstall(target=None, source=None, env=None): print 'Install command:', cmd commands.getoutput(cmd) + if env['WITH_BF_FHS']: dir = os.path.join(env['BF_INSTALLDIR'], 'share', 'blender', env['BF_VERSION']) # BLENDERPATH + else: dir = os.path.join(env['BF_INSTALLDIR'], '.blender') + py_src = env.subst( env['BF_PYTHON_LIBPATH'] + '/python'+env['BF_PYTHON_VERSION'] ) - py_target = env.subst( env['BF_INSTALLDIR'] + '/.blender/python/lib/python'+env['BF_PYTHON_VERSION'] ) + py_target = env.subst( dir + '/python/lib/python'+env['BF_PYTHON_VERSION'] ) # Copied from source/creator/CMakeLists.txt, keep in sync. print 'Install python from:' diff --git a/tools/btools.py b/tools/btools.py index 7cadab992b8..771c67aee1f 100755 --- a/tools/btools.py +++ b/tools/btools.py @@ -69,6 +69,8 @@ def validate_arguments(args, bc): 'WITH_BF_DOCS', 'BF_NUMJOBS', 'BF_MSVS', + 'WITH_BF_FHS', + 'BF_VERSION', ] # Have options here that scons expects to be lists @@ -91,7 +93,7 @@ def validate_arguments(args, bc): 'BF_BSC', 'BF_CONFIG', 'BF_PRIORITYLIST', 'BF_BUILDINFO','CC', 'CXX', 'BF_QUICKDEBUG', 'BF_LISTDEBUG', 'LCGDIR', 'BF_X264_CONFIG', 'BF_XVIDCORE_CONFIG', - 'BF_DOCDIR', 'BF_UNIT_TEST'] + 'BF_UNIT_TEST'] okdict = {} @@ -362,7 +364,6 @@ def read_opts(cfg, args): ('BF_BUILDDIR', 'Build dir', ''), ('BF_INSTALLDIR', 'Installation dir', ''), - ('BF_DOCDIR', 'Dir where BPy documentation will be created', ''), ('CC', 'C compiler to use', ''), ('CXX', 'C++ compiler to use', ''), @@ -387,6 +388,9 @@ def read_opts(cfg, args): ('BF_CONFIG', 'SCons python config file used to set default options', 'user_config.py'), ('BF_NUMJOBS', 'Number of build processes to spawn', '1'), ('BF_MSVS', 'Generate MSVS project files and solution', False), + + (BoolVariable('WITH_BF_FHS', 'Use the Unix "Filesystem Hierarchy Standard" rather then a redistributable directory layout', False)), + ('BF_VERSION', 'The root path for Unix (non-apple)', '2.5'), (BoolVariable('BF_UNIT_TEST', 'Build with unit test support.', False)) |