Files
test/source/blender/python/intern/CMakeLists.txt
RedMser ba04393fde Cleanup: Remove deprecated Python and Rigid Body Joint constraints
Remove long-deprecated constraints that will likely never be
implemented in this form.

- Rigid Body Joint Constraint was removed in 2.80, but some references
  remained in the code. Versioning code was written that tried to
  remove them on load, but since constraint initialization code sets
  the type to CONSTRAINT_TYPE_NULL before versioning gets a chance,
  the versioning code ended up never running. This has all been
  removed.
- Python/Script Constraint never worked since 2.50 and showed an error
  message in the UI panel.

These constraints now load as 'null' constraint, as seems to be
(looking at the code) the way that Blender currently deals with
removed constraint types. These still show up in the outliner and
python API, but have no UI panel. Removing such constraints completely
will be left for another time, as it is beyond the scope of removing
these two specific constraint types.

Pull Request: https://projects.blender.org/blender/blender/pulls/136672
2025-04-11 11:38:29 +02:00

386 lines
7.3 KiB
CMake

# SPDX-FileCopyrightText: 2006 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
set(INC
..
../../editors/include
../../imbuf/intern/oiio
../../makesrna
../../../../intern/mantaflow/extern
../../../../intern/opencolorio
# RNA_prototypes.hh
${CMAKE_BINARY_DIR}/source/blender/makesrna
)
set(INC_SYS
${PYTHON_INCLUDE_DIRS}
)
set(SRC
bpy.cc
bpy_app.cc
bpy_app_alembic.cc
bpy_app_build_options.cc
bpy_app_ffmpeg.cc
bpy_app_handlers.cc
bpy_app_icons.cc
bpy_app_ocio.cc
bpy_app_oiio.cc
bpy_app_opensubdiv.cc
bpy_app_openvdb.cc
bpy_app_sdl.cc
bpy_app_timers.cc
bpy_app_translations.cc
bpy_app_usd.cc
bpy_capi_utils.cc
bpy_cli_command.cc
bpy_driver.cc
bpy_geometry_set.cc
bpy_gizmo_wrap.cc
bpy_interface.cc
bpy_interface_atexit.cc
bpy_interface_run.cc
bpy_intern_string.cc
bpy_library_load.cc
bpy_library_write.cc
bpy_msgbus.cc
bpy_operator.cc
bpy_operator_wrap.cc
bpy_path.cc
bpy_props.cc
bpy_rna.cc
bpy_rna_anim.cc
bpy_rna_array.cc
bpy_rna_callback.cc
bpy_rna_context.cc
bpy_rna_data.cc
bpy_rna_driver.cc
bpy_rna_gizmo.cc
bpy_rna_id_collection.cc
bpy_rna_operator.cc
bpy_rna_text.cc
bpy_rna_types_capi.cc
bpy_rna_ui.cc
bpy_traceback.cc
bpy_utils_previews.cc
bpy_utils_units.cc
bpy.hh
bpy_app.hh
bpy_app_alembic.hh
bpy_app_build_options.hh
bpy_app_ffmpeg.hh
bpy_app_handlers.hh
bpy_app_icons.hh
bpy_app_ocio.hh
bpy_app_oiio.hh
bpy_app_opensubdiv.hh
bpy_app_openvdb.hh
bpy_app_sdl.hh
bpy_app_timers.hh
bpy_app_translations.hh
bpy_app_usd.hh
bpy_capi_utils.hh
bpy_cli_command.hh
bpy_driver.hh
bpy_geometry_set.hh
bpy_gizmo_wrap.hh
bpy_intern_string.hh
bpy_library.hh
bpy_msgbus.hh
bpy_operator.hh
bpy_operator_wrap.hh
bpy_path.hh
bpy_props.hh
bpy_rna.hh
bpy_rna_anim.hh
bpy_rna_callback.hh
bpy_rna_context.hh
bpy_rna_data.hh
bpy_rna_driver.hh
bpy_rna_gizmo.hh
bpy_rna_id_collection.hh
bpy_rna_operator.hh
bpy_rna_text.hh
bpy_rna_types_capi.hh
bpy_rna_ui.hh
bpy_traceback.hh
bpy_utils_previews.hh
bpy_utils_units.hh
../BPY_extern.hh
../BPY_extern_clog.hh
../BPY_extern_python.hh
../BPY_extern_run.hh
)
set(LIB
PRIVATE bf::blenkernel
PRIVATE bf::blenlib
PRIVATE bf::blenloader
PRIVATE bf::blentranslation
PRIVATE bf::depsgraph
PRIVATE bf::dna
bf_editor_animation
bf_editor_interface
bf_editor_space_api
PRIVATE bf::gpu
PRIVATE bf::imbuf
PRIVATE bf::intern::clog
PRIVATE bf::intern::guardedalloc
PRIVATE bf::animrig
bf_python_gpu
${PYTHON_LINKFLAGS}
${PYTHON_LIBRARIES}
PRIVATE bf::windowmanager
)
# Only to check if `buildinfo` is available.
if(WITH_BUILDINFO)
add_definitions(-DBUILD_DATE)
endif()
if(WITH_INSTALL_PORTABLE)
add_definitions(-DWITH_INSTALL_PORTABLE)
endif()
if(WITH_PYTHON_MODULE)
add_definitions(-DWITH_PYTHON_MODULE)
endif()
# Find the SSL certificate for the portable Blender installation.
# Without this, the absolute path on the builder is used, causing HTTPS access to fail.
# For example `urllib.request.urlopen("https://projects.blender.org")` fails
# (or any other HTTPS site). see: #102300 for details.
# NOTE: that this isn't necessary on WIN32.
if(WITH_PYTHON AND WITH_PYTHON_INSTALL AND (APPLE OR WITH_INSTALL_PORTABLE) AND (NOT WIN32))
# - `PYTHON_SSL_CERT_FILE` absolute path to the PEM file.
find_python_module_file("certifi/cacert.pem" PYTHON_SSL_CERT_FILE _python_ssl_cert_file_relative)
mark_as_advanced(PYTHON_SSL_CERT_FILE)
if(PYTHON_SSL_CERT_FILE)
add_definitions(-DPYTHON_SSL_CERT_FILE="${_python_ssl_cert_file_relative}")
else()
message(WARNING
"Unable to find \"certifi/cacert.pem\" within \"${PYTHON_LIBPATH}\", "
"this build will not be able to use bundled certificates with the \"ssl\" module!"
)
endif()
unset(_python_ssl_cert_file_relative)
endif()
if(WITH_PYTHON_SAFETY)
add_definitions(-DWITH_PYTHON_SAFETY)
endif()
if(WITH_AUDASPACE)
# It's possible to build with AUDASPACE (for file IO) but without the `aud` Python API,
# when building without NUMPY so define both `WITH_AUDASPACE` & `DWITH_AUDASPACE_PY`.
add_definitions(-DWITH_AUDASPACE)
if(WITH_PYTHON_NUMPY)
add_definitions(-DWITH_AUDASPACE_PY)
endif()
endif()
if(WITH_BULLET)
add_definitions(-DWITH_BULLET)
endif()
if(WITH_CODEC_FFMPEG)
list(APPEND INC_SYS
${FFMPEG_INCLUDE_DIRS}
)
list(APPEND LIB
${FFMPEG_LIBRARIES}
)
add_definitions(-DWITH_FFMPEG)
endif()
if(WITH_CODEC_SNDFILE)
add_definitions(-DWITH_SNDFILE)
endif()
if(WITH_CYCLES)
list(APPEND INC
../../../../intern/cycles/blender
)
list(APPEND LIB
bf_intern_cycles
)
add_definitions(-DWITH_CYCLES)
endif()
if(WITH_CYCLES_OSL)
add_definitions(-DWITH_CYCLES_OSL)
endif()
if(WITH_CYCLES_EMBREE)
add_definitions(-DWITH_CYCLES_EMBREE)
endif()
if(WITH_FREESTYLE)
list(APPEND INC
../../freestyle/intern/python
)
add_definitions(-DWITH_FREESTYLE)
endif()
if(WITH_IMAGE_CINEON)
add_definitions(-DWITH_IMAGE_CINEON)
endif()
if(WITH_IMAGE_OPENEXR)
add_definitions(-DWITH_IMAGE_OPENEXR)
endif()
if(WITH_IMAGE_OPENJPEG)
add_definitions(-DWITH_IMAGE_OPENJPEG)
endif()
if(WITH_IMAGE_WEBP)
add_definitions(-DWITH_IMAGE_WEBP)
endif()
if(WITH_INPUT_NDOF)
add_definitions(-DWITH_INPUT_NDOF)
endif()
if(WITH_INTERNATIONAL)
add_definitions(-DWITH_INTERNATIONAL)
endif()
if(WITH_OPENAL)
add_definitions(-DWITH_OPENAL)
endif()
if(WITH_OPENSUBDIV)
add_definitions(-DWITH_OPENSUBDIV)
endif()
if(WITH_SDL)
list(APPEND INC_SYS
${SDL_INCLUDE_DIR}
)
list(APPEND LIB
${SDL_LIBRARY}
)
add_definitions(-DWITH_SDL)
endif()
if(WITH_JACK)
add_definitions(-DWITH_JACK)
endif()
if(WITH_COREAUDIO)
add_definitions(-DWITH_COREAUDIO)
endif()
if(WITH_LIBMV)
add_definitions(-DWITH_LIBMV)
endif()
if(WITH_PULSEAUDIO)
add_definitions(-DWITH_PULSEAUDIO)
endif()
if(WITH_WASAPI)
add_definitions(-DWITH_WASAPI)
endif()
if(WITH_MOD_OCEANSIM)
add_definitions(-DWITH_OCEANSIM)
endif()
if(WITH_MOD_REMESH)
add_definitions(-DWITH_MOD_REMESH)
endif()
if(WITH_MOD_FLUID)
add_definitions(-DWITH_FLUID)
endif()
if(WITH_OPENCOLLADA)
add_definitions(-DWITH_COLLADA)
endif()
if(WITH_IO_WAVEFRONT_OBJ)
add_definitions(-DWITH_IO_WAVEFRONT_OBJ)
endif()
if(WITH_IO_PLY)
add_definitions(-DWITH_IO_PLY)
endif()
if(WITH_IO_STL)
add_definitions(-DWITH_IO_STL)
endif()
if(WITH_IO_GREASE_PENCIL)
add_definitions(-DWITH_IO_GREASE_PENCIL)
endif()
if(WITH_ALEMBIC)
add_definitions(-DWITH_ALEMBIC)
endif()
if(WITH_OPENCOLORIO)
add_definitions(-DWITH_OCIO)
endif()
if(WITH_OPENVDB)
add_definitions(-DWITH_OPENVDB)
list(APPEND INC
../../../../intern/openvdb
)
endif()
if(WITH_ALEMBIC)
add_definitions(-DWITH_ALEMBIC)
list(APPEND INC
../../io/alembic
)
endif()
if(WITH_USD)
add_definitions(-DWITH_USD)
list(APPEND INC
../../io/usd
)
endif()
if(WITH_OPENSUBDIV)
add_definitions(-DWITH_OPENSUBDIV)
list(APPEND INC
../../../../intern/opensubdiv
)
endif()
if(WITH_XR_OPENXR)
add_definitions(-DWITH_XR_OPENXR)
endif()
if(WITH_POTRACE)
add_definitions(-DWITH_POTRACE)
endif()
if(WITH_PUGIXML)
add_definitions(-DWITH_PUGIXML)
endif()
if(WITH_HARU)
add_definitions(-DWITH_HARU)
endif()
if(WITH_HYDRA)
list(APPEND LIB
bf_render_hydra
)
add_definitions(-DWITH_HYDRA)
endif()
blender_add_lib(bf_python "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
# RNA_prototypes.hh
add_dependencies(bf_python bf_rna)