[Bf-committers] SCons build system future

Sergey Sharybin sergey.vfx at gmail.com
Mon Dec 21 14:58:13 CET 2015


You should either use visual studio command line promt or invoke some
configuation manually. For the 32bit please add this before the cmake
command:

call "c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"
amd64

for the 32bit you can simply replace amd64 with x86.

On Mon, Dec 21, 2015 at 6:53 PM, Antony Riakiotakis <kalast at gmail.com>
wrote:

> Did you start your batch file from a visual studio 64 bit command line
> (It's under visual studio folder in program launcher)? It's important, else
> the system will think you're compiling for 32 bits and search for the 32bit
> windows folder.
>
> On 21 December 2015 at 14:29, matmenu <matmenu at live.fr> wrote:
>
> > Thanks Owen, but I compile Blender on Linux since years with cmake and
> > on windows since some month with scons. The problem doesn't come from
> > the dependencies, as they are all from latest svn in lib\win64_vc12 and
> > blender compiles well when building from vs2013 UI. The problem is with
> > the .bat file given by Antony. I post it again as requested by sergey
> > (note that it completly fails to build, so it's not only a waring):
> >
> > ----------------------.bat file----------------------
> >
> > cd %HOMEPATH%\blender_git\blender
> > git checkout master
> > git pull --rebase
> > git submodule update --recursive --remote
> >
> > cd %HOMEPATH%\blender_git\blender-build
> > del CMakeCache.txt
> > 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
> >
> > nmake install
> > ------------------------------------------------
> >
> > and this is the output of this command:
> >
> >
> >
> ----------------------------------------------------------------------------
> > -- Performing Test SUPPORT_SSE_BUILD
> > -- Performing Test SUPPORT_SSE_BUILD - Success
> > -- SSE Support: detected.
> > -- Performing Test SUPPORT_SSE2_BUILD
> > -- Performing Test SUPPORT_SSE2_BUILD - Success
> > -- SSE2 Support: detected.
> > -- Performing Test HAVE_STDBOOL_H
> > -- Performing Test HAVE_STDBOOL_H - Success
> > -- 32 bit compiler detected.
> > -- Visual Studio 2013 detected.
> > -- Found ZLIB:
> >
> C:/Users/test/blender_git/blender/../lib/windows_vc12/zlib/lib/libz_st.lib
> > -- Could NOT find PNG (missing:  PNG_LIBRARY PNG_PNG_INCLUDE_DIR)
> > CMake Warning at CMakeLists.txt:1333 (message):
> >    Using HARDCODED libpng locations
> >
> >
> > -- 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
> > CMake Warning at CMakeLists.txt:1401 (find_package):
> >    By not providing "FindFFMPEG.cmake" in CMAKE_MODULE_PATH this project
> > has
> >    asked CMake to find a package configuration file provided by
> > "FFMPEG", but
> >    CMake did not find one.
> >
> >    Could not find a package configuration file provided by "FFMPEG" with
> > any
> >    of the following names:
> >
> >      FFMPEGConfig.cmake
> >      ffmpeg-config.cmake
> >
> >    Add the installation prefix of "FFMPEG" to CMAKE_PREFIX_PATH or set
> >    "FFMPEG_DIR" to a directory containing one of the above files.  If
> > "FFMPEG"
> >    provides a separate development package or SDK, be sure it has been
> >    installed.
> >
> >
> > CMake Warning at CMakeLists.txt:1403 (message):
> >    Using HARDCODED ffmpeg locations
> >
> >
> > -- Could NOT find OpenEXR (missing:  _openexr_LIBRARIES
> > OPENEXR_INCLUDE_DIR)
> > CMake Warning at CMakeLists.txt:1421 (message):
> >    Using HARDCODED OpenEXR locations
> >
> >
> > -- Could NOT find TIFF (missing:  TIFF_LIBRARY TIFF_INCLUDE_DIR)
> > CMake Warning at CMakeLists.txt:1440 (message):
> >    Using HARDCODED libtiff locations
> >
> >
> > -- Could NOT find Boost
> > CMake Warning at CMakeLists.txt:1482 (message):
> >    USING HARDCODED boost locations
> >
> >
> > -- Could NOT find OpenImageIO (missing:  OPENIMAGEIO_LIBRARY
> > OPENIMAGEIO_INCLUDE_DIR)
> > CMake Warning at CMakeLists.txt:1552 (message):
> >    LLVM debug libs not present on this system.  Using release libs for
> > debug
> >    builds.
> >
> >
> > -- OSL not found
> > CMake Error at CMakeLists.txt:2249 (message):
> >    Apple and Windows require pre-compiled libs at:
> >    'C:/Users/test/blender_git/blender/../lib/windows_vc12'
> >
> >
> > -- Configuring incomplete, errors occurred!
> > See also
> > "C:/Users/test/blender_git/blender-build/CMakeFiles/CMakeOutput.log".
> > See also
> > "C:/Users/test/blender_git/blender-build/CMakeFiles/CMakeError.log".
> >
> > C:\Users\test\blender_git\blender-build>nmake install
> >
> > Microsoft (R) Program Maintenance Utility Version 12.00.21005.1
> > Copyright (C) Microsoft Corporation.  All rights reserved.
> >
> > NMAKE : fatal error U1073: don't know how to make 'install'
> > Stop.
> >
> > C:\Users\test\blender_git\blender-build>
> >
> >
> > --------------------------------------------------------------------
> >
> >
> > Am 21/12/2015 um 09:04 schrieb Owen Hogarth II:
> > > Did you compile and install all of Blender dependencies or you just ran
> > > this command after getting the code from github?
> > >
> > > If your having trouble you can use the file located here:
> > > cd [blender git location]
> > > ./blender/build_files/build_environment/install_deps.sh
> > >
> > > that will do a lot of the heavy lifting for you.
> > >
> > > If you want to manually build and install the dependencies. You can use
> > > this command
> > >
> > > cd [blender git location]
> > > ./blender/build_files/build_environment/install_deps.sh --show-deps
> > >
> > > to get a print out of all the dependencies then manually install those
> > to a
> > > sane location.
> > >
> > > Once you install those dependencies if you then have to point CMAKE to
> > > where you installed those so that it can find them.
> > >
> > > I had some trouble with the install_deps.sh file but after a while it
> all
> > > built successfully.
> > >
> > > I personally like the cmake approach better but if Blender requires
> > > external libraries I think it would be worth looking into setting up
> > > blender as an external_project structure since that would allow you to
> > > download anything and do really advanced builds:
> > > https://cmake.org/cmake/help/v3.0/module/ExternalProject.html
> > >
> > > The problem with that is that external projects and add_subdirectory
> > don't
> > > play nicely with each other and require a lot of hacks..... to get them
> > > working together.
> > >
> > > On Mon, Dec 21, 2015 at 3:30 PM, matmenu <matmenu at live.fr> wrote:
> > >
> > >> As Sergey, Antony and you all agreed on making a batch file, would it
> be
> > >> possible to put it in the official git? It would maybe resolve some of
> > >> the issues that are specific to the GUI workflow? For the exact error
> > >> message, I'll post them tonight as soon as I'm back home.
> > >> Here is the version from Antony modified to have all the feature set
> of
> > >> the full cmake version:
> > >>
> > >> ------------------------------------------------
> > >>
> > >> cd %HOMEPATH%\blender_git\blender
> > >> git checkout master
> > >> git pull --rebase
> > >> git submodule update --recursive --remote
> > >>
> > >> cd %HOMEPATH%\blender_git\blender-build
> > >> del CMakeCache.txt
> > >> 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
> > >>
> > >> nmake install
> > >> ------------------------------------------------
> > >> Note that on my computer, this batch file fails to find most
> librairies
> > >> and I have no idea why.
> > >>
> > >>
> > >> Am 21/12/2015 um 01:50 schrieb Campbell Barton:
> > >>> Some of the issues you've described seems quite strange and I've
> never
> > >>> encountered on MS-Windows+MSVC.
> > >>>
> > >>> On Mon, Dec 21, 2015 at 5:08 AM, 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).
> > >>> What fails? can you link to build error?
> > >>>
> > >>>> - "cmake_full" script is not default.
> > >>> This is also the case with CMake on Linux/OSX,
> > >>> though the reasoning for this on Linux is that linking errors with
> > >>> FFMPEG/Collada/LLVM are more common - and the libraries are not
> > >>> essential in many cases.
> > >>>
> > >>>> - 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.
> > >>> On Unix systems we have a convenience makefile that handles this
> > >>> ('make' in the source dir to configure+build+install).
> > >>> We could have a BAT file for Windows to do the equivalent steps.
> > >>>
> > >>>> - 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.
> > >>> I've never heard of switching branches needing to delete cache,
> > >>> What custom params are you having to set each time?
> > >>>
> > >>>> 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.
> > >>> With the issues you run into, its best if we can try to redo and fix
> > >> them.
> > >>>> 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
> >
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>



-- 
With best regards, Sergey Sharybin


More information about the Bf-committers mailing list