Due to changes in the build environment shader_builder wasn't able to compile on macOs. This patch reverts several recent changes to CMake files. *dbb2844ed9*94817f64b9*1b6cd937ffThe idea is that in the near future shader_builder will run on the buildbot as part of any regular build to ensure that changes to the CMake doesn't break shader_builder and we only detect it after a few days. Pull Request: https://projects.blender.org/blender/blender/pulls/115929
400 lines
7.4 KiB
CMake
400 lines
7.4 KiB
CMake
# SPDX-FileCopyrightText: 2006 Blender Authors
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
set(INC
|
|
..
|
|
../../blenkernel
|
|
../../blenloader
|
|
../../blentranslation
|
|
../../editors/include
|
|
../../gpu
|
|
../../imbuf
|
|
../../imbuf/intern/oiio
|
|
../../makesrna
|
|
../../windowmanager
|
|
../../../../intern/mantaflow/extern
|
|
../../../../intern/opencolorio
|
|
# RNA_prototypes.h
|
|
${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_driver.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
|
|
stubs.cc
|
|
|
|
bpy.h
|
|
bpy_app.h
|
|
bpy_app_alembic.h
|
|
bpy_app_build_options.h
|
|
bpy_app_ffmpeg.h
|
|
bpy_app_handlers.h
|
|
bpy_app_icons.h
|
|
bpy_app_ocio.h
|
|
bpy_app_oiio.h
|
|
bpy_app_opensubdiv.h
|
|
bpy_app_openvdb.h
|
|
bpy_app_sdl.h
|
|
bpy_app_timers.h
|
|
bpy_app_translations.h
|
|
bpy_app_usd.h
|
|
bpy_capi_utils.h
|
|
bpy_driver.h
|
|
bpy_gizmo_wrap.h
|
|
bpy_intern_string.h
|
|
bpy_library.h
|
|
bpy_msgbus.h
|
|
bpy_operator.h
|
|
bpy_operator_wrap.h
|
|
bpy_path.h
|
|
bpy_props.h
|
|
bpy_rna.h
|
|
bpy_rna_anim.h
|
|
bpy_rna_callback.h
|
|
bpy_rna_context.h
|
|
bpy_rna_data.h
|
|
bpy_rna_driver.h
|
|
bpy_rna_gizmo.h
|
|
bpy_rna_id_collection.h
|
|
bpy_rna_operator.h
|
|
bpy_rna_text.h
|
|
bpy_rna_types_capi.h
|
|
bpy_rna_ui.h
|
|
bpy_traceback.h
|
|
bpy_utils_previews.h
|
|
bpy_utils_units.h
|
|
../BPY_extern.h
|
|
../BPY_extern_clog.h
|
|
../BPY_extern_python.h
|
|
../BPY_extern_run.h
|
|
)
|
|
|
|
set(LIB
|
|
PRIVATE bf::blenlib
|
|
PRIVATE bf::depsgraph
|
|
PRIVATE bf::dna
|
|
bf_editor_animation
|
|
bf_editor_interface
|
|
bf_editor_space_api
|
|
PRIVATE bf::intern::clog
|
|
PRIVATE bf::intern::guardedalloc
|
|
PRIVATE bf::animrig
|
|
bf_python_gpu
|
|
|
|
${PYTHON_LINKFLAGS}
|
|
${PYTHON_LIBRARIES}
|
|
)
|
|
|
|
# only to check if buildinfo is available
|
|
if(WITH_BUILDINFO)
|
|
add_definitions(-DBUILD_DATE)
|
|
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_AVI)
|
|
add_definitions(-DWITH_AVI)
|
|
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_COMPOSITOR_CPU)
|
|
add_definitions(-DWITH_COMPOSITOR_CPU)
|
|
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_CINEON)
|
|
endif()
|
|
|
|
if(WITH_IMAGE_OPENEXR)
|
|
add_definitions(-DWITH_OPENEXR)
|
|
endif()
|
|
|
|
if(WITH_IMAGE_OPENJPEG)
|
|
add_definitions(-DWITH_OPENJPEG)
|
|
endif()
|
|
|
|
if(WITH_WEBP)
|
|
add_definitions(-DWITH_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}
|
|
)
|
|
if(WITH_SDL_DYNLOAD)
|
|
list(APPEND LIB
|
|
extern_sdlew
|
|
)
|
|
else()
|
|
list(APPEND LIB
|
|
${SDL_LIBRARY}
|
|
)
|
|
endif()
|
|
add_definitions(-DWITH_SDL)
|
|
endif()
|
|
|
|
if(WITH_SDL_DYNLOAD)
|
|
list(APPEND INC
|
|
../../../../extern/sdlew/include
|
|
)
|
|
add_definitions(-DWITH_SDL_DYNLOAD)
|
|
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_GPENCIL)
|
|
add_definitions(-DWITH_IO_GPENCIL)
|
|
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.h
|
|
add_dependencies(bf_python bf_rna)
|