[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44947] branches/soc-2009-yukishiro: start from scratch.

Jingyuan Huang jingyuan.huang at gmail.com
Sat Mar 17 20:32:50 CET 2012


Revision: 44947
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44947
Author:   yukishiro
Date:     2012-03-17 19:32:49 +0000 (Sat, 17 Mar 2012)
Log Message:
-----------
start from scratch. sync to trunk

Modified Paths:
--------------
    branches/soc-2009-yukishiro/CMakeLists.txt
    branches/soc-2009-yukishiro/COPYING
    branches/soc-2009-yukishiro/SConstruct

Added Paths:
-----------
    branches/soc-2009-yukishiro/GNUmakefile
    branches/soc-2009-yukishiro/build_files/
    branches/soc-2009-yukishiro/build_files/buildbot/
    branches/soc-2009-yukishiro/build_files/buildbot/config/
    branches/soc-2009-yukishiro/build_files/buildbot/config/user-config-i686.py
    branches/soc-2009-yukishiro/build_files/buildbot/config/user-config-player-i686.py
    branches/soc-2009-yukishiro/build_files/buildbot/config/user-config-player-x86_64.py
    branches/soc-2009-yukishiro/build_files/buildbot/config/user-config-x86_64.py
    branches/soc-2009-yukishiro/build_files/buildbot/master.cfg
    branches/soc-2009-yukishiro/build_files/buildbot/master_unpack.py
    branches/soc-2009-yukishiro/build_files/buildbot/slave_compile.py
    branches/soc-2009-yukishiro/build_files/buildbot/slave_pack.py
    branches/soc-2009-yukishiro/build_files/buildbot/slave_test.py
    branches/soc-2009-yukishiro/build_files/cmake/
    branches/soc-2009-yukishiro/build_files/cmake/Modules/
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindFftw3.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindGLEW.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindJack.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindJeMalloc.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindOpenCOLLADA.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindOpenEXR.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindOpenImageIO.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindOpenJPEG.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindPCRE.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindPythonLibsUnix.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindSndFile.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindSpacenav.cmake
    branches/soc-2009-yukishiro/build_files/cmake/Modules/FindXML2.cmake
    branches/soc-2009-yukishiro/build_files/cmake/RpmBuild.cmake
    branches/soc-2009-yukishiro/build_files/cmake/buildinfo.cmake
    branches/soc-2009-yukishiro/build_files/cmake/cmake_consistency_check.py
    branches/soc-2009-yukishiro/build_files/cmake/cmake_consistency_check_config.py
    branches/soc-2009-yukishiro/build_files/cmake/cmake_netbeans_project.py
    branches/soc-2009-yukishiro/build_files/cmake/cmake_qtcreator_project.py
    branches/soc-2009-yukishiro/build_files/cmake/cmake_static_check_cppcheck.py
    branches/soc-2009-yukishiro/build_files/cmake/cmake_static_check_sparse.py
    branches/soc-2009-yukishiro/build_files/cmake/cmake_static_check_splint.py
    branches/soc-2009-yukishiro/build_files/cmake/config/
    branches/soc-2009-yukishiro/build_files/cmake/config/blender_headless.cmake
    branches/soc-2009-yukishiro/build_files/cmake/config/blender_lite.cmake
    branches/soc-2009-yukishiro/build_files/cmake/config/bpy_module.cmake
    branches/soc-2009-yukishiro/build_files/cmake/example_scripts/
    branches/soc-2009-yukishiro/build_files/cmake/example_scripts/cmake_linux_install.sh
    branches/soc-2009-yukishiro/build_files/cmake/example_scripts/make_quicky.py
    branches/soc-2009-yukishiro/build_files/cmake/example_scripts/make_quiet.sh
    branches/soc-2009-yukishiro/build_files/cmake/macros.cmake
    branches/soc-2009-yukishiro/build_files/cmake/packaging.cmake
    branches/soc-2009-yukishiro/build_files/cmake/project_info.py
    branches/soc-2009-yukishiro/build_files/cmake/project_source_info.py
    branches/soc-2009-yukishiro/build_files/package_spec/
    branches/soc-2009-yukishiro/build_files/package_spec/build_archive.py
    branches/soc-2009-yukishiro/build_files/package_spec/build_debian.sh
    branches/soc-2009-yukishiro/build_files/package_spec/debian/
    branches/soc-2009-yukishiro/build_files/package_spec/debian/changelog
    branches/soc-2009-yukishiro/build_files/package_spec/debian/compat
    branches/soc-2009-yukishiro/build_files/package_spec/debian/control
    branches/soc-2009-yukishiro/build_files/package_spec/debian/copyright
    branches/soc-2009-yukishiro/build_files/package_spec/debian/docs
    branches/soc-2009-yukishiro/build_files/package_spec/debian/menu
    branches/soc-2009-yukishiro/build_files/package_spec/debian/rules
    branches/soc-2009-yukishiro/build_files/package_spec/debian/source/
    branches/soc-2009-yukishiro/build_files/package_spec/debian/source/format
    branches/soc-2009-yukishiro/build_files/package_spec/debian/watch
    branches/soc-2009-yukishiro/build_files/package_spec/pacman/
    branches/soc-2009-yukishiro/build_files/package_spec/pacman/PKGBUILD
    branches/soc-2009-yukishiro/build_files/package_spec/pacman/blender.install
    branches/soc-2009-yukishiro/build_files/package_spec/rpm/
    branches/soc-2009-yukishiro/build_files/package_spec/rpm/blender.spec.in
    branches/soc-2009-yukishiro/build_files/scons/
    branches/soc-2009-yukishiro/build_files/scons/config/
    branches/soc-2009-yukishiro/build_files/scons/config/Modules/
    branches/soc-2009-yukishiro/build_files/scons/config/Modules/FindPython.py
    branches/soc-2009-yukishiro/build_files/scons/config/Modules/__init__.py
    branches/soc-2009-yukishiro/build_files/scons/config/darwin-config.py
    branches/soc-2009-yukishiro/build_files/scons/config/freebsd7-config.py
    branches/soc-2009-yukishiro/build_files/scons/config/freebsd8-config.py
    branches/soc-2009-yukishiro/build_files/scons/config/freebsd9-config.py
    branches/soc-2009-yukishiro/build_files/scons/config/linux-config.py
    branches/soc-2009-yukishiro/build_files/scons/config/linuxcross-config.py
    branches/soc-2009-yukishiro/build_files/scons/config/win32-mingw-config.py
    branches/soc-2009-yukishiro/build_files/scons/config/win32-vc-config.py
    branches/soc-2009-yukishiro/build_files/scons/config/win64-vc-config.py
    branches/soc-2009-yukishiro/build_files/scons/tools/
    branches/soc-2009-yukishiro/build_files/scons/tools/Blender.py
    branches/soc-2009-yukishiro/build_files/scons/tools/__init__.py
    branches/soc-2009-yukishiro/build_files/scons/tools/bcolors.py
    branches/soc-2009-yukishiro/build_files/scons/tools/btools.py
    branches/soc-2009-yukishiro/build_files/scons/tools/crossmingw.py
    branches/soc-2009-yukishiro/build_files/scons/tools/mstoolkit.py

Removed Paths:
-------------
    branches/soc-2009-yukishiro/CMake/
    branches/soc-2009-yukishiro/Makefile
    branches/soc-2009-yukishiro/bin/
    branches/soc-2009-yukishiro/config/
    branches/soc-2009-yukishiro/dlltool/
    branches/soc-2009-yukishiro/make/
    branches/soc-2009-yukishiro/po/
    branches/soc-2009-yukishiro/projectfiles/
    branches/soc-2009-yukishiro/projectfiles_vc7/
    branches/soc-2009-yukishiro/projectfiles_vc9/
    branches/soc-2009-yukishiro/tools/

Modified: branches/soc-2009-yukishiro/CMakeLists.txt
===================================================================
--- branches/soc-2009-yukishiro/CMakeLists.txt	2012-03-17 19:31:28 UTC (rev 44946)
+++ branches/soc-2009-yukishiro/CMakeLists.txt	2012-03-17 19:32:49 UTC (rev 44947)
@@ -1,4 +1,4 @@
- # $Id$
+# -*- mode: cmake; indent-tabs-mode: t; -*-
 # ***** BEGIN GPL LICENSE BLOCK *****
 #
 # This program is free software; you can redistribute it and/or
@@ -25,666 +25,1676 @@
 # ***** END GPL LICENSE BLOCK *****
 
 #-----------------------------------------------------------------------------
-# We don't allow in-source builds. This causes no end of troubles because 
-# all out-of-source builds will use the CMakeCache.txt file there and even 
-# build the libs and objects in it. It will also conflict with the current 
-# Makefile system for Blender
+# We don't allow in-source builds. This causes no end of troubles because
+# all out-of-source builds will use the CMakeCache.txt file there and even
+# build the libs and objects in it.
 
-IF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
-MESSAGE(FATAL_ERROR "CMake generation for blender is not allowed within the source directory! 
-Remove the CMakeCache.txt file and try again from another folder, e.g.: 
+if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
+	if(NOT DEFINED WITH_IN_SOURCE_BUILD)
+		message(FATAL_ERROR
+			"CMake generation for blender is not allowed within the source directory!"
+			"\n Remove the CMakeCache.txt file and try again from another folder, e.g.:"
+			"\n "
+			"\n rm CMakeCache.txt"
+			"\n cd .."
+			"\n mkdir cmake-make"
+			"\n cd cmake-make"
+			"\n cmake ../blender"
+			"\n "
+			"\n Alternately define WITH_IN_SOURCE_BUILD to force this option (not recommended!)"
+		)
+	endif()
+endif()
 
-	rm CMakeCache.txt 
-	cd ..
-	mkdir cmake-make 
-	cd cmake-make
-	cmake -G \"Unix Makefiles\" ../blender
-")
-ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
+cmake_minimum_required(VERSION 2.8)
 
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
-PROJECT(Blender)
+if(NOT EXECUTABLE_OUTPUT_PATH)
+	set(FIRST_RUN "TRUE")
+endif()
 
+# this starts out unset
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build_files/cmake/Modules")
+
+# avoid having empty buildtype
+set(CMAKE_BUILD_TYPE_INIT "Release")
+
+# quiet output for Makefiles, 'make -s' helps too
+# set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
+
+# global compile definitions since add_definitions() adds for all.
+set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG           DEBUG _DEBUG)
+set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE         NDEBUG)
+set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL      NDEBUG)
+set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO  NDEBUG)
+
+
 #-----------------------------------------------------------------------------
-# Redirect output files
+# Set policy
 
-SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
-SET(LIBRARY_OUTPUT_PATH  ${CMAKE_BINARY_DIR}/lib)
+# see "cmake --help-policy CMP0003"
+# So library linking is more sane
+cmake_policy(SET CMP0003 NEW)
 
-# Note! - Could create this from the blender version string
-# ...but thats quite involved, make sure this matches the blender version.
-SET(BLENDER_VERSION  2.5)
+# So BUILDINFO and BLENDERPATH strings are automatically quoted
+cmake_policy(SET CMP0005 NEW)
 
+# So syntax problems are errors
+cmake_policy(SET CMP0010 NEW)
+
+# Input directories must have CMakeLists.txt
+cmake_policy(SET CMP0014 NEW)
+
 #-----------------------------------------------------------------------------
+# Load some macros.
+include(build_files/cmake/macros.cmake)
+
+
+#-----------------------------------------------------------------------------
+# Initialize project.
+
+blender_project_hack_pre()
+
+project(Blender)
+
+blender_project_hack_post()
+
+enable_testing()
+
+#-----------------------------------------------------------------------------
+# Redirect output files
+
+set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "" FORCE )
+set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "" FORCE )
+
+#-----------------------------------------------------------------------------
 # Set default config options
-OPTION(WITH_PLAYER        "Build Player" OFF)
-OPTION(WITH_GAMEENGINE    "Enable Game Engine" ON)
-OPTION(WITH_BULLET        "Enable Bullet (Physics Engine)" ON)
-OPTION(WITH_INTERNATIONAL "Enable I18N   (International fonts and text)" ON)
-OPTION(WITH_ELBEEM        "Enable Elbeem (Fluid Simulation)" ON)
-OPTION(WITH_QUICKTIME     "Enable Quicktime Support" OFF)
-OPTION(WITH_OPENEXR       "Enable OpenEXR Support (http://www.openexr.com)" ON)
-OPTION(WITH_DDS           "Enable DDS Support" ON)
-OPTION(WITH_FFMPEG        "Enable FFMPeg Support (http://ffmpeg.mplayerhq.hu/)" OFF)
-OPTION(WITH_PYTHON        "Enable Embedded Python API" ON)
-OPTION(WITH_SDL           "Enable SDL for sound and joystick support" ON)
-OPTION(WITH_OPENJPEG      "Enable OpenJpeg Support (http://www.openjpeg.org/)" OFF)
-OPTION(WITH_OPENAL        "Enable OpenAL Support (http://www.openal.org)" ON)
-OPTION(WITH_WEBPLUGIN     "Enable Web Plugin (Unix only)" OFF)
-OPTION(WITH_FFTW3         "Enable FFTW3 support" OFF)
-OPTION(WITH_JACK          "Enable Jack Support (http://www.jackaudio.org)" OFF)
-OPTION(WITH_SNDFILE       "Enable libsndfile Support (http://www.mega-nerd.com/libsndfile)" OFF)
-OPTION(WITH_LZO           "Enable fast LZO compression, used for pointcache" ON)
-OPTION(WITH_LZMA          "Enable best LZMA compression, used for pointcache" ON)
-OPTION(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation" OFF)
-OPTION(WITH_BUILDINFO     "Include extra build details" ON)
-OPTION(WITH_INSTALL       "Install accompanying scripts and language files needed to run blender" ON)
-OPTION(WITH_OPENCOLLADA		"Enable OpenCollada Support (http://www.opencollada.org/)"	ON)
 
-# Unix defaults to OpenMP On
-IF(UNIX AND NOT APPLE)
-	OPTION(WITH_OPENMP        "Enable OpenMP (has to be supported by the compiler)" ON)
-ELSE()
-	OPTION(WITH_OPENMP        "Enable OpenMP (has to be supported by the compiler)" OFF)
-ENDIF()
+get_blender_version()
 
-OPTION(WITH_RAYOPTIMIZATION	"Enable use of SIMD (SSE) optimizations for the raytracer" OFF) 
 
-IF (APPLE)
-	OPTION(WITH_COCOA	  "Use Cocoa framework instead of deprecated Carbon" ON)
-	OPTION(USE_QTKIT	  "Use QtKit instead of Carbon quicktime (needed for having partial quicktime for 64bit)" OFF)
-	OPTION(WITH_LIBS10.5  "Use 10.5 libs (needed for 64bit builds)" OFF)
-ENDIF (APPLE)
+# Blender internal features
+option(WITH_BLENDER "Build blender (disable to build only the blender player)" ON)
+mark_as_advanced(WITH_BLENDER)
 
-IF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
-	MESSAGE("WARNING: WITH_PLAYER needs WITH_GAMEENGINE")
-ENDIF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
+option(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
 
+option(WITH_PYTHON        "Enable Embedded Python API  (only disable for development)" ON)
+option(WITH_PYTHON_SECURITY "Disables execution of scripts within blend files by default (recommend to leave off)" OFF)
+mark_as_advanced(WITH_PYTHON)  # dont want people disabling this unless they really know what they are doing.
+mark_as_advanced(WITH_PYTHON_SECURITY)  # some distrobutions see this as a security issue, rather than have them patch it, make a build option.
+
+option(WITH_PYTHON_SAFETY "Enable internal API error checking to track invalid data to prevent crash on access (at the expense of some effeciency, only enable for development)." OFF)
+option(WITH_PYTHON_MODULE "Enable building as a python module (experimental, only enable for development)" OFF)
+option(WITH_BUILDINFO     "Include extra build details (only disable for development & faster builds)" ON)
+option(WITH_IK_ITASC      "Enable ITASC IK solver (only disable for development & for incompatible C++ compilers)" ON)
+option(WITH_FFTW3         "Enable FFTW3 support (Used for smoke and audio effects)" OFF)
+option(WITH_BULLET        "Enable Bullet (Physics Engine)" ON)
+option(WITH_GAMEENGINE    "Enable Game Engine" ON)
+option(WITH_PLAYER        "Build Player" OFF)
+
+# GHOST Windowing Library Options
+option(WITH_GHOST_DEBUG   "Enable debugging output for the GHOST library" OFF)
+mark_as_advanced(WITH_GHOST_DEBUG)
+
+option(WITH_GHOST_SDL    "Enable building blender against SDL for windowing rather then the native APIs" OFF)
+mark_as_advanced(WITH_GHOST_SDL)
+
+# Misc...
+option(WITH_HEADLESS      "Build without graphical support (renderfarm, server mode only)" OFF)
+mark_as_advanced(WITH_HEADLESS)
+
+option(WITH_AUDASPACE    "Build with blenders audio library (only disable if you know what you're doing!)" ON)
+mark_as_advanced(WITH_AUDASPACE)
+
+
+# (unix defaults to OpenMP On)
+if(UNIX AND NOT APPLE)
+	option(WITH_OPENMP        "Enable OpenMP (has to be supported by the compiler)" ON)
+else()
+	option(WITH_OPENMP        "Enable OpenMP (has to be supported by the compiler)" OFF)
+endif()
+
+if(UNIX AND NOT APPLE)
+	option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support and unicode input)"	ON)
+	option(WITH_X11_XF86VMODE "Enable X11 video mode switching"	ON)
+	option(WITH_BUILTIN_GLEW "Use GLEW OpenGL wrapper library bundled with blender" ON)
+	option(WITH_XDG_USER_DIRS    "Build with XDG Base Directory Specification (only config and documents for now)" OFF)
+	mark_as_advanced(WITH_XDG_USER_DIRS)
+
+	# freebsd doesn't seems to support XDND
+	if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
+		option(WITH_GHOST_XDND   "Enable drag'n'drop support on Linux using XDND protocol" ON)
+	endif()
+else()
+	# not an option for other OS's
+	set(WITH_BUILTIN_GLEW ON)
+endif()
+
+# Modifiers
+option(WITH_MOD_FLUID        	"Enable Elbeem Modifier (Fluid Simulation)" ON)
+option(WITH_MOD_SMOKE        	"Enable Smoke Modifier (Smoke Simulation)" ON)
+option(WITH_MOD_DECIMATE       	"Enable Decimate Modifier" ON)
+option(WITH_MOD_BOOLEAN        	"Enable Boolean Modifier" ON)
+option(WITH_MOD_REMESH        	"Enable Remesh Modifier" ON)
+option(WITH_MOD_CLOTH_ELTOPO   	"Enable Experimental cloth solver" OFF)
+mark_as_advanced(WITH_MOD_CLOTH_ELTOPO)
+option(WITH_MOD_OCEANSIM        "Enable Ocean Modifier" OFF)
+
+# Image format support
+option(WITH_IMAGE_OPENEXR       "Enable OpenEXR Support (http://www.openexr.com)" ON)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list