So, after hours of wild hunt, I think both CMake and Scons builds work again.
There were several small issues hiding here and there, esp. for scons.
*WARNING* the --all-static is currently officially broken (it was already quite useless in fact).
I’m seriously considering dropping it completely, having a script compiling a chain
of static libs in a complete working way for *two* different build systems is just
too much work (static libs are *really* a nightmare at link time).
Builders who want to generate static Blender (to share it e.g.) will have to handle things by hand for now.
Main other points changed:
* Many changes to generated settings for scons (notably, I had to hack around the fact that the short ld -l
option does not work with lib names like 'Iex-2_1', which is not that surprising).
* Opencollada remains the only lib built statically (can't get it to build dyn currently).
* All other libs, even ILMBase ones, are now fully dynamic ones.
* Some general cleanup with CMake definitions of built libs.
* Git-libs do not clone again and again the repo anymore!
Note that I also updated OpenEXR to 2.1.0 (and updated our CMake openexr module as well).
Users will have to update their build settings as told by the script (also in BUILD_NOTES.txt generated file)!
Note I removed all ugly patches from this script, we are currently using custom git repo for OpenEXR/OIIO/OSL,
hopefully we will soon be able to use vanillia code from official repos!
This is needed to resolve the real used compiler from the compatibility shim’S or symlinks.
Also set the real CCVERSION as scons CCVERSION would only read the default one, which
is not useful for OSX
It's not needed, this should happen automatically already, and if you build
against libc++ instead (as on recent FreeBSD), this would give build errors.
Ref T37477.
Ok, this is nasty. SOURCE_DIR is somehow being defined
from CMakeLists.txt in source/creator by the looks of it
and actual issue as extra slash in the end of path which
was passing to EXISTS command.
- It was using SOURCE_DIR which is undefined on windows.
No idea why it was defined on Linux, could be some
co-incident. Correct usage is CMAKE_SOURCE_DIR.
- Remove usages of SVN's revision.
Consider this configuration final-1 for the migration,
Linux and OSX slaves seems to be fine, Windows slave
would need some changes from the slave side.
Summary:
Old idea with changes since previous release tag
didn't work good enough. In most of the cases tag
was done in a branch hence not actually reachable
from the master branch.
Now change since release is gone, and date of
the latest commit is used instead.
The date is displayed in format YYYY-MM-DD HH:mm
in the splash.
New bpy.app fields:
- build_commit_timestamp is an unix timestamp of
the commit blender was build from.
- build_commit_date is a date of that commit.
- build_commit_time is a time of that commit.
Reviewers: campbellbarton
Differential Revision: http://developer.blender.org/D5
Made it so if there's release/datafiles/locale/po
folder, then all the .po files will be converted
to .mo at blender compile time and installed to
an appropriate location.
Uses small own implementation msgfmt which is
based on msgfmt.py from Python project, but also
supports contexts.
There's no functional changes for until we've
switched to use source .po files instead of
pre-compiled .mo.
P.S. Well, there's one change which is msgfmt.cc
being compiled even if it's not used, but
would rather not clutter code with checks
since pretty soon we'll use this program
anyway.