[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41670] trunk/blender: Cycles Merge

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Nov 8 18:00:41 CET 2011


Revision: 41670
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41670
Author:   blendix
Date:     2011-11-08 17:00:40 +0000 (Tue, 08 Nov 2011)
Log Message:
-----------
Cycles Merge

Documentation:
http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles

Cycles is available is an extra render engine from the top header. It's not
feature complete, consider this as a first preview release. Known bugs:
http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles/KnownIssues

Building currently only works with CMake, SCons support is being worked on
and should be available soon.

Also missing still is precompiled OpenImageIO and Boost for Linux, these will
be added later in lib/linux*, if you do not have these installed on your
system, Cycles will simply not be available.

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt
    trunk/blender/build_files/cmake/config/blender_lite.cmake
    trunk/blender/intern/CMakeLists.txt
    trunk/blender/source/blender/blenkernel/BKE_blender.h
    trunk/blender/source/blender/editors/interface/resources.c
    trunk/blender/source/blender/makesrna/intern/rna_nodetree.c
    trunk/blender/source/blender/makesrna/intern/rna_object_api.c
    trunk/blender/source/blender/makesrna/intern/rna_render.c
    trunk/blender/source/blender/python/intern/CMakeLists.txt
    trunk/blender/source/blender/python/intern/bpy_interface.c
    trunk/blender/source/creator/CMakeLists.txt

Added Paths:
-----------
    trunk/blender/build_files/cmake/Modules/FindOpenImageIO.cmake
    trunk/blender/intern/cycles/
    trunk/blender/intern/cycles/CMakeLists.txt
    trunk/blender/intern/cycles/app/
    trunk/blender/intern/cycles/app/CMakeLists.txt
    trunk/blender/intern/cycles/app/cycles_server.cpp
    trunk/blender/intern/cycles/app/cycles_test.cpp
    trunk/blender/intern/cycles/app/cycles_xml.cpp
    trunk/blender/intern/cycles/app/cycles_xml.h
    trunk/blender/intern/cycles/blender/
    trunk/blender/intern/cycles/blender/CMakeLists.txt
    trunk/blender/intern/cycles/blender/addon/
    trunk/blender/intern/cycles/blender/addon/__init__.py
    trunk/blender/intern/cycles/blender/addon/engine.py
    trunk/blender/intern/cycles/blender/addon/enums.py
    trunk/blender/intern/cycles/blender/addon/presets.py
    trunk/blender/intern/cycles/blender/addon/properties.py
    trunk/blender/intern/cycles/blender/addon/ui.py
    trunk/blender/intern/cycles/blender/addon/xml.py
    trunk/blender/intern/cycles/blender/blender_camera.cpp
    trunk/blender/intern/cycles/blender/blender_mesh.cpp
    trunk/blender/intern/cycles/blender/blender_object.cpp
    trunk/blender/intern/cycles/blender/blender_python.cpp
    trunk/blender/intern/cycles/blender/blender_session.cpp
    trunk/blender/intern/cycles/blender/blender_session.h
    trunk/blender/intern/cycles/blender/blender_shader.cpp
    trunk/blender/intern/cycles/blender/blender_sync.cpp
    trunk/blender/intern/cycles/blender/blender_sync.h
    trunk/blender/intern/cycles/blender/blender_util.h
    trunk/blender/intern/cycles/bvh/
    trunk/blender/intern/cycles/bvh/CMakeLists.txt
    trunk/blender/intern/cycles/bvh/bvh.cpp
    trunk/blender/intern/cycles/bvh/bvh.h
    trunk/blender/intern/cycles/bvh/bvh_build.cpp
    trunk/blender/intern/cycles/bvh/bvh_build.h
    trunk/blender/intern/cycles/bvh/bvh_node.cpp
    trunk/blender/intern/cycles/bvh/bvh_node.h
    trunk/blender/intern/cycles/bvh/bvh_params.h
    trunk/blender/intern/cycles/bvh/bvh_sort.cpp
    trunk/blender/intern/cycles/bvh/bvh_sort.h
    trunk/blender/intern/cycles/cmake/
    trunk/blender/intern/cycles/cmake/external_libs.cmake
    trunk/blender/intern/cycles/device/
    trunk/blender/intern/cycles/device/CMakeLists.txt
    trunk/blender/intern/cycles/device/device.cpp
    trunk/blender/intern/cycles/device/device.h
    trunk/blender/intern/cycles/device/device_cpu.cpp
    trunk/blender/intern/cycles/device/device_cuda.cpp
    trunk/blender/intern/cycles/device/device_intern.h
    trunk/blender/intern/cycles/device/device_memory.h
    trunk/blender/intern/cycles/device/device_multi.cpp
    trunk/blender/intern/cycles/device/device_network.cpp
    trunk/blender/intern/cycles/device/device_network.h
    trunk/blender/intern/cycles/device/device_opencl.cpp
    trunk/blender/intern/cycles/doc/
    trunk/blender/intern/cycles/doc/CMakeLists.txt
    trunk/blender/intern/cycles/doc/license/
    trunk/blender/intern/cycles/doc/license/Apache_2.0.txt
    trunk/blender/intern/cycles/doc/license/Blender.txt
    trunk/blender/intern/cycles/doc/license/Boost.txt
    trunk/blender/intern/cycles/doc/license/CMakeLists.txt
    trunk/blender/intern/cycles/doc/license/GPL.txt
    trunk/blender/intern/cycles/doc/license/ILM.txt
    trunk/blender/intern/cycles/doc/license/NVidia.txt
    trunk/blender/intern/cycles/doc/license/OSL.txt
    trunk/blender/intern/cycles/doc/license/Sobol.txt
    trunk/blender/intern/cycles/doc/license/readme.txt
    trunk/blender/intern/cycles/kernel/
    trunk/blender/intern/cycles/kernel/CMakeLists.txt
    trunk/blender/intern/cycles/kernel/kernel.cl
    trunk/blender/intern/cycles/kernel/kernel.cpp
    trunk/blender/intern/cycles/kernel/kernel.cu
    trunk/blender/intern/cycles/kernel/kernel.h
    trunk/blender/intern/cycles/kernel/kernel_bvh.h
    trunk/blender/intern/cycles/kernel/kernel_camera.h
    trunk/blender/intern/cycles/kernel/kernel_compat_cpu.h
    trunk/blender/intern/cycles/kernel/kernel_compat_cuda.h
    trunk/blender/intern/cycles/kernel/kernel_compat_opencl.h
    trunk/blender/intern/cycles/kernel/kernel_differential.h
    trunk/blender/intern/cycles/kernel/kernel_displace.h
    trunk/blender/intern/cycles/kernel/kernel_emission.h
    trunk/blender/intern/cycles/kernel/kernel_film.h
    trunk/blender/intern/cycles/kernel/kernel_globals.h
    trunk/blender/intern/cycles/kernel/kernel_light.h
    trunk/blender/intern/cycles/kernel/kernel_math.h
    trunk/blender/intern/cycles/kernel/kernel_mbvh.h
    trunk/blender/intern/cycles/kernel/kernel_montecarlo.h
    trunk/blender/intern/cycles/kernel/kernel_object.h
    trunk/blender/intern/cycles/kernel/kernel_path.h
    trunk/blender/intern/cycles/kernel/kernel_qbvh.h
    trunk/blender/intern/cycles/kernel/kernel_random.h
    trunk/blender/intern/cycles/kernel/kernel_shader.h
    trunk/blender/intern/cycles/kernel/kernel_textures.h
    trunk/blender/intern/cycles/kernel/kernel_triangle.h
    trunk/blender/intern/cycles/kernel/kernel_types.h
    trunk/blender/intern/cycles/kernel/osl/
    trunk/blender/intern/cycles/kernel/osl/CMakeLists.txt
    trunk/blender/intern/cycles/kernel/osl/background.cpp
    trunk/blender/intern/cycles/kernel/osl/bsdf_ashikhmin_velvet.cpp
    trunk/blender/intern/cycles/kernel/osl/bsdf_diffuse.cpp
    trunk/blender/intern/cycles/kernel/osl/bsdf_microfacet.cpp
    trunk/blender/intern/cycles/kernel/osl/bsdf_reflection.cpp
    trunk/blender/intern/cycles/kernel/osl/bsdf_refraction.cpp
    trunk/blender/intern/cycles/kernel/osl/bsdf_transparent.cpp
    trunk/blender/intern/cycles/kernel/osl/bsdf_ward.cpp
    trunk/blender/intern/cycles/kernel/osl/bsdf_westin.cpp
    trunk/blender/intern/cycles/kernel/osl/bssrdf.cpp
    trunk/blender/intern/cycles/kernel/osl/debug.cpp
    trunk/blender/intern/cycles/kernel/osl/emissive.cpp
    trunk/blender/intern/cycles/kernel/osl/nodes/
    trunk/blender/intern/cycles/kernel/osl/nodes/CMakeLists.txt
    trunk/blender/intern/cycles/kernel/osl/nodes/node_add_closure.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_attribute.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_background.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_blend_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_blend_weight.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_bump.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_clouds_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_color.h
    trunk/blender/intern/cycles/kernel/osl/nodes/node_convert_from_color.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_convert_from_float.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_convert_from_normal.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_convert_from_point.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_convert_from_vector.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_diffuse_bsdf.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_distorted_noise_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_emission.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_environment_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_fresnel.h
    trunk/blender/intern/cycles/kernel/osl/nodes/node_fresnel.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_geometry.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_glass_bsdf.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_glossy_bsdf.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_holdout.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_image_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_light_path.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_magic_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_mapping.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_marble_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_math.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_mix.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_mix_closure.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_musgrave_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_noise_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_output_displacement.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_output_surface.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_output_volume.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_sky_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_stucci_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_texture.h
    trunk/blender/intern/cycles/kernel/osl/nodes/node_texture_coordinate.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_translucent_bsdf.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_transparent_bsdf.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_value.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_vector_math.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_velvet_bsdf.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_voronoi_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_ward_bsdf.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/node_wood_texture.osl
    trunk/blender/intern/cycles/kernel/osl/nodes/stdosl.h
    trunk/blender/intern/cycles/kernel/osl/osl_closures.cpp
    trunk/blender/intern/cycles/kernel/osl/osl_closures.h
    trunk/blender/intern/cycles/kernel/osl/osl_globals.h
    trunk/blender/intern/cycles/kernel/osl/osl_services.cpp
    trunk/blender/intern/cycles/kernel/osl/osl_services.h
    trunk/blender/intern/cycles/kernel/osl/osl_shader.cpp
    trunk/blender/intern/cycles/kernel/osl/osl_shader.h
    trunk/blender/intern/cycles/kernel/osl/vol_subsurface.cpp
    trunk/blender/intern/cycles/kernel/svm/
    trunk/blender/intern/cycles/kernel/svm/bsdf.h
    trunk/blender/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h
    trunk/blender/intern/cycles/kernel/svm/bsdf_diffuse.h
    trunk/blender/intern/cycles/kernel/svm/bsdf_microfacet.h
    trunk/blender/intern/cycles/kernel/svm/bsdf_reflection.h
    trunk/blender/intern/cycles/kernel/svm/bsdf_refraction.h
    trunk/blender/intern/cycles/kernel/svm/bsdf_transparent.h
    trunk/blender/intern/cycles/kernel/svm/bsdf_ward.h
    trunk/blender/intern/cycles/kernel/svm/bsdf_westin.h
    trunk/blender/intern/cycles/kernel/svm/emissive.h
    trunk/blender/intern/cycles/kernel/svm/svm.h
    trunk/blender/intern/cycles/kernel/svm/svm_attribute.h
    trunk/blender/intern/cycles/kernel/svm/svm_bsdf.h
    trunk/blender/intern/cycles/kernel/svm/svm_closure.h
    trunk/blender/intern/cycles/kernel/svm/svm_convert.h
    trunk/blender/intern/cycles/kernel/svm/svm_displace.h
    trunk/blender/intern/cycles/kernel/svm/svm_fresnel.h
    trunk/blender/intern/cycles/kernel/svm/svm_geometry.h
    trunk/blender/intern/cycles/kernel/svm/svm_gradient.h
    trunk/blender/intern/cycles/kernel/svm/svm_image.h
    trunk/blender/intern/cycles/kernel/svm/svm_light_path.h
    trunk/blender/intern/cycles/kernel/svm/svm_magic.h
    trunk/blender/intern/cycles/kernel/svm/svm_mapping.h
    trunk/blender/intern/cycles/kernel/svm/svm_math.h
    trunk/blender/intern/cycles/kernel/svm/svm_mix.h
    trunk/blender/intern/cycles/kernel/svm/svm_musgrave.h
    trunk/blender/intern/cycles/kernel/svm/svm_noise.h
    trunk/blender/intern/cycles/kernel/svm/svm_noisetex.h
    trunk/blender/intern/cycles/kernel/svm/svm_sky.h
    trunk/blender/intern/cycles/kernel/svm/svm_tex_coord.h
    trunk/blender/intern/cycles/kernel/svm/svm_texture.h
    trunk/blender/intern/cycles/kernel/svm/svm_types.h
    trunk/blender/intern/cycles/kernel/svm/svm_value.h
    trunk/blender/intern/cycles/kernel/svm/svm_voronoi.h
    trunk/blender/intern/cycles/kernel/svm/svm_wave.h
    trunk/blender/intern/cycles/kernel/svm/volume.h
    trunk/blender/intern/cycles/render/
    trunk/blender/intern/cycles/render/CMakeLists.txt
    trunk/blender/intern/cycles/render/attribute.cpp
    trunk/blender/intern/cycles/render/attribute.h
    trunk/blender/intern/cycles/render/background.cpp
    trunk/blender/intern/cycles/render/background.h
    trunk/blender/intern/cycles/render/buffers.cpp
    trunk/blender/intern/cycles/render/buffers.h
    trunk/blender/intern/cycles/render/camera.cpp
    trunk/blender/intern/cycles/render/camera.h
    trunk/blender/intern/cycles/render/film.cpp
    trunk/blender/intern/cycles/render/film.h
    trunk/blender/intern/cycles/render/film_response.cpp
    trunk/blender/intern/cycles/render/film_response.h
    trunk/blender/intern/cycles/render/filter.cpp
    trunk/blender/intern/cycles/render/filter.h
    trunk/blender/intern/cycles/render/graph.cpp
    trunk/blender/intern/cycles/render/graph.h
    trunk/blender/intern/cycles/render/image.cpp
    trunk/blender/intern/cycles/render/image.h
    trunk/blender/intern/cycles/render/integrator.cpp
    trunk/blender/intern/cycles/render/integrator.h
    trunk/blender/intern/cycles/render/light.cpp
    trunk/blender/intern/cycles/render/light.h
    trunk/blender/intern/cycles/render/mesh.cpp
    trunk/blender/intern/cycles/render/mesh.h
    trunk/blender/intern/cycles/render/mesh_displace.cpp
    trunk/blender/intern/cycles/render/nodes.cpp
    trunk/blender/intern/cycles/render/nodes.h
    trunk/blender/intern/cycles/render/object.cpp
    trunk/blender/intern/cycles/render/object.h
    trunk/blender/intern/cycles/render/osl.cpp
    trunk/blender/intern/cycles/render/osl.h
    trunk/blender/intern/cycles/render/scene.cpp
    trunk/blender/intern/cycles/render/scene.h
    trunk/blender/intern/cycles/render/session.cpp
    trunk/blender/intern/cycles/render/session.h
    trunk/blender/intern/cycles/render/shader.cpp
    trunk/blender/intern/cycles/render/shader.h
    trunk/blender/intern/cycles/render/sobol.cpp
    trunk/blender/intern/cycles/render/sobol.h
    trunk/blender/intern/cycles/render/svm.cpp
    trunk/blender/intern/cycles/render/svm.h
    trunk/blender/intern/cycles/render/tile.cpp
    trunk/blender/intern/cycles/render/tile.h
    trunk/blender/intern/cycles/subd/
    trunk/blender/intern/cycles/subd/CMakeLists.txt
    trunk/blender/intern/cycles/subd/subd_build.cpp
    trunk/blender/intern/cycles/subd/subd_build.h
    trunk/blender/intern/cycles/subd/subd_dice.cpp
    trunk/blender/intern/cycles/subd/subd_dice.h
    trunk/blender/intern/cycles/subd/subd_edge.h
    trunk/blender/intern/cycles/subd/subd_face.h
    trunk/blender/intern/cycles/subd/subd_mesh.cpp
    trunk/blender/intern/cycles/subd/subd_mesh.h
    trunk/blender/intern/cycles/subd/subd_patch.cpp
    trunk/blender/intern/cycles/subd/subd_patch.h
    trunk/blender/intern/cycles/subd/subd_ring.cpp
    trunk/blender/intern/cycles/subd/subd_ring.h
    trunk/blender/intern/cycles/subd/subd_split.cpp
    trunk/blender/intern/cycles/subd/subd_split.h
    trunk/blender/intern/cycles/subd/subd_stencil.cpp
    trunk/blender/intern/cycles/subd/subd_stencil.h
    trunk/blender/intern/cycles/subd/subd_vert.h
    trunk/blender/intern/cycles/util/
    trunk/blender/intern/cycles/util/CMakeLists.txt
    trunk/blender/intern/cycles/util/util_algorithm.h
    trunk/blender/intern/cycles/util/util_args.h
    trunk/blender/intern/cycles/util/util_boundbox.h
    trunk/blender/intern/cycles/util/util_cache.cpp
    trunk/blender/intern/cycles/util/util_cache.h
    trunk/blender/intern/cycles/util/util_color.h
    trunk/blender/intern/cycles/util/util_cuda.cpp
    trunk/blender/intern/cycles/util/util_cuda.h
    trunk/blender/intern/cycles/util/util_debug.h
    trunk/blender/intern/cycles/util/util_dynlib.cpp
    trunk/blender/intern/cycles/util/util_dynlib.h
    trunk/blender/intern/cycles/util/util_foreach.h
    trunk/blender/intern/cycles/util/util_function.h
    trunk/blender/intern/cycles/util/util_hash.h
    trunk/blender/intern/cycles/util/util_image.h
    trunk/blender/intern/cycles/util/util_list.h
    trunk/blender/intern/cycles/util/util_map.h
    trunk/blender/intern/cycles/util/util_math.h
    trunk/blender/intern/cycles/util/util_md5.cpp
    trunk/blender/intern/cycles/util/util_md5.h
    trunk/blender/intern/cycles/util/util_memarena.cpp
    trunk/blender/intern/cycles/util/util_memarena.h
    trunk/blender/intern/cycles/util/util_opencl.c
    trunk/blender/intern/cycles/util/util_opencl.h
    trunk/blender/intern/cycles/util/util_opengl.h
    trunk/blender/intern/cycles/util/util_param.h
    trunk/blender/intern/cycles/util/util_path.cpp
    trunk/blender/intern/cycles/util/util_path.h
    trunk/blender/intern/cycles/util/util_progress.h
    trunk/blender/intern/cycles/util/util_set.h
    trunk/blender/intern/cycles/util/util_string.cpp
    trunk/blender/intern/cycles/util/util_string.h
    trunk/blender/intern/cycles/util/util_system.cpp
    trunk/blender/intern/cycles/util/util_system.h
    trunk/blender/intern/cycles/util/util_thread.h
    trunk/blender/intern/cycles/util/util_time.cpp
    trunk/blender/intern/cycles/util/util_time.h
    trunk/blender/intern/cycles/util/util_transform.cpp
    trunk/blender/intern/cycles/util/util_transform.h
    trunk/blender/intern/cycles/util/util_types.h
    trunk/blender/intern/cycles/util/util_vector.h
    trunk/blender/intern/cycles/util/util_view.cpp
    trunk/blender/intern/cycles/util/util_view.h
    trunk/blender/intern/cycles/util/util_xml.h
    trunk/blender/release/scripts/presets/cycles/
    trunk/blender/release/scripts/presets/cycles/integrator/
    trunk/blender/release/scripts/presets/cycles/integrator/direct_light.py
    trunk/blender/release/scripts/presets/cycles/integrator/full_global_illumination.py
    trunk/blender/release/scripts/presets/cycles/integrator/limited_global_illumination.py

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt	2011-11-08 16:59:06 UTC (rev 41669)
+++ trunk/blender/CMakeLists.txt	2011-11-08 17:00:40 UTC (rev 41670)
@@ -213,6 +213,10 @@
 endif()
 option(WITH_PYTHON_INSTALL       "Copy system python into the blender install folder" ON)
 
+# Cycles
+option(WITH_CYCLES			"Enable Cycles Render Engine" ON)
+OPTION(WITH_CYCLES_TEST		"Build cycles test application" OFF)
+
 # disable for now, but plan to support on all platforms eventually
 option(WITH_MEM_JEMALLOC   "Enable malloc replacement (http://www.canonware.com/jemalloc)" OFF)
 mark_as_advanced(WITH_MEM_JEMALLOC)
@@ -284,6 +288,12 @@
 	set(WITH_HEADLESS ON)
 endif()
 
+# auto enable openimageio and boost for cycles
+if(WITH_CYCLES)
+	set(WITH_OPENIMAGEIO ON)
+	set(WITH_BOOST ON)
+endif()
+
 TEST_SSE_SUPPORT(COMPILER_SSE_FLAG COMPILER_SSE2_FLAG)
 
 # don't store paths to libs for portable distrobution
@@ -497,7 +507,7 @@
 		if(NOT BOOST_CUSTOM)
 			set(BOOST_ROOT ${BOOST})
 			set(Boost_USE_MULTITHREADED ON)
-			find_package(Boost 1.34 REQUIRED COMPONENTS filesystem regex system thread)
+			find_package(Boost 1.34 COMPONENTS filesystem regex system thread)
 		endif()
 
 		set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS})
@@ -510,7 +520,7 @@
 		set(OPENIMAGEIO "/usr" CACHE PATH "OpenImageIO Directory")
 
 		set(OPENIMAGEIO_ROOT_DIR ${OPENIMAGEIO})
-		find_package(OpenImageIO REQUIRED)
+		find_package(OpenImageIO)
 
 		set(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES} ${BOOST_LIBRARIES})
 		set(OPENIMAGEIO_LIBPATH)  # TODO, remove and reference the absolute path everywhere
@@ -518,6 +528,8 @@
 
 		if(NOT OPENIMAGEIO_FOUND)
 			set(WITH_OPENIMAGEIO OFF)
+			set(WITH_CYCLES OFF)
+			message(STATUS "OpenImageIO not found, disabling WITH_CYCLES")
 		endif()
 	endif()
 
@@ -1480,6 +1492,7 @@
 	info_cfg_option(WITH_FFTW3)
 	info_cfg_option(WITH_INTERNATIONAL)
 	info_cfg_option(WITH_INPUT_NDOF)
+	info_cfg_option(WITH_CYCLES)
 
 	info_cfg_text("Compiler Options:")
 	info_cfg_option(WITH_BUILDINFO)

Added: trunk/blender/build_files/cmake/Modules/FindOpenImageIO.cmake
===================================================================
--- trunk/blender/build_files/cmake/Modules/FindOpenImageIO.cmake	                        (rev 0)
+++ trunk/blender/build_files/cmake/Modules/FindOpenImageIO.cmake	2011-11-08 17:00:40 UTC (rev 41670)
@@ -0,0 +1,70 @@
+# - Find OpenImageIO library
+# Find the native OpenImageIO includes and library
+# This module defines
+#  OPENIMAGEIO_INCLUDE_DIRS, where to find openimageio.h, Set when
+#                            OPENIMAGEIO_INCLUDE_DIR is found.
+#  OPENIMAGEIO_LIBRARIES, libraries to link against to use OpenImageIO.
+#  OPENIMAGEIO_ROOT_DIR, The base directory to search for OpenImageIO.
+#                        This can also be an environment variable.
+#  OPENIMAGEIO_FOUND, If false, do not try to use OpenImageIO.
+#
+# also defined, but not for general use are
+#  OPENIMAGEIO_LIBRARY, where to find the OpenImageIO library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If OPENIMAGEIO_ROOT_DIR was defined in the environment, use it.
+IF(NOT OPENIMAGEIO_ROOT_DIR AND NOT $ENV{OPENIMAGEIO_ROOT_DIR} STREQUAL "")
+  SET(OPENIMAGEIO_ROOT_DIR $ENV{OPENIMAGEIO_ROOT_DIR})
+ENDIF()
+
+SET(_openimageio_SEARCH_DIRS
+  ${OPENIMAGEIO_ROOT_DIR}
+  /usr/local
+  /sw # Fink
+  /opt/local # DarwinPorts
+  /opt/csw # Blastwave
+)
+
+FIND_PATH(OPENIMAGEIO_INCLUDE_DIR
+  NAMES
+    OpenImageIO/imageio.h
+  HINTS
+    ${_openimageio_SEARCH_DIRS}
+  PATH_SUFFIXES
+    include
+)
+
+FIND_LIBRARY(OPENIMAGEIO_LIBRARY
+  NAMES
+    OpenImageIO
+  HINTS
+    ${_openimageio_SEARCH_DIRS}
+  PATH_SUFFIXES
+    lib64 lib
+  )
+
+# handle the QUIETLY and REQUIRED arguments and set OPENIMAGEIO_FOUND to TRUE if 
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_MSG
+    OPENIMAGEIO_LIBRARY OPENIMAGEIO_INCLUDE_DIR)
+
+IF(OPENIMAGEIO_FOUND)
+  SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY})
+  SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR})
+ENDIF(OPENIMAGEIO_FOUND)
+
+MARK_AS_ADVANCED(
+  OPENIMAGEIO_INCLUDE_DIR
+  OPENIMAGEIO_LIBRARY
+)

Modified: trunk/blender/build_files/cmake/config/blender_lite.cmake
===================================================================
--- trunk/blender/build_files/cmake/config/blender_lite.cmake	2011-11-08 16:59:06 UTC (rev 41669)
+++ trunk/blender/build_files/cmake/config/blender_lite.cmake	2011-11-08 17:00:40 UTC (rev 41670)
@@ -12,6 +12,7 @@
 set(WITH_BULLET              OFF CACHE FORCE BOOL)
 set(WITH_CODEC_FFMPEG        OFF CACHE FORCE BOOL)
 set(WITH_CODEC_SNDFILE       OFF CACHE FORCE BOOL)
+set(WITH_CYCLES              OFF CACHE FORCE BOOL)
 set(WITH_FFTW3               OFF CACHE FORCE BOOL)
 set(WITH_LIBMV               OFF CACHE FORCE BOOL)
 set(WITH_GAMEENGINE          OFF CACHE FORCE BOOL)

Modified: trunk/blender/intern/CMakeLists.txt
===================================================================
--- trunk/blender/intern/CMakeLists.txt	2011-11-08 16:59:06 UTC (rev 41669)
+++ trunk/blender/intern/CMakeLists.txt	2011-11-08 17:00:40 UTC (rev 41670)
@@ -57,3 +57,8 @@
 if(WITH_IK_ITASC)
 	add_subdirectory(itasc)
 endif()
+
+if(WITH_CYCLES)
+	add_subdirectory(cycles)
+endif()
+

Added: trunk/blender/intern/cycles/CMakeLists.txt
===================================================================
--- trunk/blender/intern/cycles/CMakeLists.txt	                        (rev 0)
+++ trunk/blender/intern/cycles/CMakeLists.txt	2011-11-08 17:00:40 UTC (rev 41670)
@@ -0,0 +1,76 @@
+
+set(CYCLES_INSTALL_PATH "scripts/addons/cycles")
+SET(WITH_CYCLES_BLENDER ON)
+
+# External Libraries
+
+include(cmake/external_libs.cmake)
+
+# Build Flags
+
+set(GCC_WARNING_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-long-long")
+set(GCC_OPTIM_FLAGS "-ffast-math -msse -msse2 -msse3 -mtune=native")
+
+if(APPLE)
+	set(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}")
+	set(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID")
+endif(APPLE)
+
+if(WIN32)
+	if(MSVC)
+		set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Ox /Ot /arch:SSE2 -D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast")
+		set(RTTI_DISABLE_FLAGS "/GR- -DBOOST_NO_RTTI -DBOOST_NO_TYPEID")
+	elseif(CMAKE_COMPILER_IS_GNUCC)
+		set(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}")
+		set(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID")
+	endif()
+endif(WIN32)
+
+if(UNIX AND NOT APPLE)
+	set(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}")
+	set(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID")
+endif(UNIX AND NOT APPLE)
+
+# Definitions and Includes
+
+add_definitions(${BOOST_DEFINITIONS} ${OPENIMAGEIO_DEFINITIONS})
+
+add_definitions(-DCCL_NAMESPACE_BEGIN=namespace\ ccl\ {)
+add_definitions(-DCCL_NAMESPACE_END=})
+
+if(WITH_CYCLES_NETWORK)
+  add_definitions(-DWITH_NETWORK)
+endif()
+
+if(WITH_CYCLES_OSL)
+  add_definitions(-DWITH_OSL)
+endif()
+
+if(WITH_CYCLES_PARTIO)
+  add_definitions(-DWITH_PARTIO)
+endif()
+
+add_definitions(-DWITH_OPENCL)
+add_definitions(-DWITH_CUDA)
+add_definitions(-DWITH_MULTI)
+
+include_directories(
+	${BOOST_INCLUDE_DIR}
+	${OPENIMAGEIO_INCLUDE_DIRS}
+	${OPENIMAGEIO_INCLUDE_DIRS}/OpenImageIO)
+
+# Subdirectories
+
+if(WITH_CYCLES_BLENDER)
+	add_subdirectory(blender)
+endif(WITH_CYCLES_BLENDER)
+
+add_subdirectory(app)
+add_subdirectory(bvh)
+add_subdirectory(device)
+add_subdirectory(doc)
+add_subdirectory(kernel)
+add_subdirectory(render)
+add_subdirectory(subd)
+add_subdirectory(util)
+

Added: trunk/blender/intern/cycles/app/CMakeLists.txt
===================================================================
--- trunk/blender/intern/cycles/app/CMakeLists.txt	                        (rev 0)
+++ trunk/blender/intern/cycles/app/CMakeLists.txt	2011-11-08 17:00:40 UTC (rev 41670)
@@ -0,0 +1,55 @@
+
+include_directories(
+	.
+	../device
+	../kernel
+	../kernel/svm
+	../bvh
+	../util
+	../render
+	../subd)
+
+set(LIBRARIES
+	cycles_device
+	cycles_kernel
+	cycles_render
+	cycles_bvh
+	cycles_subd
+	cycles_util
+	${BOOST_LIBRARIES}
+	${OPENGL_LIBRARIES}
+	${CYCLES_GLEW_LIBRARY}
+	${OPENIMAGEIO_LIBRARIES})
+
+link_directories(${OPENIMAGEIO_LIBPATH} ${BOOST_LIBPATH})
+
+if(WITH_CYCLES_TEST)
+	list(APPEND LIBRARIES ${GLUT_LIBRARIES})
+endif()
+
+if(WITH_CYCLES_OSL)
+	list(APPEND LIBRARIES cycles_kernel_osl ${OSL_LIBRARIES})
+endif()
+
+if(WITH_CYCLES_PARTIO)
+	list(APPEND LIBRARIES ${PARTIO_LIBRARIES})
+endif()
+
+if(WITH_CYCLES_TEST)
+	add_executable(cycles_test cycles_test.cpp cycles_xml.cpp cycles_xml.h)
+	target_link_libraries(cycles_test ${LIBRARIES})
+
+	if(UNIX AND NOT APPLE)
+		set_target_properties(cycles_test PROPERTIES INSTALL_RPATH $ORIGIN/lib)
+	endif()
+endif()
+
+if(WITH_CYCLES_NETWORK)
+	add_executable(cycles_server cycles_server.cpp)
+	target_link_libraries(cycles_server ${LIBRARIES})
+
+	if(UNIX AND NOT APPLE)
+		set_target_properties(cycles_server PROPERTIES INSTALL_RPATH $ORIGIN/lib)
+	endif()
+endif()
+

Added: trunk/blender/intern/cycles/app/cycles_server.cpp
===================================================================
--- trunk/blender/intern/cycles/app/cycles_server.cpp	                        (rev 0)
+++ trunk/blender/intern/cycles/app/cycles_server.cpp	2011-11-08 17:00:40 UTC (rev 41670)
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2011, Blender Foundation.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list