Files
test/source/blender/editors/space_outliner/CMakeLists.txt

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

156 lines
4.2 KiB
CMake
Raw Normal View History

# SPDX-FileCopyrightText: 2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
set(INC
2010-09-18 03:55:56 +00:00
../include
../../blenfont
../../makesrna
# RNA_prototypes.hh
${CMAKE_BINARY_DIR}/source/blender/makesrna
)
set(INC_SYS
../../../../extern/fmtlib/include
)
set(SRC
outliner_collections.cc
outliner_context.cc
outliner_dragdrop.cc
outliner_draw.cc
outliner_edit.cc
outliner_ops.cc
outliner_query.cc
outliner_select.cc
outliner_sync.cc
outliner_tools.cc
outliner_tree.cc
outliner_utils.cc
space_outliner.cc
tree/common.cc
tree/tree_display.cc
2020-12-11 15:00:22 +11:00
tree/tree_display_data.cc
tree/tree_display_libraries.cc
tree/tree_display_orphaned.cc
tree/tree_display_override_library_hierarchies.cc
2022-05-05 17:33:10 +10:00
tree/tree_display_override_library_properties.cc
tree/tree_display_scenes.cc
2020-12-11 15:00:22 +11:00
tree/tree_display_sequencer.cc
tree/tree_display_view_layer.cc
tree/tree_element.cc
tree/tree_element_action_slot.cc
tree/tree_element_anim_data.cc
tree/tree_element_bone.cc
tree/tree_element_bone_collection.cc
tree/tree_element_collection.cc
tree/tree_element_constraint.cc
tree/tree_element_defgroup.cc
tree/tree_element_driver.cc
tree/tree_element_edit_bone.cc
tree/tree_element_gpencil_effect.cc
tree/tree_element_gpencil_layer.cc
tree/tree_element_grease_pencil_node.cc
tree/tree_element_id.cc
tree/tree_element_id_action.cc
tree/tree_element_id_armature.cc
tree/tree_element_id_collection.cc
tree/tree_element_id_curve.cc
tree/tree_element_id_gpencil_legacy.cc
tree/tree_element_id_grease_pencil.cc
tree/tree_element_id_library.cc
tree/tree_element_id_linestyle.cc
tree/tree_element_id_mesh.cc
tree/tree_element_id_metaball.cc
tree/tree_element_id_object.cc
tree/tree_element_id_scene.cc
tree/tree_element_id_texture.cc
2022-08-09 13:26:37 +10:00
tree/tree_element_label.cc
tree/tree_element_layer_collection.cc
tree/tree_element_linked_node_tree.cc
2024-08-23 10:04:10 +10:00
tree/tree_element_linked_object.cc
tree/tree_element_modifier.cc
2023-08-24 11:38:41 +10:00
tree/tree_element_nla.cc
tree/tree_element_overrides.cc
tree/tree_element_particle_system.cc
tree/tree_element_pose.cc
tree/tree_element_rna.cc
tree/tree_element_scene_objects.cc
tree/tree_element_seq.cc
tree/tree_element_view_collection.cc
tree/tree_element_view_layer.cc
tree/tree_iterator.cc
outliner_intern.hh
tree/common.hh
tree/tree_display.hh
tree/tree_element.hh
tree/tree_element_action_slot.hh
tree/tree_element_anim_data.hh
tree/tree_element_bone.hh
tree/tree_element_bone_collection.hh
tree/tree_element_collection.hh
tree/tree_element_constraint.hh
tree/tree_element_defgroup.hh
tree/tree_element_driver.hh
tree/tree_element_edit_bone.hh
2023-08-24 11:38:41 +10:00
tree/tree_element_gpencil_effect.hh
tree/tree_element_gpencil_layer.hh
tree/tree_element_grease_pencil_node.hh
tree/tree_element_id.hh
tree/tree_element_id_action.hh
tree/tree_element_id_armature.hh
tree/tree_element_id_collection.hh
tree/tree_element_id_curve.hh
tree/tree_element_id_gpencil_legacy.hh
tree/tree_element_id_grease_pencil.hh
tree/tree_element_id_library.hh
tree/tree_element_id_linestyle.hh
tree/tree_element_id_mesh.hh
tree/tree_element_id_metaball.hh
tree/tree_element_id_object.hh
tree/tree_element_id_scene.hh
tree/tree_element_id_texture.hh
2022-08-09 13:26:37 +10:00
tree/tree_element_label.hh
tree/tree_element_layer_collection.hh
tree/tree_element_linked_node_tree.hh
2024-08-23 10:04:10 +10:00
tree/tree_element_linked_object.hh
tree/tree_element_modifier.hh
2023-08-24 11:38:41 +10:00
tree/tree_element_nla.hh
tree/tree_element_overrides.hh
tree/tree_element_particle_system.hh
tree/tree_element_pose.hh
tree/tree_element_rna.hh
tree/tree_element_scene_objects.hh
tree/tree_element_seq.hh
tree/tree_element_view_collection.hh
tree/tree_element_view_layer.hh
tree/tree_iterator.hh
)
set(LIB
Anim: replace Bone Groups & Armature Layers with Bone Collections Armature layers (the 32 little dots) and bone groups are replaced with Bone Collections: - Bone collections are stored on the armature, and have a name that is unique within that armature. - An armature can have an arbitrary number of bone collections (instead of the fixed 32 layers). - Bones can be assigned to zero or more bone collections. - Bone collections have a visibility setting, just like objects in scene collections. - When a bone is in at least one collection, and all its collections in are hidden, the bone is hidden. In other cases (in any visible collection, or in no collection at all), the bone visibility is determined by its own 'hidden' flag. - For now, bone collections cannot be nested; they are a flat list just like bone groups were. Nestability of bone collections is intended to be implemented in a later 4.x release. - Since bone collections are defined on the armature, they can be used from both pose mode and edit mode. Versioning converts bone groups and armature layers to new bone collections. Layers that do not contain any bones are skipped. The old data structures remain in DNA and are unaltered, for limited forward compatibility. That way at least a save with Blender 4.0 will not immediately erase the bone group and armature layers and their bone assignments. Shortcuts: - M/Shift+M in pose/edit mode: move to collection (M) and add to collection (shift+M). This works similar to the M/Shift+M menus for objects & scene collections. - Ctrl+G in pose mode shows a port of the old 'bone groups' menu. This is likely to be removed in the near future, as the functionality overlaps with the M/Shift+M menus. This is the first commit of a series; the bone collections feature will be improved before the Blender 4.0 release. See #108941 for more info. Pull request: https://projects.blender.org/blender/blender/pulls/109976
2023-08-22 12:15:54 +02:00
PRIVATE bf::animrig
PRIVATE bf::blenkernel
PRIVATE bf::blenlib
PRIVATE bf::blenloader
PRIVATE bf::blentranslation
PRIVATE bf::depsgraph
Cleanup: CMake: Modernize bf_dna dependencies There's quite a few libraries that depend on dna_type_offsets.h but had gotten to it by just adding the folder that contains it to their includes INC section without declaring a dependency to bf_dna in the LIB section. which occasionally lead to the lib building before bf_dna and the header being missing, while this generally gets fixed in CMake by adding bf_dna to the LIB section of the lib, however until last week all libraries in the LIB section were linked as INTERFACE so adding it in there did not resolve the build issue. To make things still build, we sprinkled add_dependencies wherever we needed it to force a build order. This diff : Declares public include folders for the bf_dna target so there's no more fudging the INC section required to get to them. Removes all dna related paths from the INC section for all libraries. Adds an alias target bf:dna to signify it has been updated to modern cmake Declares a dependency on bf::dna for all libraries that require it Removes (almost) all calls to add_dependencies for bf_dna Future work: Because of the manual dependency management that was done, there is now some "clutter" with libs depending on bf_dna that realistically don't. Example bf_intern_opencolorio itself has no dependency on bf_dna at all, doesn't need it, doesn't use it. However the dna include folder had been added to it in the past since bf_blenlib uses dna headers in some of its public headers and bf_intern_opencolorio does use those blenlib headers. Given bf_blenlib now correctly declares the dependency on bf_dna as public bf_intern_opencolorio will get the dna header directory automatically from CMake, hence some cleanup could be done for bf_intern_opencolorio Because 99% of the changes in this diff have been automated, this diff does not seek to address these issues as there is no easy way to determine why a certain dependency is in place. A developer will have to make a pass a this at some later point in time. As I'd rather not mix automated and manual labour. There are a few libraries that could not be automatically processed (ie bf_blendthumb) that also will need this manual look-over. Pull Request: https://projects.blender.org/blender/blender/pulls/109835
2023-07-10 15:07:37 +02:00
PRIVATE bf::dna
bf_editor_id_management
bf_editor_undo
PRIVATE bf::gpu
PRIVATE bf::imbuf
PRIVATE bf::intern::clog
PRIVATE bf::intern::guardedalloc
PRIVATE bf::nodes
PRIVATE bf::sequencer
PRIVATE bf::windowmanager
extern_fmtlib
)
blender_add_lib(bf_editor_space_outliner "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
# RNA_prototypes.hh dna_type_offsets.h
add_dependencies(bf_editor_space_outliner bf_rna)