Resolved the 'inconsistent newlines' merge error by updating my svn client.
The error was caused by a bug in svn client (http://subversion.tigris.org/issues/show_bug.cgi?id=3262) that was
fixed in 1.5.5.
Fixed conflicts in image.c, object_edit.c, wm_operators.c, source/creator/CMakeLists.txt and CMakeLists.txt.
Merge didn't remove some files that were moved/renamed in trunk, svn reported 'Skipped [filename]' on these files.
I removed them with:
svn --force remove release/io
svn --force remove release/ui
svn --force remove source/blender/editors/preview
svn --force remove source/blender/editors/physics/ed_fluidsim.c
svn --force remove source/blender/editors/physics/editparticle.c
svn --force remove source/blender/editors/physics/ed_pointcache.c
svn --force remove source/blender/editors/mesh/mesh_layers.c
Now, before merging into trunk, need to update collada code so it builds ok and fix the possibility to build without
collada.
The WITH_LIBS10.5 option switches the use of the libs included in the darwin-9.x.universal folder
Use the CMAKE_OSX_ARCHITECTURES variable to set the architecture you want to build for (e.g. i386, x86_64). Only one at a time, this value is used to select the python_?.zip that is bundled with the app.
WITH_COCOA (build Cocoa ghost and not Carbon) is now on by default.
GHOST*Cocoa.mm & .h files creation
First Cocoa version of GHOST_SystemCocoa.mm
CMake files update to allow optional (WITH_COCOA option) Cocoa version build - disabled by default
SCons files are not updated to allow Cocoa build (the ghost .mm files)
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.
* first working changes to get blenderplayer linking
* blenderplayer/ moved into source/ (CMakeLists.txt changed for that too)
* added externs for bprogname to gp_ghost, so that it links properly
* Updated UserDef RNA so that only compiled in audio drivers are displayed. (Missing definitions in Makefiles, someone fix please!)
* Fixed libsndfile and ffmpeg building with CMake with msvc.
* WITH_GAMEENGINE and WITH_BULLET were being added to the compiler flags, only define in areas that use them.
* removed C++ unix warnings by adding -Wno-invalid-offsetof -Wno-sign-compare. the py api uses invalid offsets for attributes.
* removed C unix -Wnested-externs warning, these are everywhere in blender.
* removed unused BGE python headers
* undefine _XOPEN_SOURCE and _POSIX_C_SOURCE in the BGE, python redefines.
* renamed USE_BULLET in collision.c to WITH_BULLET for consistency
- set python to 3.1 on linux (dont use FindPackage for now)
- remove duplicate settings (disable cache for copied settings, was quite confusing)
- added an option WITH_INSTALL, when disabled scripts and language files wont be copied to the target dir (better for quick builds)
- remove .svn (was still CVS), and pyc/pyc files after copy
- copy the 'io' as well as 'ui'
- CMake, use FIND_PACKAGE(Freetype) for unix/linux
- Only link with libdl.so on linux
- use statvfs rather then statfs for netbsd (size of statfs wasnt available)
- add x11 include path with ghost, glu.
-under UNIX, it uses FIND_PACKAGE() to find the jpg, png and zlib libraries
-it removes the explictely listed search paths, which are already searched by
default, so it is not necessary to list them again explicitely
-it removes the include directories /usr/include
and /usr/local/include. /usr/include is used by default, all other
directories should be searched via find_package/find_file and then added to
the include directories.
-replaces the include() commands for the FindXXX.cmake
modules with the appropriate find_package(Foo) calls.
This doesn't change the behaviour, but gives more features.
E.g. you could now say
find_package(JPEG REQUIRED)
and cmake will abort with an error if the package is not found.
Also it makes it clearer what is going on.
Additionally the patch removes the line
INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
in the Windows if-branch.
Why was this there ? This file should be included anyway under Windows when
using the MS compiler.
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.
Cleanup commit:
- Yafray removed. Also did cmake/scons files, but didn't compile with it,
so test would be appreciated :)
- Removed old crap from Windows release dir, should be checked on
further by windows release builder later.
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)
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).
I also did some small tweaks. removed ifdef's for pluginapi
didn't need them there.
Fixed it so the filesel shows jp2 as image files.
(I'm going to do makefiles next)
Kent
- remove Verse support. This will be brought back in The Future (probably jiri + me)
This means 5k lines less in blenkernel.
- fix two small errors for global cleanup, now compiles properly with FFMPEG enabled too.
fix:
* web plugin works on opera too
sandboxing:
* added AppArmor configuration
* enabled privilege separation for the web plugin: the blender player can run as a lower privileged user, xauth token is generated on the fly .
testing:
* web plugin tested on ubuntu 32/64bit, fedora and FreeBSD
Changed only cmake build script: AppArmor is enabled by default, if you want to enable privilege separation instead, you have to change the cmake variable WEBPLUGIN_SANDBOX_MODE to privsep (or none to
disable it).
Warning: source/gameengine/GamePlayer/xembed/blenderplayer-wrapper.c must be setuid root in order to change user successfully
buttons_logic.c - NULL checks for game logic buttons, linking in groups with some logic links to objects outsude the group could crash blender. There are NULL checks for this case elsewhere so I assume it should be supported.
CMakeLists.txt - remove YESIAMSTUPID option, is not used anymore.
FSA requires exr, so I've disabled the buttons too in that case. I also
noticed CMake doesn't enable openexr by default, but a lot of the render
code relies on it, so I've enabled it by default now.
- fixed CMAKE files for Win32 for new ffmpeg libs
- ignore libc in debug build.
TODO: debug build with OpenEXR still fails with unresolved externals due to /MTd flag.
commit creator.c, so if this file is compiled and the macro YESIAMSTUPID
is defined, the executable will run, with a mean warning printed to stdout.
Enable in cmake by setting YESIAMSTUPID to On, or with make by putting
"export NAN_YESIAMSTUPID=true" in user-def.mk.
cmake always says OPENEXR_INC not found despite the fact that I have
the headers and it finds them correctly during building.
<digression>
There seems to be some conflict between setting, configuring as an
option, and autofinding files for some of the dependencies, and I don't
know how to resolve this.
</digression>
because it gets set to one value or another on most platforms.
On windows, only link to DirectX if WITH_OPENAL is set to ON
(it isn't needed otherwise). This OpenAL stuff is pretty confusing!