- Undo that changes modes currently asserts, since undo is now screen data. Most likely we will change how object mode and workspaces work since it's not practical/maintainable at the moment. - Removed view_layer from particle settings (wasn't needed and complicated undo).
		
			
				
	
	
		
			556 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			556 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
# ***** BEGIN GPL LICENSE BLOCK *****
 | 
						|
#
 | 
						|
# 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.
 | 
						|
#
 | 
						|
# You should have received a copy of the GNU General Public License
 | 
						|
# along with this program; if not, write to the Free Software Foundation,
 | 
						|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 | 
						|
#
 | 
						|
# The Original Code is Copyright (C) 2006, Blender Foundation
 | 
						|
# All rights reserved.
 | 
						|
#
 | 
						|
# The Original Code is: all of this file.
 | 
						|
#
 | 
						|
# Contributor(s): Jacques Beaurain.
 | 
						|
#
 | 
						|
# ***** END GPL LICENSE BLOCK *****
 | 
						|
 | 
						|
set(INC
 | 
						|
	.
 | 
						|
	../blenfont
 | 
						|
	../blenlib
 | 
						|
	../blenloader
 | 
						|
	../blentranslation
 | 
						|
	../depsgraph
 | 
						|
	../draw
 | 
						|
	../gpu
 | 
						|
	../ikplugin
 | 
						|
	../imbuf
 | 
						|
	../makesdna
 | 
						|
	../makesrna
 | 
						|
	../bmesh
 | 
						|
	../modifiers
 | 
						|
	../nodes
 | 
						|
	../physics
 | 
						|
	../render/extern/include
 | 
						|
	../../../intern/ghost
 | 
						|
	../../../intern/guardedalloc
 | 
						|
	../../../intern/glew-mx
 | 
						|
	../../../intern/iksolver/extern
 | 
						|
	../../../intern/memutil
 | 
						|
	../../../intern/mikktspace
 | 
						|
	../../../intern/smoke/extern
 | 
						|
	../../../intern/atomic
 | 
						|
	../../../intern/clog
 | 
						|
	../../../intern/libmv
 | 
						|
	../../../extern/curve_fit_nd
 | 
						|
)
 | 
						|
 | 
						|
set(INC_SYS
 | 
						|
	${GLEW_INCLUDE_PATH}
 | 
						|
	${ZLIB_INCLUDE_DIRS}
 | 
						|
)
 | 
						|
 | 
						|
set(SRC
 | 
						|
	intern/CCGSubSurf.c
 | 
						|
	intern/CCGSubSurf_legacy.c
 | 
						|
	intern/CCGSubSurf_opensubdiv.c
 | 
						|
	intern/CCGSubSurf_opensubdiv_converter.c
 | 
						|
	intern/CCGSubSurf_util.c
 | 
						|
	intern/DerivedMesh.c
 | 
						|
	intern/action.c
 | 
						|
	intern/addon.c
 | 
						|
	intern/anim.c
 | 
						|
	intern/anim_sys.c
 | 
						|
	intern/appdir.c
 | 
						|
	intern/armature.c
 | 
						|
	intern/armature_update.c
 | 
						|
	intern/autoexec.c
 | 
						|
	intern/blender.c
 | 
						|
	intern/blender_copybuffer.c
 | 
						|
	intern/blender_undo.c
 | 
						|
	intern/blendfile.c
 | 
						|
	intern/bmfont.c
 | 
						|
	intern/boids.c
 | 
						|
	intern/bpath.c
 | 
						|
	intern/brush.c
 | 
						|
	intern/bullet.c
 | 
						|
	intern/bvhutils.c
 | 
						|
	intern/cachefile.c
 | 
						|
	intern/camera.c
 | 
						|
	intern/cdderivedmesh.c
 | 
						|
	intern/cloth.c
 | 
						|
	intern/collection.c
 | 
						|
	intern/collision.c
 | 
						|
	intern/colorband.c
 | 
						|
	intern/colortools.c
 | 
						|
	intern/constraint.c
 | 
						|
	intern/context.c
 | 
						|
	intern/crazyspace.c
 | 
						|
	intern/curve.c
 | 
						|
	intern/curve_decimate.c
 | 
						|
	intern/customdata.c
 | 
						|
	intern/customdata_file.c
 | 
						|
	intern/data_transfer.c
 | 
						|
	intern/deform.c
 | 
						|
	intern/displist.c
 | 
						|
	intern/dynamicpaint.c
 | 
						|
	intern/editderivedmesh.c
 | 
						|
	intern/editlattice.c
 | 
						|
	intern/editmesh.c
 | 
						|
	intern/editmesh_bvh.c
 | 
						|
	intern/editmesh_tangent.c
 | 
						|
	intern/effect.c
 | 
						|
	intern/fcurve.c
 | 
						|
	intern/fluidsim.c
 | 
						|
	intern/fmodifier.c
 | 
						|
	intern/font.c
 | 
						|
	intern/freestyle.c
 | 
						|
	intern/gpencil.c
 | 
						|
	intern/group.c
 | 
						|
	intern/icons.c
 | 
						|
	intern/idcode.c
 | 
						|
	intern/idprop.c
 | 
						|
	intern/image.c
 | 
						|
	intern/image_gen.c
 | 
						|
	intern/ipo.c
 | 
						|
	intern/key.c
 | 
						|
	intern/lamp.c
 | 
						|
	intern/lattice.c
 | 
						|
	intern/library.c
 | 
						|
	intern/library_idmap.c
 | 
						|
	intern/library_override.c
 | 
						|
	intern/library_query.c
 | 
						|
	intern/library_remap.c
 | 
						|
	intern/linestyle.c
 | 
						|
	intern/mask.c
 | 
						|
	intern/mask_evaluate.c
 | 
						|
	intern/mask_rasterize.c
 | 
						|
	intern/material.c
 | 
						|
	intern/mball.c
 | 
						|
	intern/mball_tessellate.c
 | 
						|
	intern/mesh.c
 | 
						|
	intern/mesh_evaluate.c
 | 
						|
	intern/mesh_mapping.c
 | 
						|
	intern/mesh_remap.c
 | 
						|
	intern/mesh_tangent.c
 | 
						|
	intern/mesh_validate.c
 | 
						|
	intern/modifier.c
 | 
						|
	intern/modifiers_bmesh.c
 | 
						|
	intern/movieclip.c
 | 
						|
	intern/multires.c
 | 
						|
	intern/nla.c
 | 
						|
	intern/node.c
 | 
						|
	intern/object.c
 | 
						|
	intern/object_facemap.c
 | 
						|
	intern/object_deform.c
 | 
						|
	intern/object_dupli.c
 | 
						|
	intern/object_update.c
 | 
						|
	intern/ocean.c
 | 
						|
	intern/outliner_treehash.c
 | 
						|
	intern/packedFile.c
 | 
						|
	intern/paint.c
 | 
						|
	intern/particle.c
 | 
						|
	intern/particle_child.c
 | 
						|
	intern/particle_distribute.c
 | 
						|
	intern/particle_system.c
 | 
						|
	intern/pbvh.c
 | 
						|
	intern/pbvh_bmesh.c
 | 
						|
	intern/pointcache.c
 | 
						|
	intern/property.c
 | 
						|
	intern/layer.c
 | 
						|
	intern/lightprobe.c
 | 
						|
	intern/report.c
 | 
						|
	intern/rigidbody.c
 | 
						|
	intern/sca.c
 | 
						|
	intern/scene.c
 | 
						|
	intern/screen.c
 | 
						|
	intern/seqcache.c
 | 
						|
	intern/seqeffects.c
 | 
						|
	intern/seqmodifier.c
 | 
						|
	intern/sequencer.c
 | 
						|
	intern/shrinkwrap.c
 | 
						|
	intern/sketch.c
 | 
						|
	intern/smoke.c
 | 
						|
	intern/softbody.c
 | 
						|
	intern/sound.c
 | 
						|
	intern/speaker.c
 | 
						|
	intern/subsurf_ccg.c
 | 
						|
	intern/suggestions.c
 | 
						|
	intern/text.c
 | 
						|
	intern/texture.c
 | 
						|
	intern/tracking.c
 | 
						|
	intern/tracking_auto.c
 | 
						|
	intern/tracking_detect.c
 | 
						|
	intern/tracking_plane_tracker.c
 | 
						|
	intern/tracking_region_tracker.c
 | 
						|
	intern/tracking_solver.c
 | 
						|
	intern/tracking_stabilize.c
 | 
						|
	intern/tracking_util.c
 | 
						|
	intern/undo_system.c
 | 
						|
	intern/unit.c
 | 
						|
	intern/workspace.c
 | 
						|
	intern/world.c
 | 
						|
	intern/writeavi.c
 | 
						|
	intern/writeframeserver.c
 | 
						|
 | 
						|
	BKE_DerivedMesh.h
 | 
						|
	BKE_action.h
 | 
						|
	BKE_addon.h
 | 
						|
	BKE_anim.h
 | 
						|
	BKE_animsys.h
 | 
						|
	BKE_appdir.h
 | 
						|
	BKE_armature.h
 | 
						|
	BKE_autoexec.h
 | 
						|
	BKE_blender.h
 | 
						|
	BKE_blender_copybuffer.h
 | 
						|
	BKE_blender_undo.h
 | 
						|
	BKE_blender_version.h
 | 
						|
	BKE_blendfile.h
 | 
						|
	BKE_bmfont.h
 | 
						|
	BKE_bmfont_types.h
 | 
						|
	BKE_boids.h
 | 
						|
	BKE_bpath.h
 | 
						|
	BKE_brush.h
 | 
						|
	BKE_bullet.h
 | 
						|
	BKE_bvhutils.h
 | 
						|
	BKE_cachefile.h
 | 
						|
	BKE_camera.h
 | 
						|
	BKE_ccg.h
 | 
						|
	BKE_cdderivedmesh.h
 | 
						|
	BKE_cloth.h
 | 
						|
	BKE_collection.h
 | 
						|
	BKE_collision.h
 | 
						|
	BKE_colorband.h
 | 
						|
	BKE_colortools.h
 | 
						|
	BKE_constraint.h
 | 
						|
	BKE_context.h
 | 
						|
	BKE_crazyspace.h
 | 
						|
	BKE_curve.h
 | 
						|
	BKE_customdata.h
 | 
						|
	BKE_customdata_file.h
 | 
						|
	BKE_data_transfer.h
 | 
						|
	BKE_deform.h
 | 
						|
	BKE_displist.h
 | 
						|
	BKE_dynamicpaint.h
 | 
						|
	BKE_editlattice.h
 | 
						|
	BKE_editmesh.h
 | 
						|
	BKE_editmesh_bvh.h
 | 
						|
	BKE_editmesh_tangent.h
 | 
						|
	BKE_effect.h
 | 
						|
	BKE_fcurve.h
 | 
						|
	BKE_fluidsim.h
 | 
						|
	BKE_font.h
 | 
						|
	BKE_freestyle.h
 | 
						|
	BKE_global.h
 | 
						|
	BKE_gpencil.h
 | 
						|
	BKE_group.h
 | 
						|
	BKE_icons.h
 | 
						|
	BKE_idcode.h
 | 
						|
	BKE_idprop.h
 | 
						|
	BKE_image.h
 | 
						|
	BKE_ipo.h
 | 
						|
	BKE_key.h
 | 
						|
	BKE_lamp.h
 | 
						|
	BKE_lattice.h
 | 
						|
	BKE_library.h
 | 
						|
	BKE_library_idmap.h
 | 
						|
	BKE_library_override.h
 | 
						|
	BKE_library_query.h
 | 
						|
	BKE_library_remap.h
 | 
						|
	BKE_linestyle.h
 | 
						|
	BKE_main.h
 | 
						|
	BKE_mask.h
 | 
						|
	BKE_material.h
 | 
						|
	BKE_mball.h
 | 
						|
	BKE_mball_tessellate.h
 | 
						|
	BKE_mesh.h
 | 
						|
	BKE_mesh_mapping.h
 | 
						|
	BKE_mesh_remap.h
 | 
						|
	BKE_mesh_tangent.h
 | 
						|
	BKE_modifier.h
 | 
						|
	BKE_movieclip.h
 | 
						|
	BKE_multires.h
 | 
						|
	BKE_nla.h
 | 
						|
	BKE_node.h
 | 
						|
	BKE_object.h
 | 
						|
	BKE_object_facemap.h
 | 
						|
	BKE_object_deform.h
 | 
						|
	BKE_ocean.h
 | 
						|
	BKE_outliner_treehash.h
 | 
						|
	BKE_packedFile.h
 | 
						|
	BKE_paint.h
 | 
						|
	BKE_particle.h
 | 
						|
	BKE_pbvh.h
 | 
						|
	BKE_pointcache.h
 | 
						|
	BKE_property.h
 | 
						|
	BKE_layer.h
 | 
						|
	BKE_lightprobe.h
 | 
						|
	BKE_report.h
 | 
						|
	BKE_rigidbody.h
 | 
						|
	BKE_sca.h
 | 
						|
	BKE_scene.h
 | 
						|
	BKE_screen.h
 | 
						|
	BKE_sequencer.h
 | 
						|
	BKE_shrinkwrap.h
 | 
						|
	BKE_sketch.h
 | 
						|
	BKE_smoke.h
 | 
						|
	BKE_softbody.h
 | 
						|
	BKE_sound.h
 | 
						|
	BKE_speaker.h
 | 
						|
	BKE_subsurf.h
 | 
						|
	BKE_suggestions.h
 | 
						|
	BKE_text.h
 | 
						|
	BKE_texture.h
 | 
						|
	BKE_tracking.h
 | 
						|
	BKE_undo_system.h
 | 
						|
	BKE_unit.h
 | 
						|
	BKE_workspace.h
 | 
						|
	BKE_world.h
 | 
						|
	BKE_writeavi.h
 | 
						|
	BKE_writeframeserver.h
 | 
						|
 | 
						|
	nla_private.h
 | 
						|
	tracking_private.h
 | 
						|
	particle_private.h
 | 
						|
	intern/CCGSubSurf.h
 | 
						|
	intern/CCGSubSurf_inline.h
 | 
						|
	intern/CCGSubSurf_intern.h
 | 
						|
	intern/pbvh_intern.h
 | 
						|
	intern/data_transfer_intern.h
 | 
						|
)
 | 
						|
 | 
						|
if(WITH_BINRELOC)
 | 
						|
	list(APPEND INC_SYS
 | 
						|
		${BINRELOC_INCLUDE_DIRS}
 | 
						|
	)
 | 
						|
	add_definitions(-DWITH_BINRELOC)
 | 
						|
endif()
 | 
						|
 | 
						|
add_definitions(${GL_DEFINITIONS})
 | 
						|
 | 
						|
if(WIN32)
 | 
						|
	list(APPEND INC
 | 
						|
		../../../intern/utfconv
 | 
						|
	)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_AUDASPACE)
 | 
						|
	add_definitions(-DWITH_AUDASPACE)
 | 
						|
 | 
						|
	list(APPEND INC_SYS
 | 
						|
		${AUDASPACE_C_INCLUDE_DIRS}
 | 
						|
	)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_BULLET)
 | 
						|
	list(APPEND INC_SYS
 | 
						|
		${BULLET_INCLUDE_DIRS}
 | 
						|
	)
 | 
						|
	list(APPEND INC
 | 
						|
		../../../intern/rigidbody
 | 
						|
	)
 | 
						|
	add_definitions(-DWITH_BULLET)
 | 
						|
endif()
 | 
						|
 | 
						|
#if(WITH_MOD_CLOTH_ELTOPO)
 | 
						|
#	list(APPEND INC
 | 
						|
#		../../../extern/eltopo
 | 
						|
#		../../../extern/eltopo/eltopo3d
 | 
						|
#	)
 | 
						|
#	add_definitions(-DWITH_ELTOPO)
 | 
						|
#endif()
 | 
						|
 | 
						|
if(WITH_IMAGE_OPENEXR)
 | 
						|
	add_definitions(-DWITH_OPENEXR)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_IMAGE_TIFF)
 | 
						|
	add_definitions(-DWITH_TIFF)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_OPENIMAGEIO)
 | 
						|
	add_definitions(-DWITH_OPENIMAGEIO)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_IMAGE_OPENJPEG)
 | 
						|
	add_definitions(-DWITH_OPENJPEG)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_IMAGE_DDS)
 | 
						|
	add_definitions(-DWITH_DDS)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_IMAGE_CINEON)
 | 
						|
	add_definitions(-DWITH_CINEON)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_IMAGE_FRAMESERVER)
 | 
						|
	add_definitions(-DWITH_FRAMESERVER)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_IMAGE_HDR)
 | 
						|
	add_definitions(-DWITH_HDR)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_CODEC_AVI)
 | 
						|
	list(APPEND INC
 | 
						|
		../avi
 | 
						|
	)
 | 
						|
	add_definitions(-DWITH_AVI)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_CODEC_FFMPEG)
 | 
						|
	list(APPEND SRC
 | 
						|
		intern/writeffmpeg.c
 | 
						|
		BKE_writeffmpeg.h
 | 
						|
	)
 | 
						|
	list(APPEND INC
 | 
						|
		../../../intern/ffmpeg
 | 
						|
	)
 | 
						|
	list(APPEND INC_SYS
 | 
						|
		${FFMPEG_INCLUDE_DIRS}
 | 
						|
	)
 | 
						|
	add_definitions(-DWITH_FFMPEG)
 | 
						|
 | 
						|
	remove_strict_flags_file(
 | 
						|
		intern/writeffmpeg.c
 | 
						|
	)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_PYTHON)
 | 
						|
	list(APPEND INC
 | 
						|
		../python
 | 
						|
	)
 | 
						|
	add_definitions(-DWITH_PYTHON)
 | 
						|
 | 
						|
	if(WITH_PYTHON_SAFETY)
 | 
						|
		add_definitions(-DWITH_PYTHON_SAFETY)
 | 
						|
	endif()
 | 
						|
 | 
						|
	if(WITH_PYTHON_SECURITY)
 | 
						|
		add_definitions(-DWITH_PYTHON_SECURITY)
 | 
						|
	endif()
 | 
						|
 | 
						|
 | 
						|
	if(PYTHON_EXECUTABLE)
 | 
						|
		get_filename_component(_python_exe_name ${PYTHON_EXECUTABLE} NAME)
 | 
						|
		add_definitions(-DPYTHON_EXECUTABLE_NAME=${_python_exe_name})
 | 
						|
		unset(_python_exe_name)
 | 
						|
	endif()
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_MOD_FLUID)
 | 
						|
	list(APPEND INC
 | 
						|
		../../../intern/elbeem/extern
 | 
						|
	)
 | 
						|
	add_definitions(-DWITH_MOD_FLUID)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_MOD_SMOKE)
 | 
						|
	add_definitions(-DWITH_SMOKE)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_MOD_OCEANSIM)
 | 
						|
	add_definitions(-DWITH_OCEANSIM)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_JACK)
 | 
						|
	add_definitions(-DWITH_JACK)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_LZO)
 | 
						|
	if(WITH_SYSTEM_LZO)
 | 
						|
		list(APPEND INC_SYS
 | 
						|
			${LZO_INCLUDE_DIR}
 | 
						|
		)
 | 
						|
		add_definitions(-DWITH_SYSTEM_LZO)
 | 
						|
	else()
 | 
						|
		list(APPEND INC_SYS
 | 
						|
			../../../extern/lzo/minilzo
 | 
						|
		)
 | 
						|
	endif()
 | 
						|
	add_definitions(-DWITH_LZO)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_LZMA)
 | 
						|
	list(APPEND INC_SYS
 | 
						|
		../../../extern/lzma
 | 
						|
	)
 | 
						|
	add_definitions(-DWITH_LZMA)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_GAMEENGINE)
 | 
						|
	list(APPEND INC_SYS
 | 
						|
		../../../extern/recastnavigation
 | 
						|
	)
 | 
						|
	list(APPEND SRC
 | 
						|
		intern/navmesh_conversion.c
 | 
						|
		BKE_navmesh_conversion.h
 | 
						|
	)
 | 
						|
 | 
						|
	add_definitions(-DWITH_GAMEENGINE)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_LIBMV)
 | 
						|
	add_definitions(-DWITH_LIBMV)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_FFTW3)
 | 
						|
	list(APPEND INC_SYS
 | 
						|
		${FFTW3_INCLUDE_DIRS}
 | 
						|
	)
 | 
						|
	add_definitions(-DFFTW3=1)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_INTERNATIONAL)
 | 
						|
	add_definitions(-DWITH_INTERNATIONAL)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_FREESTYLE)
 | 
						|
	add_definitions(-DWITH_FREESTYLE)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_ALEMBIC)
 | 
						|
	list(APPEND INC
 | 
						|
		../alembic
 | 
						|
	)
 | 
						|
	add_definitions(-DWITH_ALEMBIC)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_OPENSUBDIV)
 | 
						|
	add_definitions(-DWITH_OPENSUBDIV)
 | 
						|
	list(APPEND INC_SYS
 | 
						|
		../../../intern/opensubdiv
 | 
						|
		${OPENSUBDIV_INCLUDE_DIRS}
 | 
						|
	)
 | 
						|
endif()
 | 
						|
 | 
						|
if(WITH_OPENVDB)
 | 
						|
	add_definitions(-DWITH_OPENVDB)
 | 
						|
	list(APPEND INC
 | 
						|
		 ../../../intern/openvdb
 | 
						|
	)
 | 
						|
 | 
						|
	if(WITH_OPENVDB_BLOSC)
 | 
						|
		add_definitions(
 | 
						|
			-DWITH_OPENVDB_BLOSC
 | 
						|
		)
 | 
						|
	endif()
 | 
						|
endif()
 | 
						|
 | 
						|
## Warnings as errors, this is too strict!
 | 
						|
#if(MSVC)
 | 
						|
#	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
 | 
						|
#endif()
 | 
						|
 | 
						|
blender_add_lib(bf_blenkernel "${SRC}" "${INC}" "${INC_SYS}")
 |