Files
test/source/blender/blenkernel/CMakeLists.txt
Jesse Yurkovich ec4fc2d34a CMake: Modernize the optional TBB dependency
This continues the cmake modernization effort and introduces support for
allowing our optional dependencies to integrate properly. TBB is added
here as it's proven troublesome to maintain correctly.

Currently the only Blender project which uses the TBB headers directly
is `blenlib`.  However, all downstream projects which require blenlib as
their dependency, and wish to properly make use of its threading
facilities, needed to define various TBB items in their CMake files. Not
only is this unnecessary and arcane, but several projects didn't do this
and ended up not using threading as well as producing ODR violations
along the way[1].

This PR makes TBB a modern dependency and exposes it PUBLIC'ly from
`blenlib`.  All downstream projects which depend on blenlib will now
receive everything they require from TBB automatically. This includes
the `WITH_TBB` define, the headers, and the library itself.

[1] blender/blender@05241f47f5

Pull Request: https://projects.blender.org/blender/blender/pulls/124916
2024-07-19 23:30:56 +02:00

858 lines
18 KiB
CMake

# SPDX-FileCopyrightText: 2006 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
set(INC
.
../asset_system
../blenloader
../blentranslation
../bmesh
../draw
../functions
../gpencil_modifiers_legacy
../gpu
../ikplugin
../imbuf
../makesrna
../modifiers
../nodes
../nodes/geometry/include
../render
../sequencer
../shader_fx
../simulation
../../../intern/eigen
../../../intern/ghost
../../../intern/iksolver/extern
../../../intern/libmv
../../../intern/mantaflow/extern
../../../intern/memutil
../../../intern/mikktspace
../../../intern/opensubdiv
# RNA_prototypes.hh
${CMAKE_BINARY_DIR}/source/blender/makesrna
)
set(INC_SYS
${ZLIB_INCLUDE_DIRS}
# For `vfontdata_freetype.cc`.
${FREETYPE_INCLUDE_DIRS}
)
set(SRC
${CMAKE_SOURCE_DIR}/release/datafiles/userdef/userdef_default.c
intern/CCGSubSurf.cc
intern/CCGSubSurf_legacy.cc
intern/CCGSubSurf_util.cc
intern/action.cc
intern/action_bones.cc
intern/action_mirror.cc
intern/addon.cc
intern/anim_data.cc
intern/anim_path.cc
intern/anim_sys.cc
intern/anim_visualization.cc
intern/anonymous_attribute_id.cc
intern/appdir.cc
intern/armature.cc
intern/armature_deform.cc
intern/armature_pose.cc
intern/armature_selection.cc
intern/armature_update.cc
intern/asset.cc
intern/asset_weak_reference.cc
intern/asset_edit.cc
intern/attribute.cc
intern/attribute_access.cc
intern/attribute_math.cc
intern/autoexec.cc
intern/bake_data_block_map.cc
intern/bake_geometry_nodes_modifier.cc
intern/bake_items.cc
intern/bake_items_paths.cc
intern/bake_items_serialize.cc
intern/bake_items_socket.cc
intern/blender.cc
intern/blender_cli_command.cc
intern/blender_copybuffer.cc
intern/blender_undo.cc
intern/blender_user_menu.cc
intern/blendfile.cc
intern/blendfile_link_append.cc
intern/boids.cc
intern/bpath.cc
intern/brush.cc
intern/bvhutils.cc
intern/cachefile.cc
intern/callbacks.cc
intern/camera.cc
intern/cloth.cc
intern/collection.cc
intern/collision.cc
intern/colorband.cc
intern/colortools.cc
intern/compute_contexts.cc
intern/constraint.cc
intern/context.cc
intern/cpp_types.cc
intern/crazyspace.cc
intern/cryptomatte.cc
intern/curve.cc
intern/curve_bevel.cc
intern/curve_bezier.cc
intern/curve_catmull_rom.cc
intern/curve_convert.cc
intern/curve_decimate.cc
intern/curve_deform.cc
intern/curve_legacy_convert.cc
intern/curve_nurbs.cc
intern/curve_poly.cc
intern/curve_to_mesh_convert.cc
intern/curveprofile.cc
intern/curves.cc
intern/curves_geometry.cc
intern/curves_utils.cc
intern/customdata.cc
intern/customdata_file.cc
intern/data_transfer.cc
intern/deform.cc
intern/displist.cc
intern/dynamicpaint.cc
intern/editlattice.cc
intern/editmesh.cc
intern/editmesh_bvh.cc
intern/editmesh_cache.cc
intern/editmesh_tangent.cc
intern/effect.cc
intern/fcurve.cc
intern/fcurve_cache.cc
intern/fcurve_driver.cc
intern/file_handler.cc
intern/fluid.cc
intern/fmodifier.cc
intern/freestyle.cc
intern/geometry_component_curves.cc
intern/geometry_component_edit_data.cc
intern/geometry_component_grease_pencil.cc
intern/geometry_component_instances.cc
intern/geometry_component_mesh.cc
intern/geometry_component_pointcloud.cc
intern/geometry_component_volume.cc
intern/geometry_fields.cc
intern/geometry_set.cc
intern/geometry_set_instances.cc
intern/gpencil_curve_legacy.cc
intern/gpencil_geom_legacy.cc
intern/gpencil_legacy.cc
intern/gpencil_modifier_legacy.cc
intern/gpencil_update_cache_legacy.cc
intern/grease_pencil.cc
intern/grease_pencil_convert_legacy.cc
intern/grease_pencil_vertex_groups.cc
intern/icons.cc
intern/icons_rasterize.cc
intern/idprop.cc
intern/idprop_create.cc
intern/idprop_serialize.cc
intern/idprop_utils.cc
intern/idtype.cc
intern/image.cc
intern/image_format.cc
intern/image_gen.cc
intern/image_gpu.cc
intern/image_partial_update.cc
intern/image_save.cc
intern/instances.cc
intern/ipo.cc
intern/kelvinlet.cc
intern/key.cc
intern/keyconfig.cc
intern/lattice.cc
intern/lattice_deform.cc
intern/layer.cc
intern/layer_utils.cc
intern/lib_id.cc
intern/lib_id_delete.cc
intern/lib_id_eval.cc
intern/lib_id_remapper.cc
intern/lib_override.cc
intern/lib_override_proxy_conversion.cc
intern/lib_query.cc
intern/lib_remap.cc
intern/library.cc
intern/light.cc
intern/light_linking.cc
intern/lightprobe.cc
intern/linestyle.cc
intern/main.cc
intern/main_idmap.cc
intern/main_namemap.cc
intern/mask.cc
intern/mask_evaluate.cc
intern/mask_rasterize.cc
intern/material.cc
intern/mball.cc
intern/mball_tessellate.cc
intern/mesh.cc
intern/mesh_calc_edges.cc
intern/mesh_compare.cc
intern/mesh_convert.cc
intern/mesh_data_update.cc
intern/mesh_debug.cc
intern/mesh_evaluate.cc
intern/mesh_fair.cc
intern/mesh_flip_faces.cc
intern/mesh_iterators.cc
intern/mesh_legacy_convert.cc
intern/mesh_legacy_derived_mesh.cc
intern/mesh_mapping.cc
intern/mesh_merge_customdata.cc
intern/mesh_mirror.cc
intern/mesh_normals.cc
intern/mesh_remap.cc
intern/mesh_remesh_voxel.cc
intern/mesh_runtime.cc
intern/mesh_sample.cc
intern/mesh_tangent.cc
intern/mesh_tessellate.cc
intern/mesh_validate.cc
intern/mesh_wrapper.cc
intern/modifier.cc
intern/movieclip.cc
intern/multires.cc
intern/multires_reshape.cc
intern/multires_reshape_apply_base.cc
intern/multires_reshape_ccg.cc
intern/multires_reshape_smooth.cc
intern/multires_reshape_subdivide.cc
intern/multires_reshape_util.cc
intern/multires_reshape_vertcos.cc
intern/multires_subdiv.cc
intern/multires_unsubdivide.cc
intern/multires_versioning.cc
intern/nla.cc
intern/node.cc
intern/node_enum_definition.cc
intern/node_runtime.cc
intern/node_socket_value.cc
intern/node_tree_anonymous_attributes.cc
intern/node_tree_dot_export.cc
intern/node_tree_field_inferencing.cc
intern/node_tree_interface.cc
intern/node_tree_update.cc
intern/node_tree_zones.cc
intern/object.cc
intern/object_deform.cc
intern/object_dupli.cc
intern/object_update.cc
intern/ocean.cc
intern/ocean_spectrum.cc
intern/outliner_treehash.cc
intern/packedFile.cc
intern/paint.cc
intern/paint_canvas.cc
intern/particle.cc
intern/particle_child.cc
intern/particle_distribute.cc
intern/particle_system.cc
intern/pbvh.cc
intern/pbvh_bmesh.cc
intern/pbvh_pixels.cc
intern/pbvh_pixels_copy.cc
intern/pbvh_uv_islands.cc
intern/pointcache.cc
intern/pointcloud.cc
intern/pose_backup.cc
intern/preferences.cc
intern/preview_image.cc
intern/report.cc
intern/rigidbody.cc
intern/scene.cc
intern/screen.cc
intern/shader_fx.cc
intern/shrinkwrap.cc
intern/softbody.cc
intern/sound.cc
intern/speaker.cc
intern/studiolight.cc
intern/subdiv.cc
intern/subdiv_ccg.cc
intern/subdiv_ccg_mask.cc
intern/subdiv_converter.cc
intern/subdiv_converter_mesh.cc
intern/subdiv_deform.cc
intern/subdiv_displacement.cc
intern/subdiv_displacement_multires.cc
intern/subdiv_eval.cc
intern/subdiv_foreach.cc
intern/subdiv_mesh.cc
intern/subdiv_modifier.cc
intern/subdiv_stats.cc
intern/subdiv_topology.cc
intern/subsurf_ccg.cc
intern/text.cc
intern/text_suggestions.cc
intern/texture.cc
intern/tracking.cc
intern/tracking_auto.cc
intern/tracking_detect.cc
intern/tracking_plane_tracker.cc
intern/tracking_region_tracker.cc
intern/tracking_solver.cc
intern/tracking_stabilize.cc
intern/tracking_util.cc
intern/type_conversions.cc
intern/undo_system.cc
intern/unit.cc
intern/vfont.cc
intern/vfontdata_freetype.cc
intern/viewer_path.cc
intern/volume.cc
intern/volume_grid.cc
intern/volume_grid_file_cache.cc
intern/volume_render.cc
intern/volume_to_mesh.cc
intern/wm_runtime.cc
intern/workspace.cc
intern/world.cc
intern/writemovie.cc
BKE_action.h
BKE_action.hh
BKE_addon.h
BKE_anim_data.hh
BKE_anim_path.h
BKE_anim_visualization.h
BKE_animsys.h
BKE_anonymous_attribute_id.hh
BKE_appdir.hh
BKE_armature.hh
BKE_asset.hh
BKE_asset_edit.hh
BKE_attribute.h
BKE_attribute.hh
BKE_attribute_math.hh
BKE_autoexec.hh
BKE_bake_data_block_map.hh
BKE_bake_geometry_nodes_modifier.hh
BKE_bake_items.hh
BKE_bake_items_paths.hh
BKE_bake_items_serialize.hh
BKE_bake_items_socket.hh
BKE_blender.hh
BKE_blender_cli_command.hh
BKE_blender_copybuffer.hh
BKE_blender_undo.hh
BKE_blender_user_menu.hh
BKE_blender_version.h
BKE_blendfile.hh
BKE_blendfile_link_append.hh
BKE_boids.h
BKE_bpath.hh
BKE_brush.hh
BKE_bvhutils.hh
BKE_cachefile.hh
BKE_callbacks.hh
BKE_camera.h
BKE_ccg.hh
BKE_cloth.hh
BKE_collection.hh
BKE_collision.h
BKE_colorband.hh
BKE_colortools.hh
BKE_compute_contexts.hh
BKE_constraint.h
BKE_context.hh
BKE_cpp_types.hh
BKE_crazyspace.hh
BKE_cryptomatte.h
BKE_cryptomatte.hh
BKE_curve.hh
BKE_curve_legacy_convert.hh
BKE_curve_to_mesh.hh
BKE_curveprofile.h
BKE_curves.h
BKE_curves.hh
BKE_curves_utils.hh
BKE_customdata.hh
BKE_customdata_file.h
BKE_data_transfer.h
BKE_deform.hh
BKE_displist.h
BKE_duplilist.hh
BKE_dynamicpaint.h
BKE_editlattice.h
BKE_editmesh.hh
BKE_editmesh_bvh.h
BKE_editmesh_cache.hh
BKE_editmesh_tangent.hh
BKE_effect.h
BKE_fcurve.hh
BKE_fcurve_driver.h
BKE_file_handler.hh
BKE_fluid.h
BKE_freestyle.h
BKE_geometry_fields.hh
BKE_geometry_set.hh
BKE_geometry_set_instances.hh
BKE_global.hh
BKE_gpencil_curve_legacy.h
BKE_gpencil_geom_legacy.h
BKE_gpencil_legacy.h
BKE_gpencil_modifier_legacy.h
BKE_gpencil_update_cache_legacy.h
BKE_grease_pencil.h
BKE_grease_pencil.hh
BKE_grease_pencil_legacy_convert.hh
BKE_grease_pencil_vertex_groups.hh
BKE_icons.h
BKE_idprop.hh
BKE_idtype.hh
BKE_image.h
BKE_image_format.h
BKE_image_partial_update.hh
BKE_image_save.h
BKE_image_wrappers.hh
BKE_instances.hh
BKE_ipo.h
BKE_kelvinlet.h
BKE_key.hh
BKE_keyconfig.h
BKE_lattice.hh
BKE_layer.hh
BKE_lib_id.hh
BKE_lib_override.hh
BKE_lib_query.hh
BKE_lib_remap.hh
BKE_library.hh
BKE_light.h
BKE_light_linking.h
BKE_lightprobe.h
BKE_linestyle.h
BKE_main.hh
BKE_main_idmap.hh
BKE_main_namemap.hh
BKE_mask.h
BKE_material.h
BKE_mball.hh
BKE_mball_tessellate.hh
BKE_mesh.h
BKE_mesh.hh
BKE_mesh_compare.hh
BKE_mesh_fair.hh
BKE_mesh_iterators.hh
BKE_mesh_legacy_convert.hh
BKE_mesh_legacy_derived_mesh.hh
BKE_mesh_mapping.hh
BKE_mesh_mirror.hh
BKE_mesh_remap.hh
BKE_mesh_remesh_voxel.hh
BKE_mesh_runtime.hh
BKE_mesh_sample.hh
BKE_mesh_tangent.hh
BKE_mesh_types.hh
BKE_mesh_wrapper.hh
BKE_modifier.hh
BKE_movieclip.h
BKE_multires.hh
BKE_nla.h
BKE_node.hh
BKE_node_enum.hh
BKE_node_runtime.hh
BKE_node_socket_value.hh
BKE_node_tree_anonymous_attributes.hh
BKE_node_tree_dot_export.hh
BKE_node_tree_interface.hh
BKE_node_tree_update.hh
BKE_node_tree_zones.hh
BKE_object.hh
BKE_object_deform.h
BKE_object_types.hh
BKE_ocean.h
BKE_outliner_treehash.hh
BKE_packedFile.h
BKE_paint.hh
BKE_particle.h
BKE_pbvh.hh
BKE_pbvh_api.hh
BKE_pbvh_pixels.hh
BKE_pointcache.h
BKE_pointcloud.hh
BKE_pose_backup.h
BKE_preferences.h
BKE_preview_image.hh
BKE_report.hh
BKE_rigidbody.h
BKE_scene.hh
BKE_scene_runtime.hh
BKE_screen.hh
BKE_sequencer_offscreen.h
BKE_shader_fx.h
BKE_shrinkwrap.hh
BKE_softbody.h
BKE_sound.h
BKE_speaker.h
BKE_studiolight.h
BKE_subdiv.hh
BKE_subdiv_ccg.hh
BKE_subdiv_deform.hh
BKE_subdiv_eval.hh
BKE_subdiv_foreach.hh
BKE_subdiv_mesh.hh
BKE_subdiv_modifier.hh
BKE_subdiv_topology.hh
BKE_subsurf.hh
BKE_text.h
BKE_text_suggestions.h
BKE_texture.h
BKE_tracking.h
BKE_type_conversions.hh
BKE_undo_system.hh
BKE_unit.hh
BKE_vfont.hh
BKE_vfontdata.hh
BKE_viewer_path.hh
BKE_volume.hh
BKE_volume_enums.hh
BKE_volume_grid.hh
BKE_volume_grid_file_cache.hh
BKE_volume_openvdb.hh
BKE_volume_render.hh
BKE_volume_to_mesh.hh
BKE_wm_runtime.hh
BKE_workspace.hh
BKE_world.h
BKE_writemovie.hh
nla_private.h
particle_private.h
tracking_private.h
intern/CCGSubSurf.h
intern/CCGSubSurf_inline.h
intern/CCGSubSurf_intern.h
intern/attribute_access_intern.hh
intern/data_transfer_intern.h
intern/lib_intern.hh
intern/multires_inline.hh
intern/multires_reshape.hh
intern/multires_unsubdivide.hh
intern/ocean_intern.h
intern/pbvh_intern.hh
intern/pbvh_pixels_copy.hh
intern/pbvh_uv_islands.hh
intern/subdiv_converter.hh
intern/subdiv_inline.hh
)
set(LIB
PRIVATE bf::animrig
bf_asset_system
PRIVATE bf::blenfont
PRIVATE bf::blenlib
bf_blenloader
bf_blentranslation
bf_bmesh
PRIVATE bf::depsgraph
PRIVATE bf::dna
bf_draw
PRIVATE bf::extern::curve_fit_nd
bf_functions
bf_gpencil_modifiers_legacy
bf_gpu
bf_ikplugin
bf_imbuf
PRIVATE bf::intern::clog
bf_intern_ghost
PRIVATE bf::intern::guardedalloc
bf_intern_libmv # Uses stub when disabled.
bf_intern_mikktspace
bf_intern_opensubdiv # Uses stub when disabled.
bf_modifiers
bf_nodes
bf_rna
bf_shader_fx
bf_simulation
PRIVATE bf::extern::fmtlib
PRIVATE bf::extern::xxhash
PRIVATE bf::intern::atomic
# For `vfontdata_freetype.c`.
${FREETYPE_LIBRARIES} ${BROTLI_LIBRARIES}
)
if(WITH_BINRELOC)
list(APPEND INC_SYS
${BINRELOC_INCLUDE_DIRS}
)
list(APPEND LIB
extern_binreloc
)
add_definitions(-DWITH_BINRELOC)
endif()
if(WIN32)
list(APPEND INC
../../../intern/utfconv
)
endif()
if(WITH_AUDASPACE)
list(APPEND INC_SYS
${AUDASPACE_C_INCLUDE_DIRS}
)
if(WITH_SYSTEM_AUDASPACE)
list(APPEND LIB
${AUDASPACE_C_LIBRARIES}
${AUDASPACE_PY_LIBRARIES}
)
endif()
add_definitions(-DWITH_AUDASPACE)
endif()
if(WITH_BULLET)
list(APPEND INC_SYS
${BULLET_INCLUDE_DIRS}
)
list(APPEND INC
../../../intern/rigidbody
)
list(APPEND LIB
bf_intern_rigidbody
${BULLET_LIBRARIES}
)
add_definitions(-DWITH_BULLET)
endif()
if(WITH_IMAGE_OPENEXR)
add_definitions(-DWITH_OPENEXR)
endif()
if(WITH_IMAGE_OPENJPEG)
add_definitions(-DWITH_OPENJPEG)
endif()
if(WITH_IMAGE_CINEON)
add_definitions(-DWITH_CINEON)
endif()
if(WITH_IMAGE_WEBP)
add_definitions(-DWITH_WEBP)
endif()
if(WITH_CODEC_FFMPEG)
list(APPEND SRC
intern/writeffmpeg.cc
BKE_writeffmpeg.hh
)
list(APPEND INC
../../../intern/ffmpeg
)
list(APPEND INC_SYS
${FFMPEG_INCLUDE_DIRS}
)
list(APPEND LIB
${FFMPEG_LIBRARIES}
)
add_definitions(-DWITH_FFMPEG)
endif()
if(WITH_PYTHON)
list(APPEND INC
../python
)
list(APPEND LIB
bf_python
bf_python_bmesh
)
add_definitions(-DWITH_PYTHON)
if(WITH_PYTHON_MODULE)
add_definitions(-DWITH_PYTHON_MODULE)
endif()
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 LIB
bf_intern_mantaflow
)
add_definitions(-DWITH_FLUID)
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}
)
list(APPEND LIB
${LZO_LIBRARIES}
)
add_definitions(-DWITH_SYSTEM_LZO)
else()
list(APPEND INC_SYS
../../../extern/lzo/minilzo
)
list(APPEND LIB
extern_minilzo
)
endif()
add_definitions(-DWITH_LZO)
endif()
if(WITH_LZMA)
list(APPEND INC_SYS
../../../extern/lzma
)
list(APPEND LIB
extern_lzma
)
add_definitions(-DWITH_LZMA)
endif()
if(WITH_LIBMV)
add_definitions(-DWITH_LIBMV)
endif()
if(WITH_FFTW3)
list(APPEND INC_SYS
${FFTW3_INCLUDE_DIRS}
)
list(APPEND LIB
${FFTW3_LIBRARIES}
)
add_definitions(-DFFTW3=1)
endif()
if(WITH_FREESTYLE)
add_definitions(-DWITH_FREESTYLE)
endif()
if(WITH_ALEMBIC)
list(APPEND INC
../io/alembic
)
add_definitions(-DWITH_ALEMBIC)
endif()
if(WITH_USD)
list(APPEND INC
../io/usd
)
add_definitions(-DWITH_USD)
endif()
if(WITH_OPENSUBDIV)
list(APPEND INC_SYS
${OPENSUBDIV_INCLUDE_DIRS}
)
list(APPEND LIB
${OPENSUBDIV_LIBRARIES}
)
add_definitions(-DWITH_OPENSUBDIV)
endif()
if(WITH_OPENVDB)
list(APPEND INC
../../../intern/openvdb
)
list(APPEND INC_SYS
${OPENVDB_INCLUDE_DIRS}
)
list(APPEND LIB
bf_intern_openvdb
${OPENVDB_LIBRARIES}
)
add_definitions(-DWITH_OPENVDB ${OPENVDB_DEFINITIONS})
endif()
if(WITH_QUADRIFLOW)
list(APPEND INC
../../../intern/quadriflow
)
list(APPEND LIB
bf_intern_quadriflow
)
add_definitions(-DWITH_QUADRIFLOW)
endif()
if(WITH_XR_OPENXR)
add_definitions(-DWITH_XR_OPENXR)
endif()
if(WITH_EXPERIMENTAL_FEATURES)
add_definitions(-DWITH_ANIM_BAKLAVA)
endif()
# # Warnings as errors, this is too strict!
# if(MSVC)
# string(APPEND CMAKE_C_FLAGS " /WX")
# endif()
blender_add_lib(bf_blenkernel "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
# RNA_prototypes.hh
add_dependencies(bf_blenkernel bf_rna)
if(WITH_GTESTS)
set(TEST_SRC
intern/action_test.cc
intern/armature_test.cc
intern/asset_metadata_test.cc
intern/bpath_test.cc
intern/cryptomatte_test.cc
intern/curves_geometry_test.cc
intern/fcurve_test.cc
intern/file_handler_test.cc
intern/grease_pencil_test.cc
intern/idprop_serialize_test.cc
intern/image_partial_update_test.cc
intern/image_test.cc
intern/lattice_deform_test.cc
intern/layer_test.cc
intern/lib_id_remapper_test.cc
intern/lib_id_test.cc
intern/lib_query_test.cc
intern/lib_remap_test.cc
intern/main_test.cc
intern/nla_test.cc
intern/tracking_test.cc
intern/volume_test.cc
)
set(TEST_INC
../editors/include
)
set(TEST_LIB
${LIB}
bf_rna # RNA_prototypes.hh
)
blender_add_test_suite_lib(blenkernel "${TEST_SRC}" "${INC};${TEST_INC}" "${INC_SYS}" "${TEST_LIB}")
endif()