atom feed12 messages in org.blender.bf-committersRe: [Bf-committers] CMake Build Changes
FromSent OnAttachments
Campbell BartonMar 6, 2011 1:12 am 
Richard ShawMar 6, 2011 6:26 am 
Dave PlaterMar 6, 2011 7:10 am 
Ian JohnsonMar 6, 2011 7:40 am 
Campbell BartonMar 6, 2011 1:34 pm 
IRIE ShinsukeMar 7, 2011 6:49 am 
Dave PlaterMar 7, 2011 12:29 pm 
Richard ShawMar 7, 2011 12:46 pm 
Campbell BartonMar 8, 2011 1:02 am 
Damir PrebegMar 8, 2011 2:13 pm 
Campbell BartonMar 8, 2011 2:26 pm 
Damir PrebegMar 8, 2011 3:16 pm 
Subject:Re: [Bf-committers] CMake Build Changes
From:Campbell Barton (idea@gmail.com)
Date:Mar 6, 2011 1:34:50 pm
List:org.blender.bf-committers

@Dave, this seems to use correct permissions for python scripts, at least blender-thumbnailer.py is executable, Using CMake's "install(PROGRAMS ...)" command should deal with this correctly.

@Richard For package files just add "-DWITH_INSTALL_PORTABLE:BOOL=OFF"

Example from pacman:

cmake $blender_srcdir \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DCMAKE_BUILD_TYPE:STRING=Release \ -DWITH_INSTALL_PORTABLE:BOOL=OFF \ -DWITH_PYTHON_INSTALL:BOOL=OFF \ -DWITH_OPENCOLLADA:BOOL=OFF \ -DPYTHON_VERSION:STRING=3.2 \ -DPYTHON_LIBPATH:STRING=/usr/lib \ -DPYTHON_LIBRARY:STRING=python3.2mu \ -DPYTHON_INCLUDE_DIRS:STRING=/usr/include/python3.2mu

@Ian, This doesn't solve copying scripts problem still because its removing the scripts before running install, this is annoying but IMHO less annoying then users having dirs with mixed old/new scripts which we used to get reports about in the tracker and often gave misleading/unhelpful errors which we lost time figuring out was just old script conflict.

If you want fast rebuilds just symlink the blender binary back to the root source dir and don't bother "make install" eg: ln -s ../cmake_debug/bin/blender ./blender_debug.bin

From here blender find the scripts in ./release/scripts/

If there is a good way to remove all files in a dir not added by "make install" I'd be interested to know, would be useful to run on "/usr/share/blender/2.56/".

- Campbell

On Sun, Mar 6, 2011 at 3:40 PM, Ian Johnson <enja@gmail.com> wrote:

Awesome! on linux copying the scripts can be relatively slow and not necessary when recompiling, so this is also an added convenience for those of us who are incredibly impatient ;)

Message: 2

Date: Sun, 6 Mar 2011 09:12:57 +0000 From: Campbell Barton <idea@gmail.com> Subject: [Bf-committers] CMake Build Changes To: bf-blender developers <bf-c@blender.org> Message-ID:        <AANLkTim5-dufvG_PxzqDQjRMP7=Tvvp@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1

Writing to notify of some changes I plan to make to CMake build system soon (this week).

The main change is that the install target will be used so "make install" is needed to copy scripts, python etc into CMake's bin/ directory.

*** Only continue reading if your interested in WHY ***

At the moment we are using system copy commands which don't give good control, at the moment files are copied then find is used to remove for eg, on windows .svn dirs are copied.

The install target gives a more useful options for copying, with correct permissions, creates dirs automatic and this is generally how installation is expected to be done. Currently we have a non-standard WITH_INSTALL option, once the install target is used correctly this isn't needed, devs can just not bother with 'make install' if they run blender from the source dir.

On Unix/Linux (but not Apple), there is still the case where you can either do a portable install or a system install into /usr/bin/, /usr/share/blender... etc. For this case I've added an option WITH_INSTALL_PORTABLE, Enabled by default, when disabled the files will be installed into the system directories.

I can test this for linux/win32-mingw/win32-msvc but not apple so to start with I'll leave this configuration as-is and get a apple user to test before applying these changes.

This isn't a big task but writing since it changes how CMake builds work.

End of Bf-committers Digest, Vol 80, Issue 12 *********************************************