[Bf-committers] Get Cmake on-par with scons (docs, batch files and configuration scripts)

Yousef Harfoush bat3a at msn.com
Mon Dec 21 01:34:00 CET 2015


i managed to build blender using cmake and mingw, but i get this msg on run:
C:\Program Files\Blender>blender
Read new prefs: C:\Users\*****\AppData\Roaming\Blender Foundation\Blender\2.76\config\userpref.blend
Error: EXCEPTION_STACK_OVERFLOW
--------------
i build with full config, except :
SNDFILE
OSL
GAMEENGINE
JACK
PLAYER
OPENSUBDIV

also i get errors -which i resolved- on make install from missing dlls from the mingw64 lib:
-sqlite3.dll which i copied from msvc64 lib folder.
-SDL2.dll which i also copied from msvc lib folder, BUT on runtime blender asks for sdl.dll so i renamed it.
-wrap_oal.dll which i renamed the openAL dll file into it.


also why the building target using mingw is [C:\Program Files\Blender] while using msvc is the [bin] folder?


Regards
Yousef Harfoush
bat3a at msn.com



> To: bf-committers at blender.org
> From: matmenu at live.fr
> Date: Sun, 20 Dec 2015 21:16:55 +0100
> Subject: Re: [Bf-committers] Get Cmake on-par with scons (docs, batch files and configuration scripts)
> 
> By the way, I give the cmake command to get the same build as with the 
> full cmake script:
> cmake ..\blender -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release 
> -DWITH_BUILDINFO=ON -DWITH_BULLET=ON -DWITH_CODEC_AVI=ON 
> -DWITH_CODEC_FFMPEG=ON -DWITH_CODEC_SNDFILE=ON -DWITH_CYCLES=ON 
> -DWITH_CYCLES_OSL=ON -DWITH_FFTW3=ON -DWITH_LIBMV=ON 
> -DWITH_LIBMV_SCHUR_SPECIALIZATIONS=ON -DWITH_GAMEENGINE=ON 
> -DWITH_COMPOSITOR=ON -DWITH_FREESTYLE=ON -DWITH_GHOST_XDND=ON 
> -DWITH_IK_SOLVER=ON -DWITH_IK_ITASC=ON -DWITH_IMAGE_CINEON=ON 
> -DWITH_IMAGE_DDS=ON -DWITH_IMAGE_FRAMESERVER=ON -DWITH_IMAGE_HDR=ON 
> -DWITH_IMAGE_OPENEXR=ON -DWITH_IMAGE_OPENJPEG=ON -DWITH_IMAGE_REDCODE=ON 
> -DWITH_IMAGE_TIFF=ON -DWITH_INPUT_NDOF=ON -DWITH_INTERNATIONAL=ON 
> -DWITH_JACK=ON -DWITH_LZMA=ON -DWITH_LZO=ON -DWITH_MOD_BOOLEAN=ON 
> -DWITH_MOD_FLUID=ON -DWITH_MOD_REMESH=ON -DWITH_MOD_SMOKE=ON 
> -DWITH_MOD_OCEANSIM=ON -DWITH_AUDASPACE=ON -DWITH_OPENAL=ON 
> -DWITH_OPENCOLLADA=ON -DWITH_OPENCOLORIO=ON -DWITH_OPENMP=ON 
> -DWITH_PYTHON_INSTALL=ON -DWITH_RAYOPTIMIZATION=ON -DWITH_SDL=ON 
> -DWITH_X11_XINPUT=ON -DWITH_X11_XF86VMODE=ON -DWITH_PLAYER=ON 
> -DWITH_MEM_JEMALLOC=ON
> 
> Am 20/12/2015 um 20:59 schrieb matmenu:
> > Ok so I start a new thread then following discussion regarding cmake
> > switch. I know they are not due to cmake, it's just the cmake wiki-docs
> > and scripts needs some tweeks and/or a batch file to bring it on scons
> > level. At the moment, following the docs here
> > http://wiki.blender.org/index.php/Dev:Doc/Building_Blender/Windows/msvc/CMake
> > we have many steps to follow, it breaks when switching branches or
> > adding new functionnality unlike scons and the final build is missing
> > many parts compared to official builds. Here are things that I think
> > should be fixed before making the final switch.
> >
> > - Have a one line command for cmake just like for scons (python
> > scons\scons.py -j 4) to build  a version of blender similar in
> > functionality and build parameters to the official/buildbot ones. "make
> > full" like on linux seems good.
> > I tried Antony .bat file, but it doesn't find many libs and fails .
> > Using the Cmake GUI or scons works. Error message are like those one:
> > --------------------------
> > -- Could NOT find JPEG (missing:  JPEG_LIBRARY JPEG_INCLUDE_DIR)
> > -- Found Freetype:
> > C:/Users/test/blender_git/blender/../lib/windows_vc12/freetype/lib/freetype2ST.lib
> > --------------------------
> > - It may be due to temporary errors in the code, but in our case with a
> > full GUI build (only way working for us atm), 2 modules fails to compile
> > with cmake since about 1 week. Buildbots however seems to be ok?
> >
> > Am 20/12/2015 um 19:57 schrieb Sergey Sharybin:
> >> As for the issues with default config on msvc+cmake -- i never really ad
> >> issues, it always working "out-of-the-box" for me and likely for other
> >> active developers. However, we can't _always_ guarantee latest Git is
> >> always compilable, it's possible to have occasional compilation errors. If
> >> it's something bigger for you -- please do a fuller report here in the ML
> >> (in a separate thread tho!). Such issues are not something which is caused
> >> by the build system and should be reviewed anyway and separately.
> >>
> >> As for the release-like configuration -- here are the points:
> >>
> >> - Default configuration _must_ be identical on all platforms
> >> - Some of the features requires 3rd party libraries
> >> - We can only have pre-compiled libraries for WIndows and OSX, for Linux
> >> one is doomed to either use library from the repository or compile himself
> >> (which isn't always trivial)
> >>
> >> So for the default configuration we prefer to have configuration which does
> >> not require some obscure libraries.
> >>
> >> On another hand, however, in GNU-like environment it's simple to do full
> >> build:
> >>
> >>     make full  # invoke from the sources root directory
> >>
> >> Perhaps we can have something similar on Windows? .bat script maybe?
> >>
> >> Switching branches is a weird thing. I've got both SCons and CMake failing
> >> at some points. This seems to be much better with latest versions of CMake
> >> tho. And yeah, you don't really need to force full-cmake regeneration after
> >> changing the branch. For the compilation you can simply invoke building
> >> command (msbuild or name, depending on the generator).
> >>
> >> So all in all mentioned issues seems something what we can address and not
> >> really caused by the building system on it's own. But that's for the
> >> feedback :)
> >>
> >>
> >>
> >>
> >> On Sun, Dec 20, 2015 at 11:22 PM, Antony Riakiotakis <kalast at gmail.com>
> >> wrote:
> >>
> >>> You don't need to open visual studio. You can just use nmake from
> >>> command line. What I personally do is have a nice batch file to do the
> >>> job for me. It only works from a developer command prompt for visual
> >>> studio. Here are its contents:
> >>>
> >>> cd c:\src\blender
> >>> git checkout master
> >>> git pull --rebase
> >>> git submodule update --recursive --remote
> >>>
> >>> cd c:\src\blender-build
> >>> del CMakeCache.txt
> >>> cmake ..\blender -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release
> >>> -DWITH_RAYOPTIMIZATION=ON -DWITH_CODEC_FFMPEG=OFF -DWITH_PLAYER=ON
> >>> -DWITH_IMAGE_OPENEXR=ON -DWITH_OPENCOLLADA=ON -DWITH_CYCLES=ON
> >>> -DWITH_OPENMP=ON -DWITH_CYCLES_CUDA_BINARIES=OFF
> >>> -DWITH_MOD_OCEANSIM=ON -DWITH_FFTW3=ON -DWITH_LIBMV=ON
> >>> -DCMAKE_VERBOSE_MAKEFILE=OFF -DWITH_CYCLES_OSL=ON
> >>> -DWITH_IMAGE_REDCODE=OFF -DWITH_OPENSUBDIV=ON
> >>> -DWITH_PYTHON_INSTALL_NUMPY=OFF
> >>>
> >>> nmake install
> >>>
> >>> On 20/12/2015, matmenu <matmenu at live.fr> wrote:
> >>>> Exactly what Antony said. Nobody will care what the building system is,
> >>>> if it works out of the box. At the moment, it works perfect on Linux,
> >>>> but it's still not working flawlessly on windows for me and other
> >>>> friends. We made a little list of things that don't work properly:
> >>>> - When using the cmake_full script, 2 modules fail to build in VS2013
> >>>> (blenderplayer-related).
> >>>> - "cmake_full" script is not default.
> >>>> - With Scons it is a one-line cmd that compiles a release-like build in
> >>>> one step. With cmake, following the wiki doc, we have to 1) Start the
> >>>> GUI and choose the folders 2) configure, change some parameters manually
> >>>> 3)generate solutions, 4) open VS 5) switch from debug (default) to
> >>>> release 6) start the building process.
> >>>> - Switching branches is a pain. Everytime we switch the branch, we have
> >>>> to 1)delete cache, 2)configure and add my cutom params manually agin
> >>>> (with scons, it was just added to the scons script) 3) generate solution
> >>>> etc... otherwise, not all files are taken into account (for example for
> >>>> object_nodes branch which has a lot of new files) and build fails. With
> >>>> scons, the git checkout was enough to have the branch-specific scons
> >>>> script and run the one-line again.
> >>>> So I agree that the best experience on Linux is with Cmake, but on
> >>>> Windows, it's still far away from ideal. Maybe just because I don't know
> >>>> Cmake on windows well and the wiki doc is not adapted, but either it's
> >>>> in doc or scripts or both, there is still some things to do to make it a
> >>>> good switch. Fixing windows specific-bugs is already not funny, so it
> >>>> would be good to make the build process as easy as with scons.
> >>>>
> >>>>
> >>>> Am 20/12/2015 um 16:37 schrieb Antony Riakiotakis:
> >>>>> +1 to drop scons. It may be easy to setup for casual builders, but so
> >>>>> is cmake, if we provide good defaults.
> >>>>>
> >>>>> On 20/12/2015, Thomas Dinges <blender at dingto.org> wrote:
> >>>>>> I use SCons too, but I also use CMake from time to time, so it's not a
> >>>>>> big deal to switch over.
> >>>>>>
> >>>>>> Therefore, I fully support removing SCons. Not sure we really need to
> >>>>>> wait for 2.8x to do it though, imho it's fine to drop it now, we still
> >>>>>> need 1-2 months before a new 2.7x release I guess, should be time
> >>> enough
> >>>>>> to communicate the change.
> >>>>>>
> >>>>>> Thomas
> >>>>>>
> >>>>>> Am 20.12.15 um 15:22 schrieb Mike Erwin:
> >>>>>>> I use SCons but support the idea of having only one build system.
> >>> Never
> >>>>>>> had
> >>>>>>> much luck building Blender with CMake but am willing to learn!
> >>>>>>>
> >>>>>>> -- Mike
> >>>>>>> _______________________________________________
> >>>>>>> Bf-committers mailing list
> >>>>>>> Bf-committers at blender.org
> >>>>>>> http://lists.blender.org/mailman/listinfo/bf-committers
> >>>>>> _______________________________________________
> >>>>>> Bf-committers mailing list
> >>>>>> Bf-committers at blender.org
> >>>>>> http://lists.blender.org/mailman/listinfo/bf-committers
> >>>>>>
> >>>>> _______________________________________________
> >>>>> Bf-committers mailing list
> >>>>> Bf-committers at blender.org
> >>>>> http://lists.blender.org/mailman/listinfo/bf-committers
> >>>> _______________________________________________
> >>>> Bf-committers mailing list
> >>>> Bf-committers at blender.org
> >>>> http://lists.blender.org/mailman/listinfo/bf-committers
> >>>>
> >>> _______________________________________________
> >>> Bf-committers mailing list
> >>> Bf-committers at blender.org
> >>> http://lists.blender.org/mailman/listinfo/bf-committers
> >>>
> >>
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at blender.org
> > http://lists.blender.org/mailman/listinfo/bf-committers
> 
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
 		 	   		  


More information about the Bf-committers mailing list