From e7abdd7d56256b57d9e33326af253188ed9d96dc Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 21 Sep 2009 03:16:26 +0000 Subject: Better unix filesystem integration as documented here http://wiki.blender.org/index.php/BlenderDev/Blender2.5/Unix_FHS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- tools/Blender.py | 5 ++++- tools/btools.py | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'tools') 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)) -- cgit v1.2.3