blender: prefer lib.cmakeBool & lib.cmakeFeature
Been putting this off for too long.
This commit is contained in:
@@ -147,58 +147,62 @@ stdenv'.mkDerivation (finalAttrs: {
|
||||
|
||||
cmakeFlags = [
|
||||
"-C../build_files/cmake/config/blender_release.cmake"
|
||||
"-DMaterialX_DIR=${python3Packages.materialx}/lib/cmake/MaterialX"
|
||||
"-DPYTHON_INCLUDE_DIR=${python3}/include/${python3.libPrefix}"
|
||||
"-DPYTHON_LIBPATH=${python3}/lib"
|
||||
"-DPYTHON_LIBRARY=${python3.libPrefix}"
|
||||
"-DPYTHON_NUMPY_INCLUDE_DIRS=${python3Packages.numpy_1}/${python3.sitePackages}/numpy/core/include"
|
||||
"-DPYTHON_NUMPY_PATH=${python3Packages.numpy_1}/${python3.sitePackages}"
|
||||
"-DPYTHON_VERSION=${python3.pythonVersion}"
|
||||
"-DWITH_BUILDINFO=OFF"
|
||||
"-DWITH_CPU_CHECK=OFF"
|
||||
"-DWITH_CYCLES_CUDA_BINARIES=${if cudaSupport then "ON" else "OFF"}"
|
||||
"-DWITH_CYCLES_DEVICE_HIP=${if hipSupport then "ON" else "OFF"}"
|
||||
"-DWITH_CYCLES_DEVICE_ONEAPI=OFF"
|
||||
"-DWITH_CYCLES_DEVICE_OPTIX=${if cudaSupport then "ON" else "OFF"}"
|
||||
"-DWITH_CYCLES_EMBREE=${if embreeSupport then "ON" else "OFF"}"
|
||||
"-DWITH_CYCLES_OSL=OFF"
|
||||
"-DWITH_HYDRA=${if openUsdSupport then "ON" else "OFF"}"
|
||||
"-DWITH_INSTALL_PORTABLE=OFF"
|
||||
"-DWITH_JACK=${if jackaudioSupport then "ON" else "OFF"}"
|
||||
"-DWITH_LIBS_PRECOMPILED=OFF"
|
||||
"-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}"
|
||||
"-DWITH_OPENIMAGEDENOISE=${if openImageDenoiseSupport then "ON" else "OFF"}"
|
||||
"-DWITH_PIPEWIRE=OFF"
|
||||
"-DWITH_PULSEAUDIO=OFF"
|
||||
"-DWITH_PYTHON_INSTALL=OFF"
|
||||
"-DWITH_PYTHON_INSTALL_NUMPY=OFF"
|
||||
"-DWITH_PYTHON_INSTALL_REQUESTS=OFF"
|
||||
"-DWITH_STRICT_BUILD_OPTIONS=ON"
|
||||
"-DWITH_USD=${if openUsdSupport then "ON" else "OFF"}"
|
||||
|
||||
(lib.cmakeFeature "MaterialX_DIR" "${python3Packages.materialx}/lib/cmake/MaterialX")
|
||||
(lib.cmakeFeature "PYTHON_INCLUDE_DIR" "${python3}/include/${python3.libPrefix}")
|
||||
(lib.cmakeFeature "PYTHON_LIBPATH" "${python3}/lib")
|
||||
(lib.cmakeFeature "PYTHON_LIBRARY" "${python3.libPrefix}")
|
||||
(lib.cmakeFeature "PYTHON_NUMPY_INCLUDE_DIRS" "${python3Packages.numpy_1}/${python3.sitePackages}/numpy/core/include")
|
||||
(lib.cmakeFeature "PYTHON_NUMPY_PATH" "${python3Packages.numpy_1}/${python3.sitePackages}")
|
||||
(lib.cmakeFeature "PYTHON_VERSION" "${python3.pythonVersion}")
|
||||
|
||||
(lib.cmakeBool "WITH_BUILDINFO" false)
|
||||
(lib.cmakeBool "WITH_CPU_CHECK" false)
|
||||
(lib.cmakeBool "WITH_CYCLES_CUDA_BINARIES" cudaSupport)
|
||||
(lib.cmakeBool "WITH_CYCLES_DEVICE_HIP" hipSupport)
|
||||
(lib.cmakeBool "WITH_CYCLES_DEVICE_ONEAPI" false)
|
||||
(lib.cmakeBool "WITH_CYCLES_DEVICE_OPTIX" cudaSupport)
|
||||
(lib.cmakeBool "WITH_CYCLES_EMBREE" embreeSupport)
|
||||
(lib.cmakeBool "WITH_CYCLES_OSL" false)
|
||||
(lib.cmakeBool "WITH_HYDRA" openUsdSupport)
|
||||
(lib.cmakeBool "WITH_INSTALL_PORTABLE" false)
|
||||
(lib.cmakeBool "WITH_JACK" jackaudioSupport)
|
||||
(lib.cmakeBool "WITH_LIBS_PRECOMPILED" false)
|
||||
(lib.cmakeBool "WITH_OPENCOLLADA" colladaSupport)
|
||||
(lib.cmakeBool "WITH_OPENIMAGEDENOISE" openImageDenoiseSupport)
|
||||
(lib.cmakeBool "WITH_PIPEWIRE" false)
|
||||
(lib.cmakeBool "WITH_PULSEAUDIO" false)
|
||||
(lib.cmakeBool "WITH_PYTHON_INSTALL" false)
|
||||
(lib.cmakeBool "WITH_PYTHON_INSTALL_NUMPY" false)
|
||||
(lib.cmakeBool "WITH_PYTHON_INSTALL_REQUESTS" false)
|
||||
(lib.cmakeBool "WITH_STRICT_BUILD_OPTIONS" true)
|
||||
(lib.cmakeBool "WITH_USD" openUsdSupport)
|
||||
|
||||
# Blender supplies its own FindAlembic.cmake (incompatible with the Alembic-supplied config file)
|
||||
"-DALEMBIC_INCLUDE_DIR=${lib.getDev alembic}/include"
|
||||
"-DALEMBIC_LIBRARY=${lib.getLib alembic}/lib/libAlembic${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||
(lib.cmakeFeature "ALEMBIC_INCLUDE_DIR" "${lib.getDev alembic}/include")
|
||||
(lib.cmakeFeature "ALEMBIC_LIBRARY" "${lib.getLib alembic}/lib/libAlembic${stdenv.hostPlatform.extensions.sharedLibrary}")
|
||||
]
|
||||
++ lib.optionals cudaSupport [
|
||||
"-DOPTIX_ROOT_DIR=${optix}"
|
||||
"-DWITH_CYCLES_CUDA_BINARIES=ON"
|
||||
(lib.cmakeFeature "OPTIX_ROOT_DIR" "${optix}")
|
||||
(lib.cmakeBool "WITH_CYCLES_CUDA_BINARIES" true)
|
||||
]
|
||||
++ lib.optionals hipSupport [
|
||||
"-DHIPRT_INCLUDE_DIR=${rocmPackages.hiprt}/include"
|
||||
"-DWITH_CYCLES_DEVICE_HIPRT=ON"
|
||||
"-DWITH_CYCLES_HIP_BINARIES=ON"
|
||||
(lib.cmakeFeature "HIPRT_INCLUDE_DIR" "${rocmPackages.hiprt}/include")
|
||||
(lib.cmakeBool "WITH_CYCLES_DEVICE_HIPRT" true)
|
||||
(lib.cmakeBool "WITH_CYCLES_HIP_BINARIES" true)
|
||||
]
|
||||
++ lib.optionals waylandSupport [
|
||||
"-DWITH_GHOST_WAYLAND=ON"
|
||||
"-DWITH_GHOST_WAYLAND_DBUS=ON"
|
||||
"-DWITH_GHOST_WAYLAND_DYNLOAD=OFF"
|
||||
"-DWITH_GHOST_WAYLAND_LIBDECOR=ON"
|
||||
(lib.cmakeBool "WITH_GHOST_WAYLAND" true)
|
||||
(lib.cmakeBool "WITH_GHOST_WAYLAND_DBUS" true)
|
||||
(lib.cmakeBool "WITH_GHOST_WAYLAND_DYNLOAD" false)
|
||||
(lib.cmakeBool "WITH_GHOST_WAYLAND_LIBDECOR" true)
|
||||
]
|
||||
++ lib.optionals stdenv.cc.isClang [
|
||||
(lib.cmakeFeature "PYTHON_LINKFLAGS" "") # Clang doesn't support "-export-dynamic"
|
||||
]
|
||||
++ lib.optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS=" # Clang doesn't support "-export-dynamic"
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"-DLIBDIR=/does-not-exist"
|
||||
"-DSSE2NEON_INCLUDE_DIR=${sse2neon}/include"
|
||||
(lib.cmakeFeature "LIBDIR" "/does-not-exist")
|
||||
(lib.cmakeFeature "SSE2NEON_INCLUDE_DIR" "${sse2neon}/include")
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
|
||||
Reference in New Issue
Block a user