Commit Graph

1238 Commits

Author SHA1 Message Date
Sergey Sharybin
178f8400ee Libmv: Add an option to disable schur specializations build-time
This way folks with few ram or those who wants to hack into Ceres
code might compile Blender much faster.
2014-10-02 13:01:34 +06:00
Bastien Montagne
221ef3c29f Install_deps: Fix stupid mistake in BUILD_NOTE.txt generation since last commit.
Reported by Thomas (DingTo) over IRC, thanks.
2014-09-28 15:47:03 +02:00
Sergey Sharybin
de6a69fc79 Fix T41936: lender 2.72 Crashes on play on *Ubuntu 14.04
This commit is necessary to update to openal-soft 1.60.0 which
solves weird bug happening on ubuntu.

This is to be landed to the release branch.
2014-09-24 16:34:12 +06:00
Bastien Montagne
d76d3144b4 Install_deps: add an '--info' path option to store BUILD_NOTES.txt...
Still defaults to current dir!
2014-09-19 15:14:30 +02:00
Campbell Barton
90f75b8ce0 Cleanup: use static sets where possible 2014-09-18 17:45:31 +10:00
Campbell Barton
8b87b2473a Fix last commit, making archive from source dir 2014-09-16 13:27:05 +10:00
Campbell Barton
13c5b0d546 Utility script to create release archive
- only include files known to git.
- includes all submodules.
- version extracted from BKE_blender.h for naming.
- MD5 checksum generated.
- 'make tbz' convenience target.

Script by Dan McGrath with own minor edits.
2014-09-16 11:44:00 +10:00
Sergey Sharybin
feba2d3edf Attempt to fix compilation error on ubuntu linux 2014-09-08 14:29:34 +06:00
Sergey Sharybin
17ab65d1bb Fix windows buildbot rebuilding cubins on both compile and pack 2014-08-27 20:08:50 +06:00
Sergey Sharybin
9b9ddb4669 Make SCons's DEBUG/_DEBUG consistent with CMake
Also move this to a generic place in SConstruct instead of having this
defines in 6 different configurations.

Should not be functional changes, but please verify all the platforms.
2014-08-27 14:49:47 +06:00
Bastien Montagne
d24d2f23e4 Install_deps: Better handling of 'check installed' in Debian, and fix jack2d check.
Patch D742, by oweissbarth (Oliver Weissbarth), thanks!
2014-08-18 15:07:52 +02:00
Jens Verwiebe
da60d0889d OSX/SCONS/buildbot: last commit made BF_COLLADA_LIB tweak obsolete 2014-08-14 12:19:15 +02:00
Sergey Sharybin
9bbd355813 Attempt to fix 32bit OSX buildbot, need to link against UTF Collada lib 2014-08-14 15:38:45 +06:00
Thomas Dinges
2b1bacddec Scons / Buildbot: Remove code for Visual Studio 2008.
Probably the vc2013 builder can become a more generic name now, but I will double check this with Martijn.
2014-08-12 12:32:39 +02:00
Thomas Dinges
e048a3c28f Cleanup: Remove Visual Studio 2012 code from builder. 2014-08-12 12:16:22 +02:00
Sergey Sharybin
31d2ac14ae Switch linux buildbot to custom built python2.7
New scons discontinued support of python2.6, so we needed
to build just another python in the release and buildbot
environment.

Hope latest scons upgrade a least bring new msvs support
and not only lead to just-another-frustration.

There might be some more upcoming commits, because you
never can be sure there's no typos in the buidbot script
for until you actually fire the builder up.
2014-08-08 13:41:28 +06:00
Campbell Barton
e56de9d9d5 Remove SVN references 2014-08-06 05:46:31 +10:00
Campbell Barton
ea9d94cf28 Spelling 2014-08-06 05:41:14 +10:00
Howard Trickey
4071719ae7 Fix to commit rB77b7e1fe9ab: need ${target} instead of blender in cmake macro. 2014-08-05 07:55:25 -04:00
Sergey Sharybin
77b7e1fe9a Deduplicate CUDA and OpenCL wranglers
For now it was mainly about OpenCL wrangler being duplicated
between Cycles and Compositor, but with OpenSubdiv work those
wranglers were gonna to be duplicated just once again.

This commit makes it so Cycles and Compositor uses wranglers
from this repositories:

  - https://github.com/CudaWrangler/cuew
  - https://github.com/OpenCLWrangler/clew

This repositories are based on the wranglers we used before
and they'll be likely continued maintaining by us plus some
more players in the market.

Pretty much straightforward change with some tricks in the
CMake/SCons to make this libs being passed to the linker
after all other libraries in order to make OpenSubdiv linked
against those wranglers in the future.

For those who're worrying about Cycles being less standalone,
it's not truth, it's rather more flexible now and in the future
different wranglers might be used in Cycles. For now it'll
just mean those libs would need to be put into Cycles repository
together with some other libs from Blender such as mikkspace.

This is mainly platform maintenance commit, should not be any
changes to the user space.

Reviewers: juicyfruit, dingto, campbellbarton

Reviewed By: juicyfruit, dingto, campbellbarton

Differential Revision: https://developer.blender.org/D707
2014-08-05 13:57:50 +06:00
Martijn Berger
e7b396c954 fix check for not llvm 2014-08-02 15:30:28 +02:00
Martijn Berger
249fbbf764 Collada and llvm both use the same functions and they clash.
Since we have older llvm for msvc2008 and new one for msvc2013 we need to work around it.
2014-08-02 15:20:03 +02:00
Campbell Barton
d5b471eec1 CMake: add header 2014-08-02 19:16:00 +10:00
Martijn Berger
bc9bbca41b Move to OIIO 1.4 also for windows x86 2014-08-02 09:59:09 +02:00
Martijn Berger
c9366a2969 Make build work with llvm3.4 and oiio 1.4 2014-08-01 13:43:12 +02:00
Jens Verwiebe
a4c287ed7d OSX/scons: Change Blender bundle datastructures + referennces to match the upcoming codesigning needs
- i used deprecated rules up to now which will break in OSX > 10.9.5 and 10.10 > dp4
- todo: adapt cmake due it will break with this commit
2014-08-01 00:57:17 +02:00
Jens Verwiebe
c4dd294f40 OSX/buildbot: after recent scons fix, UTF lib linkage is handled dependent on config, so remove now obsolete lines 2014-07-29 20:08:41 +02:00
Bastien Montagne
939503ac83 Install_deps: Raise openexr/ilmbase magic numbers, looks to be needed...
Btw, if someone can explain me why OPENEXR_FORCE_REBUILD does not work like
all other force options... :/
2014-07-28 21:13:57 +02:00
Jens Verwiebe
e3e9cab149 OSX/buildbot: Fix 32bit compile by removing OSL/LLVM and add back UTF to Collada
- due OSL i386 never worked on OSX, the new libs do not even contain this arch !
- As we had to fix duplicated symbols from generic UTF finctions same in LLVM and COLLADA,
LLVM-less build must have UTF lib reenabled
2014-07-28 21:03:42 +02:00
Campbell Barton
dfccfeb447 CMake: add glew-mx library 2014-07-29 03:53:15 +10:00
Campbell Barton
02b6ba8874 CMake: use our template for finding the glew library 2014-07-29 03:43:49 +10:00
Sergey Sharybin
2c51978d2b Switch buildbot to new llvm/oiio/osl 2014-07-28 23:00:21 +06:00
Sergey Sharybin
c85265b455 Make requests python package to be detected in the same way as numpy
This solves missing requests package reported on the systems where it's
located in dist-packages rather than in site-packages.

To do this there's now a helper macros which handles both requests and
numpy now and could be used for more packages in the future.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D686
2014-07-28 20:53:02 +06:00
Bastien Montagne
313ce5aa85 Install_deps: forgot to cleanup that in latest commits. 2014-07-27 09:15:20 +02:00
Bastien Montagne
d0f0d82205 Install_deps: Force to always compile OCIO for now.
This is a much simpler fix to that libyaml-cpp mess, since doing it that way we get our static own
libyaml-cpp... And this should work for all platforms (realized libymal-cpp-ver option was only
implemented for deb-like distro, since it was the first place where issue showed up :/ ).
2014-07-25 12:54:55 +02:00
Bastien Montagne
8bda8ec006 Install_deps: Update OSL to 1.5.10, llvm to 3.4 and oiio to 1.4.11.
Note: had to swicth back to own repo for osl as well, ILM guys seem unable to handle
CMake build system properly!
2014-07-25 12:54:55 +02:00
Jens Verwiebe
9a904a3857 OSX: adaptions needed for renewed osl/oiio/llvm 2014-07-25 10:27:30 +02:00
Bastien Montagne
35f07cfc1b Buildbot: Never write 'master' branch in packed file names. 2014-07-24 19:34:32 +02:00
Bastien Montagne
23660438ad Buildbot: proper fix for 'testbuild overriding master builds' issue. 2014-07-23 22:33:37 +02:00
Bastien Montagne
b2170b9194 Revert "Buildbot: more fixes, this time to upload logic."
This reverts commit b1e1646d945d8f7e15c7828a9a5fb0fc4f516f51.

Sorry, was a bit too quick on this one... :/
2014-07-23 22:28:02 +02:00
Bastien Montagne
b1e1646d94 Buildbot: more fixes, this time to upload logic.
We do not want testbuild to override 'official' (master) builds!
2014-07-23 22:21:04 +02:00
Bastien Montagne
15b5f84a1e Buildbot: fix to previous commit, to handle svn libs... 2014-07-23 20:59:40 +02:00
Bastien Montagne
554829dc9e Buildbot: rework to support branch selection.
Issue with previous code was that branch selected was applied to all repositories.
To be able to control branch on a per-repo basis, we need to use codebases instead.

This commit only enables branch (master/testbuild) and revision selection for master,
we probably do not need this for submodules currently (easy to enable anyway).

Note: tested on local buildbot setup, for linux only (up to build step, have no build env).
2014-07-23 18:10:18 +02:00
Antony Riakiotakis
17021171f1 Occlusion Query based selection.
This patch creates an interface for selection mechanisms in opengl. This
makes it possible to switch between occlusion query based or select
rendermode based selection transparently.

This is really useful on graphics drivers that do not accelerate the
select rendermode path (some ATI cards are notorious for this, and the
new path is used by default there), since occlusion queries are always
hardware accelerated due to their use in games.

The option can be found under system - selection. Auto just enables
occlusion queries for ATI users while the rest of the options enforce
one of the two methods always.

There is just one known change, previous code enforced nearest bone to
always get selected, even when mouse selecting near the same position, I
couldn't replicate the behaviour though.

patch by me with edits and review by Campbell.

Thanks!
2014-07-23 15:26:08 +02:00
Bastien Montagne
8a52e7eeba Buildbot: fix submodule branch issue (we have to fix it on 'master', since default
one can be overriden by custom setting for force scheduler).
2014-07-22 20:24:56 +02:00
Bastien Montagne
63fcaa8002 Update buildbot conf, to enable a 'testbuild' branch in 'force' scheduler. 2014-07-22 19:46:36 +02:00
Campbell Barton
200dd87de1 Cleanup: pep8 & redundant vars 2014-07-22 12:03:15 +10:00
Sergey Sharybin
cf9d03494b Update buildbot config to latest actual version 2014-07-20 18:00:39 +06:00
Campbell Barton
21f15e2c45 CMake FindOpenEXR.cmake was using OPENEXR_VERSION unset 2014-07-20 00:01:51 +10:00
Sergey Sharybin
42615d88b6 Fix compilation error with scons when building from detached head 2014-07-10 16:23:48 +06:00
Sergey Sharybin
2788d5f385 Attempt to fix compilation error on 32bit OSX and SCons 2014-07-10 02:19:41 +06:00
Sergey Sharybin
6b5384f637 Buildbot: enable cubins fox OSX
With new buildbot env they should be all fine.
2014-07-10 01:43:30 +06:00
Bastien Montagne
bd7fbd4327 Install_deps: minor cleanup.
Patch D633 by simonrepp (Simon Repp), thx.
2014-07-08 12:37:00 +02:00
Jens Verwiebe
c4eeda2673 OSX: Jpeg2000 was formely handled by quicktime, after QT removal it was forgotten to move it to openjpeg, doing this now
Note: In releases this was missing since 2.69, so we may want an ‘a’ release for 2.71
2014-07-04 15:02:05 +02:00
Bastien Montagne
85c4feab02 Install_deps: Final (hopefully!) fix for dual clang/cfe name (*sigh*).
Patch by simonrepp (Simon Repp), thanks!
2014-07-04 14:04:51 +02:00
Campbell Barton
006b550f6f Fix the ABIFLAGS order for detecting Python debug builds
D631 by mva
2014-07-04 20:02:58 +10:00
Bastien Montagne
e81b938631 Fix scons unable to build with sources tar archive (no git repo available in this case).
Reported by Clouclou over IRC, thanks!
2014-07-02 20:30:50 +02:00
Bastien Montagne
f3f991c80f Install_deps: fix for clang url issue.
Newest clang would use 'cfe-' prefix instead of 'clang-' one - don’t ask me why...
Had to make a wrapper around wget, that:
* Accepts an array of URLs as first parameter;
* Errors and exits when wget fails for some reason (was silent before).

Issue reported in T40871 by simonrepp (Simon Repp), thanks.
2014-06-29 18:40:38 +02:00
Sergey Sharybin
72ac596e19 Update Ceres to latest upstream version
Brings new bounds limiting and also prepares build system
for the changes in the upstream.

Namely shared_ptr header and namespace is now being detected
by a build system rather than by hacks in the code.

This commit includes some changes to auto-detection flags
in SCons, presumably adding more consistency there. This
is main changes which are suppoed to be reviewed here.

Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D581
2014-06-27 14:08:27 +06:00
Sergey Sharybin
a5d5f7fe16 Another attempt to solve compilation error
Sorry for the noise, but it's tricky to troubleshoot stuff
which only happens on buildbot..
2014-06-26 16:22:04 +06:00
Sergey Sharybin
ee20433cf3 Tweak to previous commit, fixes scons to survive when upstream is not found 2014-06-26 16:18:38 +06:00
Sergey Sharybin
283abdf3b2 Fix compilation error with scons and older pythons 2014-06-26 16:03:52 +06:00
Thomas Dinges
11d1fea285 Windows: Enable numpy again, as we do have libs again for vc2013 and against py3.4. 2014-06-25 22:23:47 +02:00
Sergey Sharybin
9b987103f6 Use specified exception mask for buildinfo
This way we only catch exceptions which we're intended to
and if something bad happens (like missing import due to
refactor or so) we'll see them instantly.
2014-06-23 15:46:41 +06:00
Bastien Montagne
9b83ceb6f2 Fix scons building in case git is not available.
Not so nice to use try/except here, but simplest solution to avoid failing in case
git commands fail for some reason...
2014-06-20 18:13:20 +02:00
Campbell Barton
2dce13d213 Python: Remove deprecated uses of os.popen
T40415 by Lawrence D'Oliveiro
2014-06-20 02:00:46 +10:00
Howard Trickey
eaac6cbcd9 Add a bmesh_core_test, a start at testing bmesh functionality.
Needed to make the blender link libraries a global property
now that tests are parallel to source directory.
Current sort order for blender link libraries doesn't work
for tests that start with few defined symbols. Doubling the
lib list works, but a TODO to find a better way (probably
using CMake's own mechanism for tracking dependencies).
2014-06-19 11:53:55 -04:00
Sergey Sharybin
72b607ab74 Some WITH_TESTS weer not renamed to WITH_GTEST 2014-06-18 22:28:27 +06:00
Sergey Sharybin
306cbb82ec GTest unit testing framework
Currently covers only small set of functionality.
2014-06-19 02:09:16 +10:00
Sergey Sharybin
528673436b Disable cubins for OSX buildbot
This is a temporary solution in order to get at least
rest of the blender begin up-to-date on the buildbot.

To be able to compile cubins again we need to switch
OSX builder machine to OSX 10.8 and CUDA toolkit 6,
which might take some time, unfortunately.
2014-06-18 02:31:36 +06:00
Sergey Sharybin
38d6841687 Need to consider blender-v* a release branch, not just blender-
This is because of blender-tiles branch we've got..
2014-06-16 15:16:18 +06:00
Sergey Sharybin
0125ae1eb2 Forgot this in previous commit 2014-06-16 15:13:01 +06:00
Sergey Sharybin
be553273b8 Make blender-* branches not being displayed on the splash 2014-06-16 14:58:56 +06:00
Sergey Sharybin
db750b9843 Add missing dependency to CMake's msgfmt
This could have lead to situation when CMake wouldn't re-generate
.mo file from changed .po file.
2014-06-16 14:04:46 +06:00
Jens Verwiebe
c590b2a4b3 OSX: Set Blender.app and Blenderplayer.app creation and modification date to compiletime, else we would always have the time from checkout here 2014-06-02 14:20:07 +02:00
Sergey Sharybin
682b949d0f Sync changes with buildbot server 2014-06-01 18:31:48 +06:00
Martijn Berger
9907538239 msvc 2008 platofrm suffix changed to be -vc9 2014-05-24 11:20:18 +02:00
Martijn Berger
85398dea50 make MSVC plaformsuffix check much stricter. For some reason MSVC_VERSION is set 2014-05-19 19:21:25 +02:00
Martijn Berger
07e8096c63 Promote MSVC 2013 to be the official platform (without a numbered suffix) for scons 2014-05-18 15:36:46 +02:00
Campbell Barton
48a735d824 Update netbeans projectfile generator to v8 2014-05-18 15:55:00 +10:00
Thomas Dinges
2eeab8f191 Windows: Remove support for MSVC 2012 (VC11).
The officially supported compiled is now MSVC 2013, and MSVC 2008 will be faded out slowly over the coming weeks.
2014-05-15 07:50:02 +02:00
Campbell Barton
ccbac7862f CMake: use project name when generating project files 2014-05-11 16:21:38 +10:00
Campbell Barton
ba88824f32 Remove unused scons config files 2014-05-08 14:16:26 +10:00
Campbell Barton
60c5887fe8 CMake: mark vars as advanced 2014-05-06 06:04:29 +10:00
Bastien Montagne
f5687323a3 Install_deps: explicitely disable OSL/LLVM seems needed... 2014-05-05 20:57:52 +02:00
Bastien Montagne
f7aac45488 Fix T40025: install_deps.sh generating wrong make flag for OSL
Most cases should be handled OK now (not all though, would make script way too much tricky -
bash is a hell of a messy language :/).
2014-05-04 21:34:19 +02:00
Bastien Montagne
a4408f405d install_deps: always specify openexr/ilmbase versions to OIIO and OSL cmake, might help in some cases... 2014-05-03 12:46:12 +02:00
Bastien Montagne
1e9c4639c2 Install_deps.sh: do not use terminfo in our own llvm build.
llvm-config does not report it as link arg as it should
(see http://stackoverflow.com/questions/21477407/llvm-3-5-fails-to-link).
2014-05-01 16:25:39 +02:00
Bastien Montagne
9fb4c487ed Fix T39938: install_deps.sh fails when compiling OSL
Should always use a fixed rev in git repos!

Also done some other cleanup/fixes.
2014-05-01 09:30:11 +02:00
Thomas Dinges
d1009bdad5 Windows: Disable Numpy for now, we miss the libs for Python 3.4.
Also make the flag WITH_BF_PYTHON_INSTALL_NUMPY flag actually work on Windows.
2014-04-30 16:49:49 +02:00
741f17f05b Cycles CUDA: make CUDA toolkit 6.0 the official supported version.
This also updates the configurations to build kernels for compute capability
5.0 cards, when using and older CUDA toolkit version this will be skipped.

Also includes tweaks to improve performance with this version:
* Increase max registers on sm_30, sm_35 and sm_50
* No longer use texture storage on sm_30
2014-04-30 16:07:27 +02:00
Campbell Barton
b96d531bc9 Python: move to version 3.4x on all platforms 2014-04-30 23:19:16 +10:00
Campbell Barton
417efb0e8b Remove hard coded Python version for scons
note: this isn't best way of extracting version without '.'
2014-04-30 22:29:28 +10:00
Bastien Montagne
60b015d1fc Update ffmpeg in install_deps.sh to 2.1.4. 2014-04-23 14:17:39 +02:00
Bastien Montagne
db8e7d7a88 install_deps: update to py3.4 and numpy1.8. 2014-04-22 10:08:39 +02:00
Sergey Sharybin
41b37c007c Corrected the comment 2014-04-22 13:02:39 +06:00
Sergey Sharybin
830a8847bd Switch buildbot to Python-3.4.0 2014-04-22 13:00:35 +06:00
Campbell Barton
36defb7e66 Disable quicktime when in cmake's lite configuration 2014-04-18 23:22:09 +10:00
Jens Verwiebe
cddbe87ae5 OSX/python: update to py 3.4 2014-04-15 14:12:22 +02:00
Antony Riakiotakis
3ab0a4da73 Enable openmp in MinGW-w64 2014-04-07 19:01:19 +03:00
Bastien Montagne
959ec27ac9 Install_deps.sh: tweaks to support new LLVM-3.4.
Issue is, looks like Debian testing's graphic backend now uses LLVM-3.4,
which conflicts with 3.3 in Blender and makes it crash.

So add support to handle 3.4, by both allowing to force a specific version for some libs,
and switching back to head of official repo for OSL.
2014-04-06 17:50:50 +02:00
Bastien Montagne
cfbfb5e626 Great, now Debian Jessie as well can cause libyaml-cpp version mismatch... Update warning message! 2014-04-04 22:45:23 +02:00
Bastien Montagne
6ff0fcdae7 Some stupid systems give limited powers to sudo... So add a --no-sudo option disabling usage of sudo!
Note in this case, script becomes more or less useless, just spit out names of packages to install...

Requested by Dalai Felinto over IRC.
2014-04-04 22:38:49 +02:00
Jens Verwiebe
8ff74bed9b Scons/cycles: fix header distribution for geom 2014-04-04 13:07:32 +02:00
Antony Riakiotakis
cc439f683b fix scons ffmpeg libraries for mingw32 2014-03-30 01:35:39 +02:00
Campbell Barton
b64bdb2c1b Checker percentage calc was wrong, also cleanup 2014-03-29 11:25:44 +11:00
Campbell Barton
3eb2724c14 Update clang array checker for new clang py api 2014-03-29 11:08:24 +11:00
Sergey Sharybin
d3a73d0845 Windows: Upgrade FFmpeg from 0.10 to 2.1.4
Fixes T39423: Blender crashes on iv41 encoded videos in thumbnail display mode

Libraries are still being committed to the svn, so compilation might be broken
for a while. Sorry for this, but can't really be avoided.

Also, some typos in scons are possible.
2014-03-27 16:52:59 +06:00
Lukas Tönne
bbfcb0b1e4 Build file macro for testing unordered_map C++ container support.
Using unordered_map and unordered_set C++ container types currently
requires careful testing or usage of boost, due to the various confusing
C++ version differences in include paths and namespaces.

Libmv defines tests for these cases in cmake and scons, such that ceres
can use any available implementation, or fall back too std::map/std::set
if none can be found.

This patch generalizes this buildfile code by providing a Blender macro.
* cmake: defines both the variables used by libmv at them moment as well
as 2 variables UNORDERED_MAP_INCLUDE_PREFIX and UNORDERED_MAP_NAMESPACE,
which can later be used in other C++ parts for convenience.
* scons: adds a tool script returning the include prefix and namespace.
Libmv checks these to define the appropriate definitions for ceres.

Differential Revision: https://developer.blender.org/D425
2014-03-25 09:25:00 +01:00
Sergey Sharybin
43b5f0af2d tweaks to buildinfo
We wouldn't really have release branches, building will happen
from annotated tags.

Made it so building tag revision equals to a master branch.
2014-03-07 18:27:16 +06:00
Sergey Sharybin
905dda8527 Enable requests for buildbot and release builder 2014-03-05 14:00:58 +06:00
Jens Verwiebe
4acff9d6f1 OSX/scons: according to last commit, , use the version variable 2014-03-04 21:08:49 +01:00
Campbell Barton
5d74cac463 Build system: option to copy 'requests' from scons. 2014-03-05 06:43:47 +11:00
Jens Verwiebe
976fd68082 OSX/scons: copy release/site-packages for OSX ( static py for now ) 2014-03-04 18:41:19 +01:00
Campbell Barton
add6384213 Build system: use lstrip with scons 2014-03-05 04:19:55 +11:00
Campbell Barton
2c4c4a56b8 Build system copy release/site-packages for windows 2014-03-05 04:13:35 +11:00
Campbell Barton
c436c78de1 Build system support for numpy on ms-windows 2014-03-05 00:22:51 +11:00
Campbell Barton
13290d5a16 Scons: remove lcms reference 2014-03-04 12:42:17 +11:00
Lawrence D'Oliveiro
44d79c5ff8 patch cmake_linux_install.sh to do multithreaded build
The script ##cmake_linux_install.sh## is currently invoking ##make## in single-threaded mode; this patch changes it to take advantage of all available CPU threads.

Reviewers: mont29

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D358
2014-02-27 16:00:26 +01:00
Lawrence D'Oliveiro
317f29d753 Resubmission: Avoid UUOC in install_deps.sh
This is a resubmission of the original patch from D255. Sorry, I didn’t understand that subsequent patches added to a diff are considered to //override// previous ones, rather than add to them.

Basically the comment for commit rB554eca1c288e has been applied to the wrong patch.

Reviewers: mont29

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D359
2014-02-27 10:02:13 +01:00
Martijn Berger
4903544cad On MSVC 2013 64 bit set the default to build a vista API targetted binary. 2014-02-24 23:14:12 +01:00
Jens Verwiebe
9e924c8ffe OSX/scons: cp needs the targetdir to be created ( ditto does it itself ),
changing the order of commands let us use cp again
2014-02-24 12:09:55 +01:00
Jens Verwiebe
056d86ec83 OSX/scons: Fix language menu not showing up in prefs:
The languages file was not installed to locale due it has
no extension, using ditto now
2014-02-23 23:17:30 +01:00
Lawrence D'Oliveiro
554eca1c28 Avoid UUOC in install_deps.sh
The file ##build_files/build_environment/install_deps.sh## contains the following line:

  THREADS=`cat /proc/cpuinfo | grep processor | wc -l`

The command within the backticks is a [[ http://catb.org/jargon/html/U/UUOC.html | Useless Use Of Cat ]].

A more compact way of writing the same thing (saving two subprocesses) is

  THREADS=`grep -c processor /proc/cpuinfo`

or (using POSIX-preferred command-substitution parentheses instead of backticks)

  THREADS=$(grep -c processor /proc/cpuinfo)

But the most compact, and least Linux-specific, way is to use the ##nproc##(1) command from the [[ http://www.gnu.org/software/coreutils/manual/html_node/nproc-invocation.html | GNU coreutils package ]]:

  THREADS=$(nproc)

Reviewers: sergey, mont29

Reviewed by: mont29

Differential Revision: https://developer.blender.org/D255
2014-02-22 14:31:43 +01:00
Sergey Sharybin
28f3cc3eb7 Fixes for buildinfo hash/branch detection
Branch name and hash didn't work properly when having disconnected
HEAD or when having current HEAD below upstream.
2014-02-20 21:43:30 +06:00
Campbell Barton
a6b87853cb MSVC: add more warnings to match OSX/Linux 2014-02-19 18:05:37 +11:00
Campbell Barton
d76bcf98a3 MSVC: improve warnings for scons and cmake
Some int/float conversion warnings were disabled by buildsystems but
re-enabled by BLI_winstuff.h, the warnigns relate to conversions not
considered issues on other systems so better just quiet them.
2014-02-19 17:37:02 +11:00
Martijn Berger
ace071f99e prepare 32bit build msvc2013 scons/buildbot 2014-02-18 23:15:40 +01:00
Jens Verwiebe
c987bcc416 OSX: more futurework for clang-openmp:
- moved assumed location of omp lib to blender libs
- prepared libiomp5 to link out of the box with cmake
- changed according in scons
- introduced a local var C_VENDOR, cause Apple clang 3.4 may not include omp support yet
- added a linklibs for msgfmt ( may not be needed for other than OSX )
2014-02-18 17:18:35 +01:00
Martijn Berger
727ef0dfde win32 MSVC 2013 add scons support 2014-02-13 19:15:43 +01:00
Dan Eicher
6ad9941c74 Add the date to the CPack rpm package version
Updating rpms built from 'make package' has issues using the git hash since it isn't in a set order like svn commits, this lets it use the date to determine if the rpm is newer than the installed version.

Also updates the license text.
2014-02-12 13:45:36 -07:00
Jens Verwiebe
a84bcea070 OSX/scons: allow for compiling with clang-openmp-3.4
See: http://clang-omp.github.io
+ fix a longstanding bad include in darwin-config
2014-02-09 18:03:13 +01:00
Bastien Montagne
e2e9c51900 Fix T38370: Ubuntu 14.04 opencolorio segfaults blender on parsing colormanagement/config.ocio
Ubuntu hack: add a --libyaml-cpp-ver parameter, to try to force installing a given version of this lib...
(only for DEB-like distro, I dare hope Trusty (!) is the only affected distro.
Not happy at all to have such things here, this is actually an Ubuntu bug, but will have to live with it I guess.
2014-02-07 15:24:17 +01:00
Lawrence D'Oliveiro
cb0a5adc56 SCons: cleaner determination of 32-bit/64-bit builds
Try not to be x86-centric, remove unneeded blenderdeps variable.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D240
2014-02-04 19:01:10 +01:00
Bastien Montagne
142228433a Cleanup: remove completely all-static option, just too complex to support in modern linuxes! 2014-02-04 16:52:33 +01:00
Bastien Montagne
2ebffd01da Deb-like distro may use either jack or jack2, add support for this. 2014-02-04 16:52:33 +01:00
Lawrence D'Oliveiro
eeefbbcc78 SCons: Simplify Endian determination
Differential Revision: https://developer.blender.org/D252
2014-01-31 13:20:26 +01:00
f70d966047 Scons: refactor cycles kernel code to avoid building the AVX kernel with
compilers that don't support it.

CMake still needs to updated to work the same for consistency, but this should
fix the OS X buildbot at least.
2014-01-28 23:02:06 +01:00
Campbell Barton
c2da706a36 Code cleanup: remove references to svn and code style 2014-01-28 23:01:22 +11:00
60287e23b5 Buildbot OS X: compile with clang instead of GCC.
This should solve the missing -mavx option for Cycles, and also give better
performance since GCC 4.2 is now 5 years old already.
2014-01-27 17:16:10 +01:00
Campbell Barton
8f2eec5a15 Build System: icon files now depend on UI_icons.h for CMake
Now changing UI_icons.h causes icons to be re-generated, without this
adding a new icon wouldn't automatically get into the generated PNG.
2014-01-27 17:25:29 +11:00
Thomas Dinges
21264f89ac Cycles: Add a cmake config to easily compile Cycles Standalone.
On Linux/Mac OS X, simply type "make cycles" inside the Blender source directory, to get a standalone build of the engine.

Reviewed by: Brecht
Differential Revision: https://developer.blender.org/D228
2014-01-20 20:44:39 +01:00
Bastien Montagne
90283843e3 install_deps.sh: Fix output conf for CMake (specifying root dirs for OIIO/OCIO is not needed when you use default path, but mandatory otherwise, simpler to always give them).
Spotted by dingto on IRC, thanks!
2014-01-18 16:03:23 +01:00
Jens Verwiebe
74ae93d1cd Scons: Fix cycles OpenCL kernelcompile by distributing util_half.h 2014-01-17 00:33:32 +01:00
Campbell Barton
88f65fdddb CMake: add missing dependency for icon target 2014-01-17 01:50:33 +11:00
Thomas Dinges
5d88f7c7db Cycles: Build SSE41 kernel per default, remove build option. This hopefully also fixes some compile errors on various systems. 2014-01-14 22:04:32 +01:00
Bastien Montagne
839ddfbb65 Fix for rBec81feab6649: better to search for versionned libs first, else it can use your system ones instead of those built by install_deps! 2014-01-14 21:52:17 +01:00
IRIE Shinsuke
ec81feab66 CMake: Fix libname handling of OpenEXR 2.1. The library built with Autotools was not found.
Weird library names having version suffix (e.g. libIex-2_1.so) are used only
when the OpenEXR was built with CMake.  Building the library with the Autotools
doesn't add the version suffix.
2014-01-15 04:43:31 +09:00
Campbell Barton
4c9a3a53bd UI Icons: store icons in git as uncompressed pixmaps (D196)
this allows for updating icons without committing a new PNG each time
(which is inefficient with git). The data files are converted into a
PNG at builds time and used just as they were before.
2014-01-14 00:14:03 +11:00
Martijn Berger
62c8bae872 Added scons option to actually build the sse41 kernel. CMake already has it 2014-01-06 21:38:56 +01:00
Campbell Barton
a335137607 CMake: fix for OpenEXRConfig.h not being found on some Linux systems 2014-01-04 13:16:41 +11:00
Campbell Barton
fa4260ced9 Code Cleanup: use cmake case matching other find modules 2014-01-04 12:46:18 +11:00
Martijn Berger
cb4d32cba3 one more msvc 2013 change 2013-12-30 22:25:56 +01:00
Martijn Berger
5d3adafcbb Buildbot SCons MSVC 2013 packing also requires something extra 2013-12-29 19:56:03 +01:00
Martijn Berger
8c4d40d0e5 MSVC 2013 buildbot changes 2013-12-29 17:43:31 +01:00
Martijn Berger
21d587d9fc Added option to have a seperate environment for executing nvcc
This can be used to compiler cuda kernels with Visual Studio 2010 while
the rest of blender is compiled with MSVC 12.0 / 2013
2013-12-29 14:57:21 +01:00
Martijn Berger
42044a96e4 Basic scons support for building with Visual Studio 2013 although full MSVC 2013 support still needs more work in scons itself 2013-12-27 19:46:55 +01:00
Bastien Montagne
61ce7a26f3 Raise Python version to 3.3.3. 2013-12-19 22:44:51 +01:00
Bastien Montagne
163df7ff43 Better handling of new libnames of OpenEXR 2.1 (same solution as one used in OIIO/OSL source). 2013-12-16 21:16:02 +01:00
Bastien Montagne
740c7e677b Fix typo in previous own commit (thanks to _FrnchFrgg_ for noticing this!). 2013-12-15 15:53:50 +01:00
Bastien Montagne
05fe9a435a Make libyaml-cpp-dev not-breaking case for deb-like distros, and colors for messages! 2013-12-14 15:52:15 +01:00
Bastien Montagne
400fc9f86f Raise llvm min version to 3.3, looks like this is needed for OSL nowadays... 2013-12-12 17:24:41 +01:00
Bastien Montagne
b7ac2b1467 Add libxml2, libyaml-cpp and libtinyxml to default dependencies (always-installed packages), looks like they are needed... 2013-12-12 11:08:56 +01:00
Bastien Montagne
05e17242c9 More updates, fixes and cleanup to install_deps.sh.
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!
2013-12-11 22:12:09 +01:00
Bastien Montagne
9bca996c5e Minor fix to generated settings for scons (affected ilmbase/openexr). 2013-12-10 22:28:02 +01:00
Campbell Barton
a7ac6481ef CMake: report messages as status (else ccmake treats like an error) 2013-12-10 13:18:46 +11:00
Bastien Montagne
bac86a0825 Update install_deps.sh to OIIO 1.39 and OSL 1.4.0.
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!
2013-12-08 18:29:54 +01:00
Jens Verwiebe
901ebbd94a Scons: as requested by Ideasman, make MACOSX_COMPILER -> C_COMPILER_ID,
leave env set for OSX exclusive for now”
2013-12-08 15:35:21 +01:00
Jens Verwiebe
c167d7b79a OSX/scons: Introduce a new env var 'MACOSX_COMPILER'
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
2013-12-06 17:06:51 +01:00
Jens Verwiebe
df2f604af2 OSX/scons: fix misdesigned version detection of compiler ( todo: do with submodule ), fix a compiler warning with clang < 5” 2013-12-04 23:15:29 +01:00
Campbell Barton
a10cf5c99e CMake: check CMAKE_C_COMPILER_ID instead of CMAKE_CXX_COMPILER_ID
While its possible to have different C/C++ compilers, we dont support
this at the moment, so just check C compiler ID for now.
2013-12-02 11:36:33 +11:00
Sergey Sharybin
6a6c7b10de Correction to previous commit
Better just use "strip", to be sure \r\n is also stripped.
This also corresponds to what happens with popen() results.
2013-11-29 22:41:01 +06:00
Jens Verwiebe
f359b931f9 Better removal of \n in hash with rstrip 2013-11-29 17:27:29 +01:00
Jens Verwiebe
3bf77c34eb Fix scons compile after last commit ( unwanted new line ) 2013-11-29 17:04:29 +01:00
Sergey Sharybin
5f2400414a Buildinfo: suppress error prints when building local branches
Before this console output contained messages about branch is not
configured to use any upstream branch which is not useful information
at all.
2013-11-29 18:44:45 +06:00
683093b5c8 CMake/Scons Build: disable explicit linking to libstdc++ on Linux/Unix.
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.
2013-11-28 18:07:57 +01:00
Sergey Sharybin
764204baf2 Remove debug prints from SCons' python module
Seems to be left by accident in rB9a79e03752509997e99094763f9183e6e5ce3637

If not, please do prints more verbose :)
2013-11-28 19:46:23 +06:00
Sergey Sharybin
af7a2a3b6a Fix buildinfo hash for cases there's no upstream set for the branch 2013-11-28 02:25:09 +06:00
Sergey Sharybin
1d2c4357d5 Fix for previous fix (tm) commit
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.
2013-11-28 02:05:06 +06:00
Sergey Sharybin
cccee66290 Fixes for buildinfo
- 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.
2013-11-28 01:43:37 +06:00
Sergey Sharybin
551f3eef74 Show hash from latest pushed commit in buildinfo
Before this hash of latest local commit was used,
which is not so much useful since nobody can access
that commit hash.
2013-11-25 16:25:35 +06:00
Sergey Sharybin
fb2bc547fe Buildbot: move lib step before blender.git step
This is an attempt to make it so revision from git
SHA is being displayed, not from libs svn revision.
2013-11-25 15:25:10 +06:00
Campbell Barton
2b4c68b902 CMake Build: option to compile without opennl/superlu. 2013-11-25 15:36:19 +11:00
Sergey Sharybin
50fbebe0a4 Buildinfo fixes
- Use -M suffix if working tree does have uncommitted
  modifications.
- Local commits are considered local changes as well
2013-11-19 22:22:21 +06:00
Sergey Sharybin
2d8d3f364e Buildbot: update configuration file
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.
2013-11-19 18:52:18 +06:00
Sergey Sharybin
3c662efee3 Buildbot: fix path got pack step 2013-11-19 16:02:13 +06:00
Sergey Sharybin
998fe53076 Buildbot: tweaks for source directory
Need this so checkout of existing svn does not
interferes with new git checkout which would
need to be done.
2013-11-19 15:28:03 +06:00
Sergey Sharybin
46684d1ad2 Initial tweaks to buildbot configuration
Pretty much sure more tweaks would be needed,
but need this to get started.
2013-11-19 15:01:00 +06:00
Jens Verwiebe
94416a493c OSX/scons: using ditto autocreates dirs, spares 2 steps of mkdir iterating over .mo files, faster bundling 2013-11-17 15:16:47 +01:00
Jens Verwiebe
c239baa0ba OSX/scons: small reorder and spelling 2013-11-16 22:13:51 +01:00
Jens Verwiebe
a05e90f5fc OSX/scons: fix msgfmt binary linking and locale files distribution 2013-11-16 21:46:55 +01:00
Sergey Sharybin
f2faebe9cf Fix compilation error with SCons when using BUILDINFO and git is not found
Fallback to "no buildinfo" mode in this case.
2013-11-17 00:45:46 +06:00
Sergey Sharybin
09ecfc318c Fixes for buildinfo of exported source tree
- Better to set branch/hash to "unknown" so
  it's clear build is done from exported tree.
- SCons used to reference undefined variable.
2013-11-17 00:02:27 +06:00
Sergey Sharybin
3e87abb4be Remove nested check for .git folder exists in buildinfo.cmake
Title says it all :)

Pointer by IRIE Shinsuke in the ML, thanks!
2013-11-16 19:40:26 +06:00
Sergey Sharybin
927dea436e Further tweaks to buildinfo
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
2013-11-15 18:05:27 +06:00
Sergey Sharybin
89e5c87538 Remove debug-only print from cmake macros
Left it there by an accident.
2013-11-15 12:19:47 +06:00
Sergey Sharybin
ac6d91b939 Be ready for changes in bf-translations repository
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.
2013-11-08 20:44:48 +00:00
Jens Verwiebe
a3ec6edc05 OSX/scons: make MACOSX_SDK_CHECK a local var is sconstruct and remove from env, also fix a longstanding misuse of MACOSX_SDK_CHECK in ceres, use MACOSX_SDK instead 2013-11-08 13:44:10 +00:00
Jens Verwiebe
106cff1b93 OSX/buildbot: after scons refactor we only need the vars to change 2013-11-07 15:25:11 +00:00
Jens Verwiebe
e572a433a8 OSX/scons: make gcc version detection more futureproof 2013-11-07 15:05:59 +00:00