Commit Graph

79 Commits

Author SHA1 Message Date
Daniel Genrich
1aaaf67a9e Fix El Topo compile with scons (only win64 so far) 2012-08-12 00:19:55 +00:00
Sergey Sharybin
1a5998bc4e Remove old boolean operation module
Carve proved it's a way to go, so the time have came to get rid of old
boolean operation module which isn't used anymore.

Still kept BOP interface but move it to BSP module. At some point it
could be cleaned up further (like perhaps removed extra abstraction
level or so) but would be nice to combine such a refactor with making
BSP aware of NGons.

Tested on linux using both cmake and scons, possible regressions on
windows/osx. Would check windoes build just after commit.
2012-08-02 16:42:30 +00:00
Sergey Sharybin
990466e87e Initial support for numpy in scons
Assumes numpy is installed to the BF_PYTHON/site-packages/numpy directory,
could be tweaked further, but this should be enough to setup release
building environment.

Seems blender can't import numpy, but that doesn't seem to be scons issue,
the same happens here with cmake too. Would ask Campbell to help looking
into this.
2012-07-27 16:01:33 +00:00
Thomas Dinges
273f56ace0 Scons:
* WITH_BF_COMPOSITOR option, to disable tile compositor compilation.
* Removed unused SCons file.
2012-06-30 22:44:36 +00:00
Joshua Leung
795edb74fa scons - Added option to not remove and unpack python modules bundle every
compile
2012-05-23 03:49:42 +00:00
Nathan Letwory
63690b6b45 Enable setting of CUDA kernels to compile on command-line:
python scons/scons.py BF_CYCLES_CUDA_BINARIES_ARCH=sm_20,sm21
2012-05-12 21:37:01 +00:00
Nathan Letwory
fd2439f47a bump commit count, mingw32 -> mingw64 2012-04-28 08:47:37 +00:00
Nathan Letwory
5d70a6aedf Add MingW as "platform" 2012-04-28 08:45:55 +00:00
Antony Riakiotakis
7ac4bd9105 Enable building of the installer with MinGW-w64, patch by Caleb Joseph (Dobz) thanks a lot! 2012-04-25 11:15:55 +00:00
Antony Riakiotakis
4782522379 Add libMV and Scons support for MinGW-w64, patches by Caleb Joseph with slight modifications.
Thanks!
2012-04-24 12:57:58 +00:00
Thomas Dinges
f725a3d6c4 Scons ToDo:
* Made Frameserver building optional, added WITH_BF_FRAMESERVER.
* Enabled per default in btools.py
2012-04-14 22:19:29 +00:00
Thomas Dinges
48ed63b1a5 Scons ToDo:
* Made Smoke building optional, added WITH_BF_SMOKE.
* Enabled per default in btools.py
2012-04-14 21:55:38 +00:00
Thomas Dinges
3d4a14149b Scons:
* Some code and comment cleanup
* Remove cmake equivalent variable comments
* Remove some non used parameters from config files and btools: WITH_BF_FMOD, BF_VERSION.
* Remove some commented non-used variables
2012-04-07 18:26:54 +00:00
Sergey Sharybin
9def83f7e0 XDND support now can be disabled using WITH_GHOST_XDND=OFF with CMake and WITH_GHOST_XDND=False with SCons
Disabled on FreeBSD platforms due to some linking errors.
2012-02-17 20:51:39 +00:00
Sergey Sharybin
1df04f1dcd SCons: command line options should be coma-separated when adding to options list 2012-02-14 15:44:17 +00:00
Sergey Sharybin
7a85ad51bf Compilation error when using mingw+scons
Error was caused by boost library (which doesn't seem to be working with Cycles too
when compiling with mingw). Switched mingw to use TR1 unordered collections. Also,
there was re-declaration of strcasecmp when mingw is used.

Additional changes are related on using own process spawning when BF_TOOLSET is set to
mingw. Seems to be working fine now (i've got too long command line error) and no
warning are supressing now (as it was told in comment for commented own process spawning).
2012-01-17 10:32:17 +00:00
Sergey Sharybin
e81f2853c8 Carve booleans library integration
==================================

Merging Carve library integration project into the trunk.

This commit switches Boolean modifier to another library which handles
mesh boolean operations in much stable and faster way, resolving old
well-known limitations of intern boolop library.

Carve is integrating as alternative interface for boolop library and
which makes it totally transparent for blender sources to switch between
old-fashioned boolop and new Carve backends.

Detailed changes in this commit:

- Integrated needed subset of Carve library sources into extern/
  Added script for re-bundling it (currently works only if repo
  was cloned by git-svn).
- Added BOP_CarveInterface for boolop library which can be used by
  Boolean modifier.
- Carve backend is enabled by default, can be disabled by WITH_BF_CARVE
  SCons option and WITH_CARVE CMake option.
- If Boost library is found in build environment it'll be used for
  unordered collections. If Boost isn't found, it'll fallback to TR1
  implementation for GCC compilers. Boost is obligatory if MSVC is used.

Tested on Linux 64bit and Windows 7 64bit.

NOTE: behavior of flat objects was changed. E.g. Plane-Sphere now gives
      plane with circle hole, not plane with semisphere. Don't think
      it's really issue because it's not actually defined behavior in
      such situations and both of ways might be useful. Since it's
      only known "regression" think it's OK to deal with it.

Details are there http://wiki.blender.org/index.php/User:Nazg-gul/CarveBooleans

Special thanks to:

- Ken Hughes: author of original carve integration patch.
- Campbell Barton: help in project development, review tests.
- Tobias Sargeant: author of Carve library, help in resolving some
                   merge stoppers, bug fixing.
2012-01-16 16:46:00 +00:00
Campbell Barton
8391f534ab remove WITH_OGG define, its not used anywhere. 2012-01-10 13:33:53 +00:00
Campbell Barton
ba8d1b940f option to build without remesh modifier for cmake and scons 2011-12-31 03:34:44 +00:00
Sergey Sharybin
7bc43f3693 Added WITH_BF_LIBMV to command line options 2011-12-26 14:52:21 +00:00
Thomas Dinges
b7649ea757 Cycles / CUDA Kernel compile:
* Added option "WITH_BF_CYCLES_CUDA_THREADED_COMPILE" for the people who have much RAM (8 or more) and can compile several kernels at the same time. If enabled, it uses the general BF_NUMJOBS flag.
* The option is off per default.
2011-12-06 16:00:57 +00:00
Brecht Van Lommel
45de380771 Cycles
* Compile all of cycles with -ffast-math again
* Add scons compilation of cuda binaries, tested on mac/linux.
* Add UI option for supported/experimental features, to make it
  more clear what is supported, opencl/subdivision is experimental.
* Remove cycles xml exporter, was just for testing.
2011-12-01 16:33:21 +00:00
Thomas Dinges
366554d303 Scons / Cycles:
* Add dummy WITH_BF_CYCLES_BINARIES to scons, to be able to copy the .cubin kernels from cmake and have it work.
2011-11-24 19:22:34 +00:00
Campbell Barton
8c6057d5e3 exclude addons_contrib/ for release builds. 2011-11-17 19:43:59 +00:00
Lukas Toenne
11c83d8432 Ocean Sim modifier patch
by Matt Ebb, Hamed Zaghaghi

This adds a new Modifier "Ocean" to simulate large-scale wave motion.
Details can be found in the wiki documentation [1], the project homepage [2] and the patch tracker [3]

The modifier is disabled by default for now. To enable it, the WITH_OCEANSIM (cmake) / WITH_BF_OCEANSIM (scons) flags have to be set. The code depends on fftw3, so this also has to be enabled.

[1]
http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Simulation/Ocean

[2]
http://www.savetheoceansim.com

[3]
http://projects.blender.org/tracker/?group_id=9&atid=127&func=detail&aid=28338
2011-11-13 12:17:27 +00:00
Brecht Van Lommel
5b1a42cb17 Cycles:
* Fix excessive fireflies in Velvet BSDF (patch by David).
* Disable some unused SSE code
* Remove RTTI disabling flags for now, this is giving some compile issues and
  was only needed of OSL which we're not using yet.
2011-11-10 14:32:16 +00:00
Sergey Sharybin
f09f5eec57 - Added options to link staticly against oiio/boost
- Also changed buildbot settings so now linking should happe staticly
2011-11-09 19:02:42 +00:00
Nathan Letwory
f0adbb7746 Fix ${} var usage. Was missing BF_OIIO and BF_BOOST init.
Noticed still missing: OSX file copying (cycles .py files, kernel files, licenses).
2011-11-09 17:22:55 +00:00
Nathan Letwory
c9bca51e76 Add compiles support for Cycles.
No CUDA compiling yet, will be added later.
2011-11-08 20:40:02 +00:00
Sergey Sharybin
27d42c63d9 Camera tracking integration
===========================

Commiting camera tracking integration gsoc project into trunk.

This commit includes:

- Bundled version of libmv library (with some changes against official repo,
  re-sync with libmv repo a bit later)
- New datatype ID called MovieClip which is optimized to work with movie
  clips (both of movie files and image sequences) and doing camera/motion
  tracking operations.
- New editor called Clip Editor which is currently used for motion/tracking
  stuff only, but which can be easily extended to work with masks too.

  This editor supports:
  * Loading movie files/image sequences
  * Build proxies with different size for loaded movie clip, also supports
    building undistorted proxies to increase speed of playback in
    undistorted mode.
  * Manual lens distortion mode calibration using grid and grease pencil
  * Supervised 2D tracking using two different algorithms KLT and SAD.
  * Basic algorithm for feature detection
  * Camera motion solving. scene orientation

- New constraints to "link" scene objects with solved motions from clip:

  * Follow Track (make object follow 2D motion of track with given name
    or parent object to reconstructed 3D position of track)
  * Camera Solver to make camera moving in the same way as reconstructed camera

This commit NOT includes changes from tomato branch:

- New nodes (they'll be commited as separated patch)
- Automatic image offset guessing for image input node and image editor
  (need to do more tests and gather more feedback)
- Code cleanup in libmv-capi. It's not so critical cleanup, just increasing
  readability and understanadability of code. Better to make this chaneg when
  Keir will finish his current patch.

More details about this project can be found on this page:
    http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2011

Further development of small features would be done in trunk, bigger/experimental
features would first be implemented in tomato branch.
2011-11-07 12:55:18 +00:00
Thomas Dinges
563becafb9 Scons:
* Basic support for OpenImageIO and Boost libraries
* Path to libraries added for win32/64-vc-config.py, still commented out.
2011-11-03 12:40:15 +00:00
Thomas Dinges
6ea6e992ba Scons:
* Minor cleanup
2011-11-03 12:24:29 +00:00
Thomas Dinges
f837b46a2b Modifier compilation tweaks (Blender conference commit)
* Fluid compilation: Inverse the compile flag from DISABLE_ELBEEM to WITH_MOD_FLUID for consistency. (scons/cmake)
* Use WITH_BF_FLUID in your user config (scons) 

* Add support for scons to disable build with Decimate and Boolean modifier. 
(WITH_BF_DECIMATE and WITH_BF_BOOLEAN)
2011-10-29 23:56:07 +00:00
Campbell Barton
78a8f8a4b1 - remove release/bin/.blender/.bfont.ttf, we have ./release/datafiles/bfont.ttf already, and its not used anymore.
- removed scons WITH_BF_FREETYPE
2011-10-21 03:16:01 +00:00
Joerg Mueller
07ad83a439 * Removing libsamplerate from build systems
* Enabling OpenAL for scons win64-vc in default config; Nathan or Sergey: please update the build bot to build with OpenAL!
2011-10-02 17:09:39 +00:00
Campbell Barton
83a2f02a78 cleanup endian handling
- define __BIG_ENDIAN__ or __LITTLE_ENDIAN__ with cmake & scons.
- ENDIAN_ORDER is now a define rather than a global short.
- replace checks like this with single ifdef: #if defined(__sgi) || defined (__sparc) || defined (__sparc__) || defined (__PPC__) || defined (__ppc__) || defined (__hppa__) || defined (__BIG_ENDIAN__)
- remove BKE_endian.h which isn't used
2011-09-19 08:02:17 +00:00
Jens Verwiebe
d8394b9d67 set OSX default python to static 2011-08-31 14:46:27 +00:00
Jens Verwiebe
5e8d191930 OSX/scons: fix compile with static python, my patch was a bit outdates, sorry 2011-08-31 14:15:14 +00:00
Sergey Sharybin
36f20f162c Fix #28154: linux3-config.py doesn't exist
Change OURPLATFORM from "linux<major_version>" to simple "linux".
Since new policy for linux kernel versions that major version in
platform doesn't make much sense for building rules so the same
rules could be used for both of linux2 and linux3 now/

Tested on both of linux2 and linux3 systems.
2011-08-21 13:31:46 +00:00
Sergey Sharybin
c9216e390c Commiting patch from jensverwiebe for NDOF support on OSX 2011-08-11 15:59:19 +00:00
Thomas Dinges
fad243a4bf Mac Compile fix for ndof, by jensverwiebe. Thanks! 2011-08-07 22:48:04 +00:00
Campbell Barton
577293569a scons patch from jensverwiebe
fix a silly bug in version detection, - added an OSX sdk-check

jensverwiebe, needs to get commit access!, but will apply his patches for now.
2011-08-07 16:54:40 +00:00
Sergey Sharybin
2c4357c1e1 - Move list of FFmpeg DLLs to be installed from SConstruct
to conficuration variable BF_FFMPEG_DDL.
  This would allow to use different FFmpeg in buildbot.
- Added some 3DMOUSE variables to list of command line options.
  Now 3dmouse related-settings can be set from command line.
2011-08-03 10:50:21 +00:00
Nathan Letwory
5c36b75324 Simple argument to be able to explicitely tell the bitness you want to build Blender in.
python scons\scons.py BF_BITNESS=32
python scons\scons.py BF_BITNESS=64

So from now on for Windows you don't have to run a specific win32 or win64 Python version
to get the Blender version you want. If you omit the BF_BITNESS flag the bitness as per
Python version will be used as before.

Note that this is an argument, so works *only* on the command-line, not in your user-config.py
2011-08-02 18:33:39 +00:00
Sergey Sharybin
13eefec9dd More flexible configuration for 3dmouse library for scons.
Needed for release environment and buildbot.

Buildbot rules would be updated with next commit after
environment will be tested.
2011-08-02 17:59:43 +00:00
Jiri Hnidek
2e860a3e85 - Blender could be build with scons again. 2011-08-02 07:02:40 +00:00
Sergey Sharybin
9eb1b26312 Fix for recent GHOST SDL commit.
SCons rules haven't been changed to deal with new option.
2011-07-12 18:39:46 +00:00
Brecht Van Lommel
06ca703737 BuildBot: various changes to support building branches. 2011-06-03 20:44:23 +00:00
Brecht Van Lommel
7b4aac3e34 Fix #27481: windows uninstaller could remove files unrelated to blender
when installing to a folder that already existed. Now the uninstaller
will remove only the files it has installed, and leave any other files
in the installation directory intact.
2011-06-01 13:13:55 +00:00
Brecht Van Lommel
d369a6aaaf Windows installer and Path changes, fixing various issues:
* Windows installer not working for non-admin users and multiple users
* Addon scripts not installing next to user configuration
* Portable install not being taken into account in all places

The main problem was the windows installer was installing system scripts in
AppData next to the user configuration directory, which is not shared between
users. Now these are installed in ProgramFiles, and only addon scripts added
by the users go to AppData.

On all platforms, addon scripts were sometimes getting installed between
system scripts, because the scripts folder in the executable directory was
given precedence over the user configuration folder, that is no longer done
now. So addons now behave like user configuration, they are preserved even
if you download a newer build of the same blender version.

If you have an installation of 2.57 on windows, the addon install location
will not change until we do the version bump to 2.58, to avoid conflicts with
the existing the installed 2.57 version.

The old behavior of giving precedence to the local folder was done to support
portable install, where all configuration is written to the local folder. This
is now implemented differently: if and only if a "config" folder exists in the
local folder, portable install will be assumed, and files will only be written
to that local folder.
2011-05-27 09:57:53 +00:00