Commit Graph

98 Commits

Author SHA1 Message Date
Matt Ebb
2be851c966 Blender TIFF support
* Removed dynamic linking libTIFF code and change it to static linking 
(built into the blender executable). Dynamic linking made things a 
fair bit more complicated and wasn't working at all before on OS X - 
the dylib didn't exist and wasn't being copied. Since TIFF is more heavily
depended upon now in Blender, it makes sense to make it less 'optional'
and more in line with other libraries.

I've updated both CMake and scons, and CMake on OS X/64bit works fine.
It's now up to other platform/build system maintainers to enable this for 
their respective platforms (Campbell will check it for linux). For windows,
and non-64bit osx, we need static libtiff libraries in /lib.

I've added options WITH_TIFF for CMake and WITH_BF_TIFF for scons,
so if blender won't build because of this, you should be able to disable 
these options until your build system has been updated.

* Bonus feature: while doing this, I added support for loading 16bit and 32bit 
per channel TIFFs - they get converted to Blender's float buffers. Handy for 
zbrush displacement maps!
2010-05-21 03:25:38 +00:00
Tom Musgrove
f2a8bb3498 this restores building on mingw with Collada support, also it restores cross compiling, thanks to Sergey Sharybin for the patch. Note that the icons for linux cross might not be committed here, if not i'll add them in another commit 2010-02-01 18:39:41 +00:00
Nathan Letwory
6a0a5b54ec Little fun feature for SCons users: set BF_LINE_OVERWRITE=True in your user-config.py or on command-line when BF_QUIET=True. This will reuse the same line of the previous compile message (Compiling ==>...). Warnings and other messages will still go on their own lines. Remember to set BF_LINE_OVERWRITE=False when you are redirecting the build output to a file 2010-01-14 13:42:15 +00:00
Campbell Barton
b895b2e48f - remove CPPFLAG XP_UNIX from CMake, Scons and Irix make, checked our own code and /usr/include, its only used in our netscape plugin.
- CMake on unix default OpenMP to enabled.
- Scons on linux default OpenMP to enabled.
- copying python is slow, for scons only copy if the directory has not been created.
2009-11-19 11:49:42 +00:00
Arystanbek Dyussenov
31258507d0 Merge of the COLLADA GSoC branch into trunk.
COLLADA code is disabled by default (it has dependencies requiring manual install).

SCons and CMake builds are supported on Windows and Linux, no Mac building yet. More on building COLLADA code: http://wiki.blender.org/index.php/User:Kazanbas/Building_Collada_Branch.

The detailed command log of the merge (can be useful for educational purposes):

branch=https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-chingachgook
# collada code
svn copy $branch/source/blender/collada source/blender/collada
# operator
svn merge -c 20401,20955,21077,24077,24079 $branch/source/blender/windowmanager/intern/wm_operators.c source/blender/windowmanager/intern/wm_operators.c
# menu
svn merge -c 24079 $branch/release/scripts/ui/space_info.py release/scripts/ui/space_info.py
# scons
svn merge -c 20398 $branch/source/blender/SConscript source/blender/SConscript
svn merge -c 20398,20691,20955,22726 $branch/tools/btools.py tools/btools.py
svn merge -c 20691,20955,22726 $branch/tools/Blender.py tools/Blender.py
svn merge -c 20398,20692,20955 $branch/config/linux2-config.py config/linux2-config.py
svn merge -c 22726 $branch/config/win64-vc-config.py config/win64-vc-config.py
svn merge -c 22726 $branch/config/win32-vc-config.py config/win32-vc-config.py
svn merge -c 24077 $branch/source/blender/windowmanager/SConscript source/blender/windowmanager/SConscript
# cmake
svn merge -c 23319,23905,24077,24158 $branch/CMakeLists.txt CMakeLists.txt
svn merge -c 23319 $branch/source/blender/CMakeLists.txt source/blender/CMakeLists.txt
svn merge -c 23319 $branch/source/creator/CMakeLists.txt source/creator/CMakeLists.txt
svn merge -c 23319 $branch/CMake/macros.cmake CMake/macros.cmake
svn merge -c 24077 $branch/source/blender/windowmanager/CMakeLists.txt source/blender/windowmanager/CMakeLists.txt
2009-10-30 15:35:50 +00:00
Damien Plisson
b8a7f844ca Mac:
Fixed gcc-4.0 compile error (cocoa)

Updated scons to build cocoa (32bit & 64bit) (Thx Jens Verwiebe for the patch):
- make sure right python is unzipped to app-bundle ( printing information at the end of compiling )
- make sure arch-setting appends needed flags ( depending on OSX-version obsolete sometimes but harmless )
- link correct frameworks depending on gfx-api ( cocoa/carbon)
- conscript prepared for cocoa objC-files
- link to openAL-framework, using the headers from blender-lib + the symbols in framework

Usage instruction:
The default build is Cocoa 32bit.
To change it, copy config/darwin-config.py to user-config.py in the blender folder, and edit:
- WITH_GHOST_COCOA & MACOSX_ARCHITECTURE variables to select cocoa/carbon, and the arch (i386, X86_64, ppc, ..)
- the libs options as usual
2009-10-27 13:40:41 +00:00
Brecht Van Lommel
cb44f29043 Fix #19574: winbuildinfo.h error when compiling with cmake on windows. I've now removed winbuildinfo.h code and let scons on window just set environment vars like other operating systems. Note that cmake still doesn't get the date information on windows, implementation is missing for this. 2009-10-19 16:55:51 +00:00
Campbell Barton
dadd8466d5 scons - ignore removing _tkinter.so when its not there 2009-10-08 19:32:06 +00:00
Nathan Letwory
86307b58c0 == SCons ==
* Unzip of python31.zip now works also for Python 2.5. Patch by b333rt (thanks again!)
2009-10-06 15:01:46 +00:00
Nathan Letwory
89df4a46fc * Unzip python bundle at the end of the build process. Patch by b333rt, thanks!
* remove /ARCH setting - is used only when building x86
2009-10-04 20:11:55 +00:00
Nathan Letwory
cea8e6b6ed * ensure mingw toolset is recognised properly for python debug when doing BF_DEBUG=1 2009-09-22 08:57:00 +00:00
Campbell Barton
e7abdd7d56 Better unix filesystem integration as documented here
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/Unix_FHS

for scons WITH_BF_FHS enabled an alternative layout eg.
scons WITH_BF_FHS=1 BF_INSTALLDIR="/usr/local"

for CMake just run "make install" after make (CMAKE_INSTALL_PREFIX is used for the base path)

Currently only scripts use both the system and user path correctly, other areas of blender have their own path code inline with lots of ifdefs, needs to be carefully updated.
2009-09-21 03:16:26 +00:00
Nathan Letwory
461cb87e1d == SCons ==
* apply a patch from b333rt. I modified to test for relative/absolute paths before doing mods by b333rt. Fixes troubles with using absolute paths in BF_BUILDDIR
2009-09-04 15:54:06 +00:00
Nathan Letwory
4c8d32b4bf == SCons ==
* Add sndfile support (False by default).
  Note: for this to work, make sure that FFMPEG-support is disabled.
2009-08-25 10:56:01 +00:00
Martin Poirier
eb6c5d7a7f New scons option (WITHOUT_BF_PYTHON_INSTALL) to disable copying python files from system 2009-08-19 01:03:34 +00:00
Campbell Barton
22e68ba1bb scons support for extracting python from the system on unix os's 2009-08-17 07:34:41 +00:00
Nathan Letwory
1e0fd0d4c1 == SCons ==
* add jack support for audio system.
  Note that for OSX jack support is still off by default, since
  I'm not sure about what goes where. OSX maintainers, please check and fix.
2009-08-17 01:16:50 +00:00
Joerg Mueller
6c5c58e057 2.5: Sound branch merge!
See mailing list for additional information.
2009-08-09 21:16:39 +00:00
Daniel Genrich
054ed5a50b Smoke:
* WITH_BF_FFTW3 flag --> fftw3 scons + cmake settings refined. 
* Disabled by default since mac + win32 libs missing. Works already on win64 + linux (with installed fftw3 libs)
2009-08-09 10:55:25 +00:00
Matt Ebb
fee10e5a40 * copy io scripts into osx bundle with scons, in post-build process 2009-07-28 10:57:36 +00:00
Matt Ebb
cc3c21f27c * scons changes for mac osx intel / precompiled python 3.1
Feedback (especially on < 10.5) would be most appreciated!
2009-07-27 22:15:17 +00:00
Nathan Letwory
2e854ec7cf SCons
* ensure all SConscripts are ready for win64-vc (where necessary).
* ensure we have proper _DEBUG flag for Python when we're doing a debug build.
* some cleaning up of linking etc.
* ensure /EHsc is there for game engine modules.
2009-07-16 19:41:28 +00:00
Campbell Barton
eed13b43b1 merged from trunk 20741:20848
* Missing changes to release/windows/installer
* Sequencer fixes in source/blender/src/seqaudio.c dont apply to 2.5
* brechts fix for #18855 r20763 wasnt merged, does this apply to 2.5?
2009-06-13 11:09:13 +00:00
Nathan Letwory
dee188df16 === SCons ===
* make the nsis installer script automatically use the Python version we build against
* bump Python version used
2009-06-12 15:37:23 +00:00
Brecht Van Lommel
c8b4cf9206 2.50:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r19820:HEAD

Notes:
* Game and sequencer RNA, and sequencer header are now out of date
  a bit after changes in trunk.
* I didn't know how to port these bugfixes, most likely they are
  not needed anymore.
  * Fix "duplicate strip" always increase the user count for ipo.
  * IPO pinning on sequencer strips was lost during Undo.
2009-06-08 20:08:19 +00:00
Martin Poirier
7eeb8ac01c Color proofing support with lcms (http://www.littlecms.com/).
Enable with WITH_LCMS (options have been added for scons).
lcms is very common on linux package managers, so no need to add in extern (IMHO). Libs for windows can be added to /lib

Code is mostly a proof of concept with hardcoded path for icc profile (taken from the lcms test suite).

Adding this now to svn so it doesn't rot on my hard drive. People interested in pushing it forward should feel free to dig in the code or poke me about it.
2009-05-17 16:19:13 +00:00
Diego Borghetti
405cf80eb8 Big, big commit!!
1) Remove WITH_FREETYPE2 from code, so now blender always need freetype2
2) Remove the old bmfont
3) Remove ftfont and bFTGL library
4) Implement a new BLF_draw_default function for place that still need/use
   the old BMF api.

I try to update both, scons and cmake, but I only can test with make, so
hope all work fine.

MSVC is broken, but I don't have Windows, things to search and fix are
any reference to WITH_FREETYPE2, FTGL and BMFONT (take in care that
blenkernel also have a BKE_bmfont.h, this don't have anything to do with bmfont).
        Always have to link/include the freetype2 library
        Remove any reference to libbmfont
        Remove any reference to libftfont
        Remove any reference to libbftgl (or libbFTGL)
2009-05-05 23:10:32 +00:00
Ken Hughes
6b48e25ba4 Change scon's ordering of static libraries to resolve problem on Linux 64-bit builds. 2009-04-24 20:17:42 +00:00
Nathan Letwory
cd83474960 2.5 / SCons
* ui layout scripts were not copied to bundle on OSX
  patch by Stephan Kassemeyer on ML
2009-04-16 21:51:20 +00:00
Brecht Van Lommel
d52400bfbd 2.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r18677:19317
Notes:
* Sequence transform strip uses G.scene global, this is commented
  out now, should be fixed.
* Etch-a-ton code was most difficult to merge. The files already in
  2.5 got merged, but no new files were added. Calls to these files
  are commented out with "XXX etch-a-ton". editarmature.c and
  transform_snap.c were complex to merge. Martin, please check?
* Game engine compiles and links again here for scons/make/cmake
  (player still fails to link).
2009-03-17 21:44:58 +00:00
Nathan Letwory
64dd45ef43 2.5 / Scons | Building on 64bit Windows
* add preliminary support for building Blender on 64bit Windows with _msvc_. The SConstruct should automatically detect if you are on a 64bit Windows and if you have that 64bit build is assumed. If you're not, 32bit build is assumed.
  NOTE: this is still very much wip, so your mileage may vary. Do please report on b25 taskforce ML in case of trouble.
  NOTE2: many of the libs are being linked in statically
  NOTE3: hopefully I didn't break anything for other build platforms (mingw, linux, osx).
  NOTE4: comes after NOTE3
2009-02-20 22:08:02 +00:00
Nathan Letwory
c3d74547be SCons:
* giving compileflags, cc_compileflags and cxx_compileflags to BlenderLib() now actually overrides any other setting (so there's no unclarity when ie. conflicting options are being specified in REL_CFLAGS et al). These are set after either release or debug flags, but before any *_WARN flags (so those stay maintained).
* add cxx_compileflags for GE parts on win32-vc to have better performance.
* NOTE: if platform maintainers (OSX and Linux) could check and do the same for their systems. Not vital, but probably very, very much welcomed by GE users.
2009-02-15 23:26:00 +00:00
Nathan Letwory
3c886d7c38 * commit r17900 by Genscher was wrong.
- Instead of defining such defines for the entire codebase in Blender.py, add
    the right checks and definitions to the places where it matters.
  - Only check+set WITH_BULLET instead of also GAMEBLENDER=1
  - NOTE: No global defines allowed in BlenderLib.
2008-12-17 05:40:40 +00:00
Daniel Genrich
9776749438 Reverting revision 17417 which broke cloth collisions which check also in blenkernel/intern for WITH_BULLET 2008-12-17 00:41:07 +00:00
Brecht Van Lommel
ec00764dd2 2.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17434:HEAD 2008-12-14 17:32:24 +00:00
Nathan Letwory
f4d823fa02 * blenderlite works now on windows too.
- when WITH_BF_SDL=True entry-point is mainCTRStartup (due to SDL)
  - with WITH_BF_SDL=False this should be just main
2008-12-07 13:22:50 +00:00
Campbell Barton
bbc00befe7 some scons command line args were not working since recent changes-
scons CCFLAGS="-O0 -ggdp3" 
for example would pass on the args including the "'s to scons, causing the build to fail.
2008-11-18 05:47:19 +00:00
Campbell Barton
3a1cfa5015 Added BF_PROFILE_LINKFLAGS, Compiling with BF_PROFILE=1 was also throwing a python error. 2008-11-17 10:43:12 +00:00
Brecht Van Lommel
b3c238e8bc 2.5: merge with trunk, previous merge was only up to yesterday.
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r17416:HEAD
2008-11-12 22:03:11 +00:00
Nathan Letwory
b8fb31e236 Remove BGE defines from highest level and define only there where needed. This prevents scons from doing complete rebuilds when toggling BGE related options. 2008-11-11 22:48:47 +00:00
Nathan Letwory
7e4db234ce previous commits showed that the absolute path problem was even deeper. This should fix yet again some of the problems with giving them to BF_BUILDDIR 2008-11-11 21:37:53 +00:00
Nathan Letwory
7850320ed2 fix for another place where absolute paths for BF_BUILDDIR where a problem (generating results in the wrong place) 2008-11-11 20:46:46 +00:00
Nathan Letwory
2961cdcdea Fix typo that prevented CC_WARN from being added to build commands 2008-11-11 20:01:45 +00:00
Nathan Letwory
0a8e8c8c9e * add Brecht's small patch to make values to BF_QUICK and BF_QUICKDEBUG function as partial search entries.
- this means you can do BF_QUICK=bf_ and it would build all libs that contain bf_ in their name. This makes
    it easier to use, since you don't have to remember the exact names

* Update documentation to mention scons-local.
2008-11-09 21:00:49 +00:00
Nathan Letwory
0a825b4d72 * fix typo found by brecht 2008-11-07 19:49:55 +00:00
Nathan Letwory
2d80262759 === SCons ===
* BlenderLib now expects lists for all compiler related flags (release, profile, debug, warn).
  I changed the default config files, but do double-check your user-config files, esp. if you did
  a full copy of an old default platform config
2008-11-04 22:46:43 +00:00
Nathan Letwory
9196723581 * remove redundant comment 2008-11-04 21:14:54 +00:00
Nathan Letwory
0bd7934be7 * Minimum SCons version is now 1.0.0
- Code has been changed to reflect this (ie. deprecated functions are not anymore used)
* clean up the C and C++ compiler flags mess.
  - in the environment construction of BlenderLib all the compile flag governing options have been split in the *C*, *CC* and *CXX* containing equivalents.
    C is for C compiler only flags. CC is for C and C++ compiler flags and CXX is for C++ compiler only flags.
    All the platform default config files need to be double checked and fixed wherever it looks necessary. Either DIY, or send me a note with needed changes.
  - a start for the BlenderLib parameter list has been made - all the SConscripts need to be checked and modified to hand in flags properly.
* A theeth request: make -jN settable in the config file.
  - I give you BF_NUMJOBS, which is set to 1 by default. In your user-config.py, set BF_NUMJOBS=4 to have 4 parallel jobs handled. Yay.
2008-10-30 23:55:07 +00:00
Campbell Barton
ac4ff83ca6 added scons option BF_WITH_PYTHON (defined as DISABLE_PYTHON) 2008-10-28 18:47:13 +00:00
Nathan Letwory
2ecf987dc6 * Minor cleanup of SCons files
- cleanup of boolean usage - use True and False now instead of 'true'/'false' or 0/1
- changed SConscripts accordingly
2008-10-22 11:28:10 +00:00