Commit Graph

277 Commits

Author SHA1 Message Date
Brecht Van Lommel
774584d7e8 Cycles: hook up the CMake build system.
New build instructions for Ubuntu Linux in the wiki:
http://wiki.blender.org/index.php/Dev:2.5/Source/Cycles
2011-04-28 13:47:27 +00:00
Brecht Van Lommel
4e235c184b Blender modifications for Cycles integration.
Some notes about code status:

* The Blender modifications were fairly quickly put together, much more code
  polish and work is needed to get this to a state where it can be committed
  to trunk. Files created with this version may not work in future versions.

* Only simple path tracing is supported currently, but we intend to provide
  finer control, and more options where it makes sense.

* For GPU rendering, only CUDA works currently. The intention is to have the
  same kernel code compile for C++/OpenCL/CUDA, some more work is needed to
  get OpenCL functional.

* There are two shading backends: GPU compatible and Open Shading Language.
  Unfortunately, OSL only runs on the CPU currently, getting this to run on
  the GPU would be a major undertaking, and is unlikely to be supported soon.
  Additionally, it's not possible yet to write custom OSL shaders.

* There is some code for adaptive subdivision and displacement, but it's far
  from finished. The intention is to eventually have a nice unified bump and
  displacement system.

* The code currently has a number of fairly heavy dependencies: Boost,
  OpenImageIO, GLEW, GLUT, and optionally OSL, Partio. This makes it difficult
  to compile, we'll try to eliminate some, it may take a while before it
  becomes easy to compile this.
2011-04-27 14:36:02 +00:00
Campbell Barton
6bb626f253 minor changes
- remove some warnings
- fix typos
- cmake allow in-source build (when WITH_IN_SOURCE_BUILD is defined)
- cmake, use an explicit list of rna files (don't glob)
2011-04-21 05:49:47 +00:00
Campbell Barton
2d1e663440 patch [#26861] Spelling, Typos, and Grammar
- also fix own bad assert from yesterday & remove testing cmake print.
2011-04-11 01:18:25 +00:00
Sergey Sharybin
1c11e40cb7 Use the same LLIBS set for cmake at Win64 platform as scons uses.
This fixes linking errors occurred recently for me (kinda of SDL
and registry stuff)

Now it works perfectly, thanks to Campbell for tip :)
2011-04-10 14:44:57 +00:00
Campbell Barton
74f3d03969 disable new cloth solver by default. 2011-04-10 06:06:26 +00:00
Campbell Barton
7aed432fc8 eltopo cloth solver couldnt be enabled from cmake, also dont use globbing. 2011-04-10 05:43:34 +00:00
Campbell Barton
5457c871ef change in how cmake works with CMAKE_C_STANDARD_LIBRARIES / CMAKE_CXX_STANDARD_LIBRARIES.
if not defined (first run) these are now set blank but can be defined later.

the problem is that scons & cmake builds would link against different libraries since cmake added its own defaults.
now, by default, scons & cmake have the same libraries.

This fixes an obscure crash in MinGW where cmakes default linking with -ladvapi32 would crash on string formatting which used float precision as an argument, eg:
  printf("%.*f", 3, value);
...without giving a useful backtrace or pointing to the line of code doing the string formatting.
2011-04-09 11:16:37 +00:00
Campbell Barton
1c8d311287 missed setting WITH_BUILTIN_GLEW on non *nux OS's
also made WITH_PYTHON advanced.
2011-04-06 01:51:43 +00:00
Campbell Barton
ca254dd37b add option WITH_BUILTIN_GLEW, so linux packagers can disable to use their own glew library. 2011-04-05 23:31:01 +00:00
Campbell Barton
0298d223cc quiet various warnings, also disable -Wdouble-promotion with cmake since it gives warnings with variable length args. 2011-04-03 10:04:16 +00:00
Campbell Barton
cf40220e54 set CMake's GCC warnings for GCC4.6.
-Wdouble-promotion -Wno-error=double-promotion
 -Wno-error=unused-but-set-variable
2011-03-28 02:11:51 +00:00
Campbell Barton
06b04fa886 dont return a system path if cmake's 'WITH_INSTALL_PORTABLE' is enabled. this way portable builds wont find scripts in /usr/share. 2011-03-25 05:23:58 +00:00
Campbell Barton
5f8fa29755 add cmake option to build without xinput (tablet support) 2011-03-25 04:56:48 +00:00
Campbell Barton
c210b3991a support for blender as a module on win32. 2011-03-24 00:14:49 +00:00
Campbell Barton
733b736e9e CMake, check for clang++ compiler and disable WITH_IK_ITASC and WITH_MOD_FLUID until there supported.
possibly allows builing with Xcode4.
2011-03-20 01:49:15 +00:00
Campbell Barton
879be45bb5 fix for building on ubuntu 11.04 (pre-release), also remove WITH_INSTALL from cache. 2011-03-18 12:12:53 +00:00
Campbell Barton
4f5e20aeb4 remove cmake WITH_INSTALL option since its a target now. 2011-03-16 21:32:20 +00:00
Campbell Barton
6588bcbbe0 CMake, GCC: replace -Werror=strict-prototypes with -Wstrict-prototypes, some external headers cause this. 2011-03-15 22:30:07 +00:00
Campbell Barton
42e9796c04 builder reports MSVC was setting stack size to 2gig. 2011-03-12 04:31:28 +00:00
Campbell Barton
a001b3f072 set 2mb stack for mingw too. 2011-03-12 00:50:34 +00:00
Nathan Letwory
92665b0a51 Fix [#25659] crash when unwrapping specific mesh
Reported by Jan Hohoho

Running the unwrap causes stack to overflow. Double the size from default 1MB.
2011-03-11 23:27:15 +00:00
Campbell Barton
9c032756e9 when checking for windows check sys.platform starts with "win" rather then '== "win32"' & avoid importing platform.
also add some notes to CMake options.
2011-03-11 01:24:16 +00:00
Campbell Barton
f3a455fd22 CMake should find python now without manual options being set on linux.
cmake on *nix detects python ABI flags for debug and release mode.
searches /usr /usr/local /opt/py32
2011-03-10 00:25:35 +00:00
Campbell Barton
17564249bb better default python ABI flags for *nix, 'm' default, 'd' for debug.
give a CMake error if Python.h isn't found.
2011-03-09 23:27:26 +00:00
Campbell Barton
65273cf82f - correct python3.1 warning message.
- for new shadow only enum, use humanly readable RNA enum values.
- update cmake unix example for custom python.
2011-03-08 22:11:15 +00:00
Damien Plisson
df3688a05d CMake/OSX: Bugfix [#26375]: Add default values for the OSX architecture: x86_64 (also used to select the python dynlibs that'll be bundled with the application).
Set deployment target to be 10.5 by default.

Fix broken build introduced by recent source/creator/CMakeList.txt cleanup
2011-03-07 21:28:36 +00:00
Campbell Barton
cfd9d6d190 Drop support for python 3.1.
for building py3.2 on *nix see:
  http://wiki.blender.org/index.php?title=Dev:2.5/Doc/Building_Blender/Linux/Troubleshooting#Python

also fixed possible buffer overrun with getting the fake filepath for a blender textblock.
2011-03-07 11:53:40 +00:00
Campbell Barton
e1649ecda9 use install target for CMake Windows (msvc and mingw), for MinGW you now need to run 'make install', for MSVC the 'INSTALL' target needs to be enabled in the project file 2011-03-07 03:33:33 +00:00
Campbell Barton
6106d919c3 CMake: Linux/Unix Only,
use 'install' target rather then copying files with post-build commands.

Main change is that you need to run 'make install', which copies files to ./bin by default
unless WITH_INSTALL_PORTABLE is OFF, where CMAKE_INSTALL_PREFIX is used for a typical unix-system install.
2011-03-06 11:41:30 +00:00
Nathan Letwory
8bc0033cb0 Move CMake on Windows to use Python 3.2 2011-03-04 14:15:46 +00:00
Campbell Barton
e8c322ee85 Py/RNA API: WITH_PYTHON_SAFETY
compile time option which enables extra safety checks.
since this is noticeably slower I rather not enable by default yet.
2011-03-03 12:00:35 +00:00
Campbell Barton
b8e3f4ee30 fix for cmake not having the correct svn revision in buildinfo, now generate a header every build with the time, date, svn revision. 2011-02-24 17:57:35 +00:00
Campbell Barton
32c13137f5 disable some conflicting options WITH_PYTHON_MODULE 2011-02-22 14:27:46 +00:00
Campbell Barton
12e4c52c5a cmake was using dna source list with the variable out of scope, possibly causing dependency problems. 2011-02-22 06:23:07 +00:00
Campbell Barton
9ef0eed4b6 build python module without binreloc, add dummy argv[0] to initialize bprogname. 2011-02-21 13:13:08 +00:00
Campbell Barton
7809d7d0c8 fix [#26152] Blender File for Image too Small
disallow 0% rendersize.

also mark new cmake vars as advanced: RPMBUILD, X11_XF86keysym_INCLUDE_PATH
2011-02-21 01:02:30 +00:00
Campbell Barton
c30149991c Experimental option to build blender as a python module, rather then blender embedding python.
CMake build option WITH_PYTHON_MODULE, will build ./bin/bpy.so

This allows 'bpy' to be imported from python or other applications/IDE's which embed python, eg:
   python -c "import bpy ; bpy.ops.render.render(write_still=True)"

This runs in background mode and has similar restrictions to running a script:
   blender --background --python test.py

TODO:
 - install to site-packages with blender scripts
 - add support for imp.reload()
2011-02-20 23:39:29 +00:00
Guillermo S. Romero
c37884b015 Add XF86keysym.h detection and use to CMake system, for r34983. 2011-02-19 23:51:55 +00:00
Campbell Barton
9ee1b3930f set main() argv functions to be const char *
also set minimum cmake version to 2.8
2011-02-19 12:05:20 +00:00
Campbell Barton
c461a7ea4d patch from IRIE Shinsuke, use systems openjpeg on *nix. 2011-02-15 19:04:51 +00:00
Campbell Barton
52c08fa4d3 CPack packaging support from Dan Eicher, tested to build redhat RPM's, a Mac bundle also defined. 2011-02-15 18:33:05 +00:00
Campbell Barton
8ea0b4685c misc small changes:
- rename rna collection structs Main prefix to BlendData: eg, MainObjects --> BlendDataObjects
- printing python collection now prints its type (when available)
- renamed shadowed vars in bpy_rna.c.
- when making functions static I also made debugging/test functions static, reverse and add definitions to headers instead.
2011-02-14 03:15:55 +00:00
Campbell Barton
914e2ee01f problem with blender and python 3.2
- python 3.2 does 'import site' on startup which now tries to parse pyconfig.h which isn't copied. so for now just run without importing 'site', alternative would be to copy the header file for posix systems.
- cache PYTHON_VERSION variable so it can be set to 3.2, needed for copying python installation's other then 3.1.
2011-02-08 06:22:06 +00:00
Campbell Barton
6165508bc5 patch for building blender with CMake, OpenEXR & MSVC2010 by Peter K?\252mmel 2011-02-07 01:23:18 +00:00
Nathan Letwory
71cb745941 Commit to cope with API changes in OpenCOLLADA (latest for Windows right now r827). 2011-01-27 19:39:06 +00:00
Campbell Barton
1bd0db59f4 use cmake defined names for jpeg, png, zlib and python libs, building on *nix with non-standard libjpeg/png/zlib locations was broken.
in the case of python this makes it easier to move to find_package(PythonLibs) when 3.x is supported.
2011-01-25 14:43:13 +00:00
Campbell Barton
8a3beb0012 import/export automated testing using CMake's CTest
Will need to write full docs on this on the wiki.
basic info.
- 21 tests, OBJ/3DS/X3D/FBX, 3 tests per format import export. STL, PLY, BVH are TODO.
- uses files in ../lib/tests (checkout separate)
- run with CMake Makefiles "make test" or "ctest"
- currently checks against basic MD5 hash on scene import and file MD5 hash on export (realize this wont work predictably on binary formats *TODO*).
- currently uses a generic script for all tests with arguments to specify command to run, expected output, testing method, files to check against etc.

Has already proved useful, found a number of bugs in import export and some in blender too.
2011-01-21 00:06:30 +00:00
Campbell Barton
00b8c9e7ea rename BKE_assert() --> BLI_assert(). 2011-01-09 15:12:08 +00:00
Campbell Barton
54ceccd0ee - cmake use execute_process, exec_program is deprecated.
- game engine builds without python again.
2011-01-07 08:43:29 +00:00