Files
test2/source/blender/blenlib/CMakeLists.txt
Jacques Lucke 311ca3e6af Core: rename Session UUID to Session UID
`UUID` generally stands for "universally unique identifier". The session identifier that
we use is neither universally unique, nor does it follow the standard. Therefor, the term
"session uuid" is confusing and should be replaced.

In #116888 we briefly talked about a better name and ended up with "session uid".
The reason for "uid" instead of "id" is that the latter is a very overloaded term in Blender
already.

This patch changes all uses of "uuid" to "uid" where it's used in the context of a
"session uid". It's not always trivial to see whether a specific mention of "uuid" refers
to an actual uuid or something else. Therefore, I might have missed some renames.
I can't think of an automated way to differentiate the case.

BMesh also uses the term "uuid" sometimes in a the wrong context (e.g. `UUIDFaceStepItem`)
but there it also does not mean "session uid", so it's *not* changed by this patch.

Pull Request: https://projects.blender.org/blender/blender/pulls/117350
2024-01-22 13:47:13 +01:00

579 lines
13 KiB
CMake

# SPDX-FileCopyrightText: 2006 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
if(HAVE_EXECINFO_H)
add_definitions(-DHAVE_EXECINFO_H)
endif()
set(INC
PUBLIC .
../../../intern/eigen
)
set(INC_SYS
../../../extern/wcwidth
../../../extern/json/include
../../../extern/fmtlib/include
${EIGEN3_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIRS}
${ZSTD_INCLUDE_DIRS}
)
set(SRC
intern/BLI_array.c
intern/BLI_assert.c
intern/BLI_color.cc
intern/BLI_dial_2d.c
intern/BLI_dynstr.c
intern/BLI_filelist.cc
intern/BLI_ghash.c
intern/BLI_ghash_utils.c
intern/BLI_heap.c
intern/BLI_heap_simple.c
intern/BLI_index_range.cc
intern/BLI_kdopbvh.c
intern/BLI_linklist.c
intern/BLI_linklist_lockfree.c
intern/BLI_memarena.c
intern/BLI_memblock.c
intern/BLI_memiter.c
intern/BLI_mempool.c
intern/BLI_mmap.c
intern/BLI_timer.c
intern/DLRB_tree.c
intern/array_store.cc
intern/array_store_utils.cc
intern/array_utils.c
intern/array_utils.cc
intern/astar.c
intern/atomic_disjoint_set.cc
intern/bit_ref.cc
intern/bit_span.cc
intern/bitmap.c
intern/bitmap_draw_2d.c
intern/boxpack_2d.c
intern/buffer.c
intern/cache_mutex.cc
intern/compute_context.cc
intern/convexhull_2d.c
intern/cpp_type.cc
intern/cpp_types.cc
intern/delaunay_2d.cc
intern/dot_export.cc
intern/dynlib.cc
intern/easing.c
intern/endian_switch.c
intern/expr_pylike_eval.c
intern/fileops.cc
intern/fileops_c.cc
intern/filereader_file.c
intern/filereader_gzip.c
intern/filereader_memory.c
intern/filereader_zstd.c
intern/fnmatch.c
intern/generic_vector_array.cc
intern/generic_virtual_array.cc
intern/generic_virtual_vector_array.cc
intern/gsqueue.c
intern/hash_md5.c
intern/hash_mm2a.c
intern/hash_mm3.c
intern/hash_tables.cc
intern/implicit_sharing.cc
intern/index_mask.cc
intern/index_range.cc
intern/jitter_2d.c
intern/kdtree_1d.c
intern/kdtree_2d.c
intern/kdtree_3d.c
intern/kdtree_4d.c
intern/lasso_2d.c
intern/lazy_threading.cc
intern/length_parameterize.cc
intern/listbase.cc
intern/math_base.c
intern/math_base_inline.c
intern/math_base_safe_inline.c
intern/math_basis_types.cc
intern/math_bits_inline.c
intern/math_boolean.cc
intern/math_color.c
intern/math_color_blend_inline.c
intern/math_color_inline.c
intern/math_geom.cc
intern/math_geom_inline.c
intern/math_interp.cc
intern/math_matrix.c
intern/math_matrix.cc
intern/math_rotation.c
intern/math_rotation.cc
intern/math_solvers.c
intern/math_statistics.c
intern/math_time.c
intern/math_vec.cc
intern/math_vector.c
intern/math_vector_inline.c
intern/memory_utils.c
intern/mesh_boolean.cc
intern/mesh_intersect.cc
intern/noise.c
intern/noise.cc
intern/offset_indices.cc
intern/ordered_edge.cc
intern/path_util.cc
intern/polyfill_2d.c
intern/polyfill_2d_beautify.c
intern/quadric.c
intern/rand.cc
intern/rct.c
intern/resource_scope.cc
intern/scanfill.c
intern/scanfill_utils.c
intern/serialize.cc
intern/session_uid.c
intern/smaa_textures.c
intern/sort.c
intern/sort_utils.c
intern/stack.c
intern/storage.cc
intern/string.c
intern/string_cursor_utf8.c
intern/string_ref.cc
intern/string_search.cc
intern/string_utf8.cc
intern/string_utils.cc
intern/system.c
intern/task_graph.cc
intern/task_iterator.c
intern/task_pool.cc
intern/task_range.cc
intern/task_scheduler.cc
intern/tempfile.c
intern/threads.cc
intern/time.c
intern/timecode.c
intern/timeit.cc
intern/uuid.cc
intern/uvproject.c
intern/vector.cc
intern/virtual_array.cc
intern/voxel.c
intern/winstuff.cc
intern/winstuff_dir.cc
intern/winstuff_registration.cc
# Private headers.
intern/BLI_mempool_private.h
# Header as source (included in C files above).
intern/kdtree_impl.h
intern/list_sort_impl.h
BLI_alloca.h
BLI_allocator.hh
BLI_any.hh
BLI_array.h
BLI_array.hh
BLI_array_store.h
BLI_array_store_utils.h
BLI_array_utils.h
BLI_array_utils.hh
BLI_asan.h
BLI_assert.h
BLI_astar.h
BLI_atomic_disjoint_set.hh
BLI_binary_search.hh
BLI_bit_group_vector.hh
BLI_bit_ref.hh
BLI_bit_span.hh
BLI_bit_span_ops.hh
BLI_bit_vector.hh
BLI_bitmap.h
BLI_bitmap_draw_2d.h
BLI_blenlib.h
BLI_bounds.hh
BLI_bounds_types.hh
BLI_boxpack_2d.h
BLI_buffer.h
BLI_cache_mutex.hh
BLI_color.hh
BLI_color_mix.hh
BLI_compiler_attrs.h
BLI_compiler_compat.h
BLI_compiler_typecheck.h
BLI_compute_context.hh
BLI_console.h
BLI_convexhull_2d.h
BLI_cpp_type.hh
BLI_cpp_type_make.hh
BLI_cpp_types.hh
BLI_cpp_types_make.hh
BLI_delaunay_2d.hh
BLI_devirtualize_parameters.hh
BLI_dial_2d.h
BLI_disjoint_set.hh
BLI_dlrbTree.h
BLI_dot_export.hh
BLI_dot_export_attribute_enums.hh
BLI_dynlib.h
BLI_dynstr.h
BLI_easing.h
BLI_endian_defines.h
BLI_endian_switch.h
BLI_endian_switch_inline.h
BLI_enumerable_thread_specific.hh
BLI_expr_pylike_eval.h
BLI_fileops.h
BLI_fileops.hh
BLI_fileops_types.h
BLI_filereader.h
BLI_fnmatch.h
BLI_function_ref.hh
BLI_generic_array.hh
BLI_generic_pointer.hh
BLI_generic_span.hh
BLI_generic_value_map.hh
BLI_generic_vector_array.hh
BLI_generic_virtual_array.hh
BLI_generic_virtual_vector_array.hh
BLI_ghash.h
BLI_gsqueue.h
BLI_hash.h
BLI_hash.hh
BLI_hash_md5.h
BLI_hash_mm2a.h
BLI_hash_mm3.h
BLI_hash_tables.hh
BLI_heap.h
BLI_heap_simple.h
BLI_implicit_sharing.h
BLI_implicit_sharing.hh
BLI_implicit_sharing_ptr.hh
BLI_index_mask.hh
BLI_index_range.hh
BLI_inplace_priority_queue.hh
BLI_iterator.h
BLI_jitter_2d.h
BLI_kdopbvh.h
BLI_kdtree.h
BLI_kdtree_impl.h
BLI_lasso_2d.h
BLI_lazy_threading.hh
BLI_length_parameterize.hh
BLI_linear_allocator.hh
BLI_link_utils.h
BLI_linklist.h
BLI_linklist_lockfree.h
BLI_linklist_stack.h
BLI_listbase.h
BLI_listbase_wrapper.hh
BLI_map.hh
BLI_map_slots.hh
BLI_math_angle_types.hh
BLI_math_axis_angle.hh
BLI_math_axis_angle_types.hh
BLI_math_base.h
BLI_math_base.hh
BLI_math_base_safe.h
BLI_math_basis_types.hh
BLI_math_bits.h
BLI_math_boolean.hh
BLI_math_color.h
BLI_math_color.hh
BLI_math_color_blend.h
BLI_math_euler.hh
BLI_math_euler_types.hh
BLI_math_geom.h
BLI_math_inline.h
BLI_math_interp.hh
BLI_math_matrix.h
BLI_math_matrix.hh
BLI_math_matrix_types.hh
BLI_math_mpq.hh
BLI_math_numbers.hh
BLI_math_quaternion.hh
BLI_math_quaternion_types.hh
BLI_math_rotation.h
BLI_math_rotation.hh
BLI_math_rotation_legacy.hh
BLI_math_rotation_types.hh
BLI_math_solvers.h
BLI_math_statistics.h
BLI_math_time.h
BLI_math_vector.h
BLI_math_vector.hh
BLI_math_vector_mpq_types.hh
BLI_math_vector_types.hh
BLI_memarena.h
BLI_memblock.h
BLI_memiter.h
BLI_memory_utils.h
BLI_memory_utils.hh
BLI_mempool.h
BLI_mesh_boolean.hh
BLI_mesh_intersect.hh
BLI_mmap.h
BLI_multi_value_map.hh
BLI_noise.h
BLI_noise.hh
BLI_offset_indices.hh
BLI_offset_span.hh
BLI_ordered_edge.hh
BLI_parameter_pack_utils.hh
BLI_path_util.h
BLI_polyfill_2d.h
BLI_polyfill_2d_beautify.h
BLI_pool.hh
BLI_probing_strategies.hh
BLI_quadric.h
BLI_rand.h
BLI_rand.hh
BLI_range.h
BLI_rect.h
BLI_resource_scope.hh
BLI_scanfill.h
BLI_serialize.hh
BLI_session_uid.h
BLI_set.hh
BLI_set_slots.hh
BLI_shared_cache.hh
BLI_simd.h
BLI_smaa_textures.h
BLI_sort.h
BLI_sort.hh
BLI_sort_utils.h
BLI_span.hh
BLI_stack.h
BLI_stack.hh
BLI_strict_flags.h
BLI_string.h
BLI_string_cursor_utf8.h
BLI_string_ref.hh
BLI_string_search.hh
BLI_string_utf8.h
BLI_string_utf8_symbols.h
BLI_string_utils.hh
BLI_struct_equality_utils.hh
BLI_sub_frame.hh
BLI_sys_types.h
BLI_system.h
BLI_task.h
BLI_task.hh
BLI_tempfile.h
BLI_threads.h
BLI_time.h
BLI_time_utildefines.h
BLI_timecode.h
BLI_timeit.hh
BLI_timer.h
BLI_unique_sorted_indices.hh
BLI_utildefines.h
BLI_utildefines_iter.h
BLI_utildefines_stack.h
BLI_utildefines_variadic.h
BLI_utility_mixins.hh
BLI_uuid.h
BLI_uvproject.h
BLI_vector.hh
BLI_vector_list.hh
BLI_vector_set.hh
BLI_vector_set_slots.hh
BLI_virtual_array.hh
BLI_virtual_vector_array.hh
BLI_voxel.h
BLI_winstuff.h
BLI_winstuff_com.hh
# Without these files listed, they aren't known to CMake.
../../../extern/json/include/json.hpp
)
set(LIB
PUBLIC bf::dna
bf_intern_eigen
PRIVATE bf::intern::guardedalloc
extern_wcwidth
PRIVATE bf::intern::atomic
PRIVATE extern_fmtlib
${ZLIB_LIBRARIES}
${ZSTD_LIBRARIES}
)
if(NOT WITH_PYTHON_MODULE)
list(APPEND SRC
intern/BLI_args.c
BLI_args.h
)
endif()
if(WITH_MEM_VALGRIND)
add_definitions(-DWITH_MEM_VALGRIND)
endif()
if(WITH_TBB)
add_definitions(-DWITH_TBB)
list(APPEND INC_SYS
${TBB_INCLUDE_DIRS}
)
list(APPEND LIB
${TBB_LIBRARIES}
)
endif()
if(WITH_GMP)
add_definitions(-DWITH_GMP)
list(APPEND INC_SYS
${GMP_INCLUDE_DIRS}
)
list(APPEND LIB
${GMP_LIBRARIES}
)
endif()
if(WIN32)
if(WITH_BLENDER_THUMBNAILER)
# Needed for querying the `thumbnailer .dll` in `winstuff.c`.
add_definitions(-DWITH_BLENDER_THUMBNAILER)
endif()
list(APPEND INC
../../../intern/utfconv
)
list(APPEND LIB
bf_intern_utfconv
dxgi
)
list(APPEND SRC
intern/system_win32.c
)
endif()
if(APPLE)
list(APPEND SRC
intern/storage_apple.mm
)
endif()
if(UNIX AND NOT APPLE)
list(APPEND LIB
bf_intern_libc_compat
)
endif()
# no need to compile object files for inline headers.
set_source_files_properties(
intern/math_base_inline.c
intern/math_base_safe_inline.c
intern/math_bits_inline.c
intern/math_color_blend_inline.c
intern/math_color_inline.c
intern/math_geom_inline.c
intern/math_vector_inline.c
PROPERTIES HEADER_FILE_ONLY TRUE
)
blender_add_lib(bf_blenlib "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
add_library(bf::blenlib ALIAS bf_blenlib)
if(WITH_GTESTS)
set(TEST_SRC
tests/BLI_any_test.cc
tests/BLI_array_store_test.cc
tests/BLI_array_test.cc
tests/BLI_array_utils_test.cc
tests/BLI_binary_search_test.cc
tests/BLI_bit_group_vector_test.cc
tests/BLI_bit_ref_test.cc
tests/BLI_bit_span_test.cc
tests/BLI_bit_vector_test.cc
tests/BLI_bitmap_test.cc
tests/BLI_bounds_test.cc
tests/BLI_color_test.cc
tests/BLI_cpp_type_test.cc
tests/BLI_delaunay_2d_test.cc
tests/BLI_disjoint_set_test.cc
tests/BLI_expr_pylike_eval_test.cc
tests/BLI_fileops_test.cc
tests/BLI_function_ref_test.cc
tests/BLI_generic_array_test.cc
tests/BLI_generic_span_test.cc
tests/BLI_generic_vector_array_test.cc
tests/BLI_ghash_test.cc
tests/BLI_hash_mm2a_test.cc
tests/BLI_heap_simple_test.cc
tests/BLI_heap_test.cc
tests/BLI_implicit_sharing_test.cc
tests/BLI_index_mask_test.cc
tests/BLI_index_range_test.cc
tests/BLI_inplace_priority_queue_test.cc
tests/BLI_kdopbvh_test.cc
tests/BLI_kdtree_test.cc
tests/BLI_length_parameterize_test.cc
tests/BLI_linear_allocator_test.cc
tests/BLI_linklist_lockfree_test.cc
tests/BLI_listbase_test.cc
tests/BLI_map_test.cc
tests/BLI_math_base_safe_test.cc
tests/BLI_math_base_test.cc
tests/BLI_math_bits_test.cc
tests/BLI_math_color_test.cc
tests/BLI_math_geom_test.cc
tests/BLI_math_interp_test.cc
tests/BLI_math_matrix_test.cc
tests/BLI_math_matrix_types_test.cc
tests/BLI_math_rotation_test.cc
tests/BLI_math_rotation_types_test.cc
tests/BLI_math_solvers_test.cc
tests/BLI_math_time_test.cc
tests/BLI_math_vector_test.cc
tests/BLI_math_vector_types_test.cc
tests/BLI_memiter_test.cc
tests/BLI_memory_utils_test.cc
tests/BLI_mesh_boolean_test.cc
tests/BLI_mesh_intersect_test.cc
tests/BLI_multi_value_map_test.cc
tests/BLI_path_util_test.cc
tests/BLI_polyfill_2d_test.cc
tests/BLI_pool_test.cc
tests/BLI_ressource_strings.h
tests/BLI_serialize_test.cc
tests/BLI_session_uid_test.cc
tests/BLI_set_test.cc
tests/BLI_span_test.cc
tests/BLI_stack_cxx_test.cc
tests/BLI_stack_test.cc
tests/BLI_string_ref_test.cc
tests/BLI_string_search_test.cc
tests/BLI_string_test.cc
tests/BLI_string_utf8_test.cc
tests/BLI_string_utils_test.cc
tests/BLI_task_graph_test.cc
tests/BLI_task_test.cc
tests/BLI_tempfile_test.cc
tests/BLI_unique_sorted_indices_test.cc
tests/BLI_utildefines_test.cc
tests/BLI_uuid_test.cc
tests/BLI_vector_set_test.cc
tests/BLI_vector_test.cc
tests/BLI_virtual_array_test.cc
tests/BLI_exception_safety_test_utils.hh
)
set(TEST_INC
../imbuf
)
set(TEST_LIB
bf_blenlib
)
blender_add_test_suite_executable(BLI "${TEST_SRC}" "${INC};${TEST_INC}" "${INC_SYS}" "${LIB};${TEST_LIB}")
add_subdirectory(tests/performance)
endif()