[Bf-committers] CMake Build Changes

Campbell Barton ideasman42 at gmail.com
Sun Mar 6 22:35:13 CET 2011

@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.

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

Example from pacman:

  cmake $blender_srcdir \
    -DPYTHON_LIBRARY:STRING=python3.2mu \

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"
  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

- Campbell

On Sun, Mar 6, 2011 at 3:40 PM, Ian Johnson <enjalot at 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 <ideasman42 at gmail.com>
>> Subject: [Bf-committers] CMake Build Changes
>> To: bf-blender developers <bf-committers at blender.org>
>> Message-ID:
>>        <AANLkTim5-dufvG_PxzqDQjRMP7=Tvvp34JR0737dkjVP at 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.
>> --
>> - Campbell
>> ------------------------------
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>> End of Bf-committers Digest, Vol 80, Issue 12
>> *********************************************
> --
> Ian Johnson
> http://enja.org
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

- Campbell

More information about the Bf-committers mailing list