Commit Graph

443 Commits

Author SHA1 Message Date
Campbell Barton
e96d1c7965 CMake: use parent scope setting cflags in funcion 2015-06-18 00:59:07 +10:00
Campbell Barton
0dcda51836 Revert "Correct recent commit replacing macro's /w MSVC"
This reverts commit 810f8928d65abbce6dddc1e11f6092c22d9a5fcc.

Worked by accident with MSVC, real fix next...
2015-06-18 00:58:58 +10:00
Campbell Barton
810f8928d6 Correct recent commit replacing macro's /w MSVC 2015-06-17 13:16:21 +10:00
Campbell Barton
81b37f5e92 CMake: use functions instead of macros
Reduces issues with vars leaking into the parent scope.
2015-06-17 09:38:24 +10:00
Campbell Barton
1e9348efdc CMake: minor edits to lite config 2015-06-14 09:34:42 +10:00
Sergey Sharybin
3560e36ee9 CMake: Fix typo in OIIO module 2015-06-10 16:51:52 +02:00
Campbell Barton
bf010c4a15 Cleanup: pep8 2015-06-07 17:28:02 +10:00
Campbell Barton
e698299e4f CMake: install Python executable when its bundled 2015-05-19 16:44:19 +10:00
Campbell Barton
3d70a04a8a CMake: remove temp assignment, unused vars 2015-05-19 16:44:18 +10:00
Campbell Barton
60f60ed496 CMake: fixes for own checking script
don't error if generated files are missing.
2015-05-17 16:05:38 +10:00
Sergey Sharybin
bac7353801 Depsgraph: New dependency graph integration commit
This commit integrates the work done so far on the new dependency graph system,
where goal was to replace legacy depsgraph with the new one, supporting loads of
neat features like:

- More granular dependency relation nature, which solves issues with fake cycles
  in the dependencies.

- Move towards all-animatable, by better integration of drivers into the system.

- Lay down some basis for upcoming copy-on-write, overrides and so on.

The new system is living side-by-side with the previous one and disabled by
default, so nothing will become suddenly broken. The way to enable new depsgraph
is to pass `--new-depsgraph` command line argument.

It's a bit early to consider the system production-ready, there are some TODOs
and issues were discovered during the merge period, they'll be addressed ASAP.
But it's important to merge, because it's the only way to attract artists to
really start testing this system.

There are number of assorted documents related on the design of the new system:

* http://wiki.blender.org/index.php/User:Aligorith/GSoC2013_Depsgraph#Design_Documents
* http://wiki.blender.org/index.php/User:Nazg-gul/DependencyGraph

There are also some user-related information online:

* http://code.blender.org/2015/02/blender-dependency-graph-branch-for-users/
* http://code.blender.org/2015/03/more-dependency-graph-tricks/

Kudos to everyone who was involved into the project:

- Joshua "Aligorith" Leung -- design specification, initial code
- Lukas "lukas_t" Toenne -- integrating code into blender, with further fixes
- Sergey "Sergey" "Sharybin" -- some mocking around, trying to wrap up the
  project and so
- Bassam "slikdigit" Kurdali -- stressing the new system, reporting all the
  issues and recording/writing documentation.
- Everyone else who i forgot to mention here :)
2015-05-12 16:06:37 +05:00
Martijn Berger
3f04f64eea [cmake] move FindLLVM to its own file 2015-05-06 12:35:48 +02:00
Campbell Barton
ccfb9a96c3 CMake: resolve linking error on Linux
Since multiview, matrixGlyph failed to link
2015-04-08 11:50:57 +10:00
Sergey Sharybin
6cd82dbf57 CMake: Enable strict flags for C++ 2015-03-27 18:23:31 +05:00
Campbell Barton
4560570f8a Fix for building blender as a Python module
Installation didn't work on debian distro's
now install into PYTHON_SITE_PACKAGES (which is detected and can be configured).
2015-03-24 17:06:12 +11:00
Campbell Barton
9ff3d8eafa Cleanup: minor edits to project generators 2015-03-22 03:35:13 +11:00
Sergey Sharybin
03d945095a Cmake: Some more tweaks to building from branch without upstream 2015-03-20 14:07:56 +05:00
Sergey Sharybin
6de12b1b43 CMake: Suppress unconfigured branch upstream error in the output 2015-03-20 13:59:05 +05:00
Campbell Barton
52d72a37cd Cleanup 2015-03-19 20:34:02 +11:00
Campbell Barton
4b88541d59 CMake: unbundle eigen3
Optionally use systems eigen3 library.

T41989 by @hasufell with edits
2015-03-19 15:41:41 +11:00
Campbell Barton
bb825d02f8 CMake: unbundle LZO library
Patch T41989 by @hasufell
2015-03-13 22:36:01 +11:00
Campbell Barton
d17e6c10df Cleanup: quiet minilzo warnings 2015-03-06 17:47:23 +11:00
Sergey Sharybin
eb16b04b9d CMake: Need to find pugixml.hpp instead of pugixml.h
That's how file is actually called in the upstream.
2015-03-05 17:23:23 +05:00
Campbell Barton
30d6589069 CMake: mark lib/debug options advanced 2015-03-05 15:42:01 +11:00
Campbell Barton
7293291a40 cleanup: typos 2015-02-27 15:57:59 +11:00
Campbell Barton
1da5e8df6f error in last commit 2015-02-25 18:19:39 +11:00
Campbell Barton
83caabebd2 CMake: error making get_blender_version a function
Incorrect use of PARENT_SCOPE meant the vars would be used uninitialized elsewhere.
2015-02-25 18:15:54 +11:00
Campbell Barton
ee9ac4e4fc CMake: remove expression in endif(...) 2015-02-19 07:45:59 +11:00
Sybren A. Stüvel
9a10b208ba Ensure CMake finds SDL 2.0
CMake 2.8 doesn't search /usr/include/SDL2, which is the include directory
for SDL 2.x on Ubuntu Linux (and possibly others). This results in SDL 1.2
headers being found when WITH_SDL_DYNLOAD=OFF, and our shipped SDL 2.0
headers when WITH_SDL_DYNLOAD=ON. This patch ensures that in both
cases the correct SDL headers are used.

Reviewers: sergey, campbellbarton

Projects: #bf_blender

Differential Revision: https://developer.blender.org/D1112
2015-02-16 09:27:50 +01:00
Sergey Sharybin
a439c8026a CMake: Add search path for jemalloc which corresponds to own and studio setup 2015-02-14 12:29:48 +05:00
Campbell Barton
616eb6818f cleanup 2015-02-13 16:17:00 +11:00
Sergey Sharybin
53c4033b5b CMake cleanup: Move OSL detection code into FindOpenShadingLanguage.cmake
Should be no functional changes.
2015-02-10 02:45:59 +05:00
Sergey Sharybin
40f237675f Some tweaks to support upcoming OSL-1.6
Doesn't mean we're 100% ready for the transition, but need to start somewhere
anyway. Changes:

- OSL is no longer supporting cpp and requires usage of Boost Wave.
  So now Wave component of Boost is optionally demanded when looking for the
  Boost libraries if OSL is enabled.

  Only did this for Linux, MSVC seems already using Wave. Not sure about OSX.

- Because of the same reason OSL should be moved prior Boost for linker.

- Whole archive trick makes it so linking fails with duplicated symbols, so
  removed it for the new OSL. Didn't see issues with this so far.

- Added some code to check OSL version on Linux. Would need to move all that
  to FindOpenShadingLanguage.cmake which we can get from Cycles standalone
  repository.

  So in theory no affect on current stup would be made at all.

- Added some tweaks to buildbot files. It now seems to be happy with the new
  OSL libraries, but again, those tweaks are not in action yet.

All this was tested on Linux only. Win/OSX might still need some tweaks to
support new OSL.

P.S. This doesn't mean we're pushing OSL update yet, just making some
preliminary tweaks to avoid entropy of PITA when we'll actually want to
switch.
2015-02-06 14:57:32 +05:00
Campbell Barton
bec7d62218 CMake: add PLATFORM_LINKFLAGS to CMAKE_(SHARED|MODULE)_LINKER_FLAGS
D750 by @leszekswirski

Need for compiling Blender as a Python module in Windows.
2015-02-05 19:49:46 +11:00
Sergey Sharybin
66f85d3487 Added default install location from install_deps.sh to FindOpenEXR.cmake
Patch by Oliver Weissbarth, thanks!

Differential Revision: https://developer.blender.org/D907
2015-01-28 23:36:51 +05:00
Sergey Sharybin
90f2febbf4 CMake: Auto-detect path to idiff application in FindOpenImageIO.cmake
Not used at this moment, but will be real soon with new ctests.
2015-01-22 15:53:15 +05:00
Lukas Tönne
5322def57c Moved the cloth solver code into a new subfolder/library inside Blender
code.

The implicit solver itself should remain agnostic to the specifics of
the Blender data (cloth vs. hair). This way we could avoid the bloated
data conversion chain from particles/hair to derived mesh to cloth
modifier to implicit solver data and back. Every step in this chain adds
overhead as well as rounding errors and a possibility for bugs, not to
speak of making the code horribly complicated.

The new subfolder is named "physics" since it should be the start of a
somewhat "unified" physics systems combining all the various solvers in
the same place and managing things like synchronized time steps.
2015-01-20 09:30:00 +01:00
Campbell Barton
73955e2566 Fix for GTest 2015-01-09 23:33:02 +11:00
Antony Riakiotakis
e02af840e1 Fix gtest linking on ubuntu and do minor cleanup.
Generally for build systems, libraries that do not depend on other
libraries, such as system libraries, OpenGL etc always go at the end.

We could even get rid of some duplicate dependency libraries here but
auto duplication by build systems and differences between OSs make this
difficult.

GTest still duplicates all libraries twice to solve some issues which is
weird (maybe libs are not sorted correctly for some reason? needs
investigation)
2015-01-08 17:17:40 +01:00
Campbell Barton
0d7e8cc869 GTest was broken on Linux 2015-01-03 17:55:59 +11:00
Sergey Sharybin
e9596e5def Cycles: Post-reintegration tweaks to ensure things do compile
This commit contains all the tweaks which were missing in initial patch
re-integration from the standalone Cycles repository.

This commit also contains an utility cmake macro to help linking targets
with different libraries for release/debug builds, the name currently is

  target_link_libraries_decoupled

it gets a target and list of libraries and makes sure debug builds are
using libraries with "_d" suffix.

After all this changes it'll hopefully be easier to interchange patches
between blender and standalone repositories, because they're now quite
identical.
2015-01-01 01:31:08 +05:00
Sergey Sharybin
e0a809fb1d Cycles: Fix compilation error when OIIO is compiled with external PugiXML parser
Basic idea is to check whether OIIO is compiled with embedded PugiXML parser
and if so use PugiXML from OIIO, otherwise find a standalone PugiXML library.
2015-01-01 01:31:07 +05:00
Lukas Tönne
f392f56397 Small fix for QTCreator project script, by Sybren Stüvel.
Either ./blender-git or ~/blender-git should be used, but not
.~/blender-git. This patch fixes that, by choosing ~/blender-git,
in line with the last CLI argument.
2014-12-29 13:45:05 +01:00
Sergey Sharybin
e0cb67f740 CMake: Add check for whether OIIO has bundled pugixml library
Will become handy when we'll be re-integrating changes from Cycles standalone
repository back to blender.
2014-12-29 15:08:16 +05:00
Campbell Barton
3bd46904be Cleanup: warnings 2014-12-01 14:54:13 +01:00
Campbell Barton
3563276d70 Revert "OSX/cpack: add a dummy bg and ds_store for dmg"
This reverts commit 5f7b273236fc09ad4752529b964e0e1d6c681979.

Binary files for release should be added to svn lib from now on.
2014-11-18 11:40:16 +01:00
Jens Verwiebe
5f7b273236 OSX/cpack: add a dummy bg and ds_store for dmg 2014-11-18 10:31:22 +01:00
Campbell Barton
0b6631414b CMake: update lite config 2014-11-17 19:40:48 +01:00
Sergey Sharybin
80d1d624d3 Support dynamic loading of SDL libraries
This is mainly to address old issue when one need to have SDL library installed
in order to use our official builds. Some hip distros already installs SDL,
but it's not quite the same across all the variety of the distros.

We also now switching to SDL-2.0, most of the distros have it in repositories
already, so it shouldn't be huge deal to install it if needed.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D878
2014-11-17 17:43:18 +05:00
Campbell Barton
080c1d4567 Error in last commit 2014-11-16 13:28:12 +01:00