Merge remote-tracking branch 'origin/master' into 8-rbs-framework-env

This commit is contained in:
Igor Brylyov 2023-09-03 23:33:29 +03:00
commit 02f8f51f97
18 changed files with 784 additions and 2048 deletions

View file

@ -0,0 +1,10 @@
--- a/intern/locale/boost_locale_wrapper.cpp
+++ b/intern/locale/boost_locale_wrapper.cpp
@@ -7,6 +7,7 @@
#include <boost/locale.hpp>
#include <stdio.h>
+#include <iostream>
#include "boost_locale_wrapper.h"

View file

@ -0,0 +1,10 @@
--- a/release/freedesktop/blender.desktop
+++ b/release/freedesktop/blender.desktop
@@ -84,6 +84,6 @@ Icon=blender
Terminal=false
Type=Application
PrefersNonDefaultGPU=true
-X-KDE-RunOnDiscreteGpu=true
+X-PreferRunOnDiscreteGPU=true
Categories=Graphics;3DGraphics;
MimeType=application/x-blender;

View file

@ -0,0 +1,84 @@
diff -Naur a/source/blender/makesdna/DNA_modifier_defaults.h b/source/blender/makesdna/DNA_modifier_defaults.h
--- a/source/blender/makesdna/DNA_modifier_defaults.h 2020-12-24 20:07:32.000000000 +0300
+++ b/source/blender/makesdna/DNA_modifier_defaults.h 2020-12-28 00:11:53.397550988 +0300
@@ -43,7 +43,7 @@
.length = 0.0f, \
.merge_dist = 0.01f, \
.fit_type = MOD_ARR_FIXEDCOUNT, \
- .offset_type = MOD_ARR_OFF_RELATIVE, \
+ .offset_type = MOD_ARR_OFF_CONST, \
.flags = 0, \
.count = 2, \
.uv_offset = {0.0f, 0.0f}, \
@@ -51,8 +51,8 @@
#define _DNA_DEFAULT_BevelModifierData \
{ \
- .value = 0.1f, \
- .res = 1, \
+ .value = 0.01f, \
+ .res = 2, \
.flags = 0, \
.val_flags = MOD_BEVEL_AMT_OFFSET, \
.profile_type = MOD_BEVEL_PROFILE_SUPERELLIPSE, \
@@ -93,7 +93,7 @@
#define _DNA_DEFAULT_CastModifierData \
{ \
.object = NULL, \
- .fac = 0.5f, \
+ .fac = 1.0f, \
.radius = 0.0f, \
.size = 0.0f, \
.defgrp_name = "", \
@@ -259,7 +259,7 @@
#define _DNA_DEFAULT_DecimateModifierData \
{ \
- .percent = 1.0f, \
+ .percent = 0.1f, \
.iter = 0, \
.delimit = 0, \
.symmetry_axis = 0, \
@@ -567,7 +567,7 @@
.vgroup_name = "", \
.factor = DEG2RADF(45.0f), \
.limit = {0.0f, 1.0f}, \
- .mode = MOD_SIMPLEDEFORM_MODE_TWIST, \
+ .mode = MOD_SIMPLEDEFORM_MODE_BEND, \
.axis = 0, \
.deform_axis = 0, \
.flag = 0, \
@@ -608,7 +608,7 @@
.crease_inner = 0.0f, \
.crease_outer = 0.0f, \
.crease_rim = 0.0f, \
- .flag = MOD_SOLIDIFY_RIM, \
+ .flag = MOD_SOLIDIFY_RIM | MOD_SOLIDIFY_EVEN, \
.mat_ofs = 0, \
.mat_ofs_rim = 0, \
.merge_tolerance = 0.0001f, \
@@ -619,7 +619,7 @@
.subdivType = 0, \
.levels = 1, \
.renderLevels = 2, \
- .flags = eSubsurfModifierFlag_UseCrease | eSubsurfModifierFlag_ControlEdges, \
+ .flags = eSubsurfModifierFlag_UseCrease | eSubsurfModifierFlag_ControlEdges | eSubsurfModifierFlag_UseRecursiveSubdivision, \
.uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES, \
.quality = 3, \
.boundary_smooth = SUBSURF_BOUNDARY_SMOOTH_ALL, \
diff -Naur a/source/blender/makesdna/DNA_view3d_defaults.h b/source/blender/makesdna/DNA_view3d_defaults.h
--- a/source/blender/makesdna/DNA_view3d_defaults.h 2020-12-24 20:07:32.000000000 +0300
+++ b/source/blender/makesdna/DNA_view3d_defaults.h 2020-12-27 22:52:32.467466785 +0300
@@ -94,9 +94,9 @@
.flag = V3D_SELECT_OUTLINE, \
.flag2 = V3D_SHOW_RECONSTRUCTION | V3D_SHOW_ANNOTATION, \
\
- .lens = 50.0f, \
- .clip_start = 0.01f, \
- .clip_end = 1000.0f, \
+ .lens = 85.0f, \
+ .clip_start = 0.001f, \
+ .clip_end = 100.0f, \
\
.bundle_size = 0.2f, \
.bundle_drawtype = OB_PLAINAXES, \

View file

@ -0,0 +1,45 @@
--- /dev/null 2023-08-11 22:07:27.012000310 +0300
+++ b/scripts/startup/cg_environment.py 2023-08-11 00:44:51.704718595 +0300
@@ -0,0 +1,42 @@
+#!/usr/bin/python3
+# -*- coding: utf-8 -*-
+# Copyright (C) 2023 Ilia Kurochkin <brothermechanic@gmail.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+__doc__ = 'Environment for use CG Overlay'
+__version__ = '0.1'
+
+import bpy
+from bpy.app.handlers import persistent
+import addon_utils
+
+
+@persistent
+def cg_env(dummy):
+ '''Scripts environment'''
+ addon_utils.enable('cg_preferences', default_set=True)
+
+ print('CG Environment activated!')
+
+
+def register():
+ '''register blender module'''
+ bpy.app.handlers.load_post.append(cg_env)
+
+
+def unregister():
+ '''unregister blender module'''
+ bpy.app.handlers.load_post.remove(cg_env)
+
+
+if __name__ == '__main__':
+ register()

View file

@ -1,30 +1,213 @@
{ buildPythonPackage, fetchPypi, python3Packages, lib, autoPatchelfHook, blender, config, cudaSupport ? config.cudaSupport }: # TODO WITH_CYCLES_OSL
buildPythonPackage rec { # TODO WITH_NANOVDB
format = "wheel"; # TODO WITH_CLANG
pname = "bpy"; { config, stdenv, lib, fetchurl, fetchzip, fetchgit, makeWrapper, cmake, git-lfs
version = "3.6.0"; , boost, ocl-icd, gettext, zlib, zstd, pugixml, llvmPackages, clang
, libepoxy, libXi, libX11, libXext, libXrender, libXxf86vm
, libGLU, libGL, glew, addOpenGLRunpath, freeglut
, openimageio, opencolorio, openexr, ilmbase, libjpeg, libpng, libtiff, libwebp, potrace
, embree, gmp, openvdb, tbb, openimagedenoise, opensubdiv, freetype, libharu, brotli
, ffmpeg, fftw, libsndfile
, python310Packages, buildPythonPackage, fetchPypi, pkgs, lzma, freecad
, cudaSupport ? config.cudaSupport or false, cudaPackages ? { }
, hipSupport ? false, hip # comes with a significantly larger closure size
, colladaSupport ? true, opencollada
, waylandSupport ? stdenv.isLinux, pkg-config, wayland, wayland-protocols, libffi, libdecor, libxkbcommon, dbus
}:
src = fetchPypi rec { let
inherit pname version format; python = python310Packages.python;
sha256 = "sha256-7eLJWs54SPT1oHWn2Mw6nmQ8M19FlsPBUIfZPHrl9Wo="; optix = fetchzip {
dist = python; # url taken from the archlinux blender PKGBUILD
python = "cp310"; url = "https://developer.download.nvidia.com/redist/optix/v7.4/OptiX-7.4.0-Include.zip";
abi = "cp310"; sha256 = "sha256-ca08XetwaUYC9foeP5bff9kcDfuFgEzopvjspn2s8RY=";
platform = "manylinux_2_28_x86_64";
}; };
propagatedBuildInputs = with python3Packages; [ requests numpy cython zstandard ]; cg_preferences = fetchgit {
buildInputs = blender.buildInputs; url = "https://gitlab.com/brothermechanic/cg_preferences.git";
nativeBuildInputs = [ autoPatchelfHook ]; rev = "db192525ff41dfae4c063dc914a2c3fe5850d480";
autoPatchelfIgnoreMissingDeps = true; sha256 = "sha256-+eLWdokH/5odzOTykgrmG36U8h+Wf8YGOxe1oIy4dJo=";
fetchLFS = true;
};
in
stdenv.mkDerivation rec {
pname = "bpy";
version = "3.6.1";
src = fetchurl {
url = "https://download.blender.org/source/blender-${version}.tar.xz";
hash = "sha256-JJF+cbyya0kAJXBU2do4tiMWx0J9cyNTO0HKmztFrE0=";
};
patches = [
./cg-defaults.patch
./x112.patch
./blender-fix-desktop.patch
./blender-fix-boost-1.81-iostream.patch
];
nativeBuildInputs =
[ cmake makeWrapper python310Packages.wrapPython llvmPackages.llvm.dev
]
++ lib.optionals cudaSupport [ addOpenGLRunpath ]
++ lib.optionals waylandSupport [ pkg-config ];
buildInputs =
[ boost ffmpeg gettext glew ilmbase
freetype libjpeg libpng libsndfile libtiff libwebp
opencolorio openexr openimageio python zlib pkgs.zstd.dev fftw
(opensubdiv.override { inherit cudaSupport; })
tbb
gmp
pugixml
potrace
libharu
brotli
libepoxy
lzma
optix
]
++ lib.optionals waylandSupport [
wayland wayland-protocols libffi libdecor libxkbcommon dbus
]
++ lib.optionals (!stdenv.isAarch64) [
openimagedenoise
embree
]
++ (if (!stdenv.isDarwin) then [
libXi libX11 libXext libXrender
libGLU libGL
libXxf86vm
# OpenVDB currently doesn't build on darwin
openvdb
]
else [
llvmPackages.openmp clang
])
++ lib.optional cudaSupport cudaPackages.cudatoolkit
++ lib.optional colladaSupport opencollada
;
pythonPath = with python310Packages; [ numpy requests ];
postPatch = ''
cp ${cg_preferences}/startup.blend release/datafiles/
'' +
(if stdenv.isDarwin then ''
: > build_files/cmake/platform/platform_apple_xcode.cmake
substituteInPlace source/creator/CMakeLists.txt \
--replace '${"$"}{LIBDIR}/python' \
'${python}'
substituteInPlace build_files/cmake/platform/platform_apple.cmake \
--replace '${"$"}{LIBDIR}/python' \
'${python}' \
--replace '${"$"}{LIBDIR}/opencollada' \
'${opencollada}' \
--replace '${"$"}{PYTHON_LIBPATH}/site-packages/numpy' \
'${python310Packages.numpy}/${python.sitePackages}/numpy'
'' else ''
substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"'
'') +
(lib.optionalString hipSupport ''
substituteInPlace extern/hipew/src/hipew.c --replace '"/opt/rocm/hip/lib/libamdhip64.so"' '"${hip}/lib/libamdhip64.so"'
substituteInPlace extern/hipew/src/hipew.c --replace '"opt/rocm/hip/bin"' '"${hip}/bin"'
'');
cmakeFlags =
[
"-DWITH_PYTHON_INSTALL=OFF"
"-DWITH_AUDASPACE=OFF"
"-DWITH_PYTHON_MODULE=ON"
"-DWITH_MEM_JEMALLOC=OFF"
"-DWITH_INSTALL_PORTABLE=ON"
#___________
"-DPYTHON_LIBPATH=${python}/lib"
"-DPYTHON_VERSION=${python.pythonVersion}"
"-DPYTHON_INCLUDE_DIR=${python}/include/${python.libPrefix}"
"-DPYTHON_LIBRARY=${python.libPrefix}"
"-DWITH_PYTHON_INSTALL_NUMPY=OFF"
"-DPYTHON_NUMPY_PATH=${python310Packages.numpy}/${python.sitePackages}"
"-DPYTHON_NUMPY_INCLUDE_DIRS=${python310Packages.numpy}/${python.sitePackages}/numpy/core/include"
"-DWITH_PYTHON_INSTALL_REQUESTS=OFF"
"-DWITH_ALEMBIC=OFF"
"-DWITH_OPENVDB=ON"
"-DWITH_NANOVDB=ON"
"-DWITH_IMAGE_OPENJPEG=OFF"
"-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}"
"-DWITH_OPENAL=OFF"
"-DWITH_SDL=OFF"
"-DWITH_PULSEAUDIO=OFF"
"-DWITH_JACK=OFF"
"-DWITH_OPENMP=ON"
"-DWITH_OPENCOLORIO=ON"
"-DWITH_OPENSUBDIV=ON"
"-DWITH_TBB=ON"
"-DWITH_USD=OFF"
"-DWITH_XR_OPENXR=OFF"
"-DWITH_NINJA_POOL_JOBS=OFF"
"-DBUILD_SHARED_LIBS=OFF"
"-DWITH_BUILDINFO=OFF"
"-DWITH_HYDRA=OFF"
"-DWITH_MATERIALX=OFF"
"-DWITH_LINKER_LLD=ON"
"-DWITH_LIBS_PRECOMPILED=OFF"
"-DWITH_INTERNATIONAL=ON"
]
++ lib.optionals stdenv.hostPlatform.isAarch64 [
"-DWITH_CYCLES_EMBREE=OFF"
]
++ lib.optionals stdenv.isDarwin [
"-DWITH_CYCLES_OSL=OFF" # requires LLVM
"-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin
"-DLIBDIR=/does-not-exist"
]
++ lib.optionals cudaSupport [
"-DWITH_CYCLES_CUDA_BINARIES=ON"
"-DCUDA_NVCC_FLAGS=-std=c++14"
"-DWITH_CYCLES_DEVICE_OPTIX=ON"
"-DOPTIX_INCLUDE_DIR=${optix}"
]
# Clang doesn't support "-export-dynamic"
++ lib.optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS="
++ lib.optionals waylandSupport [
"-DWITH_GHOST_WAYLAND=ON"
"-DWITH_GHOST_WAYLAND_DBUS=ON"
"-DWITH_GHOST_WAYLAND_DYNLOAD=OFF"
"-DWITH_GHOST_WAYLAND_LIBDECOR=ON"
];
env.NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}";
# Since some dependencies are built with gcc 6, we need gcc 6's
# libstdc++ in our RPATH. Sigh.
NIX_LDFLAGS = lib.optionalString cudaSupport "-rpath ${stdenv.cc.cc.lib}/lib";
postInstall = ''
mkdir -p $out/lib/python3.10/site-packages
mkdir -p $out/nix-support
mv $out/bpy $out/lib/python3.10/site-packages/
echo ${python} >> $out/nix-support/propagated-build-inputs
'' + ''
mkdir $out/lib/python3.10/site-packages/bpy/3.6/scripts/addons/cg_preferences
cp -r ${cg_preferences}/* $out/lib/python3.10/site-packages/bpy/3.6/scripts/addons/cg_preferences/
'';
# Set RUNPATH so that libcuda and libnvrtc in /run/opengl-driver(-32)/lib can be
# found. See the explanation in libglvnd.
postFixup = ''
buildPythonPath $out/lib/python3.10/site-packages
'';
passthru = { inherit python; };
meta = with lib; { meta = with lib; {
description = "3D Creation/Animation/Publishing System"; description = "3D Creation/Animation/Publishing System module";
homepage = "https://www.blender.org"; homepage = "https://www.blender.org";
# They comment two licenses: GPLv2 and Blender License, but they # They comment two licenses: GPLv2 and Blender License, but they
# say: "We've decided to cancel the BL offering for an indefinite period." # say: "We've decided to cancel the BL offering for an indefinite period."
# OptiX, enabled with cudaSupport, is non-free. # OptiX, enabled with cudaSupport, is non-free.
license = with licenses; [ gpl2Plus ] ++ optional cudaSupport unfree; license = with licenses; [ gpl2Plus ] ++ optional cudaSupport unfree;
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
maintainers = with maintainers; [ brothermechanic ]; broken = stdenv.isDarwin;
maintainers = with maintainers; [ goibhniu veprbl brothermechanic ];
mainProgram = "bpy";
}; };
} }

View file

@ -1,12 +0,0 @@
diff --git a/intern/smoke/intern/WAVELET_NOISE.h b/intern/smoke/intern/WAVELET_NOISE.h
index fce901b..1f73c5e 100644
--- a/intern/smoke/intern/WAVELET_NOISE.h
+++ b/intern/smoke/intern/WAVELET_NOISE.h
@@ -43,6 +43,7 @@
#ifndef WAVELET_NOISE_H
#define WAVELET_NOISE_H
+#include <string.h>
#include <MERSENNETWISTER.h>
#ifdef WIN32

View file

@ -0,0 +1,46 @@
--- a/intern/ghost/CMakeLists.txt
+++ b/intern/ghost/CMakeLists.txt
@@ -183,6 +183,13 @@
${X11_X11_INCLUDE_PATH}
)
+ list(APPEND LIB
+ ${X11_X11_LIB}
+ -lXext
+ -lXxf86vm
+ ${X11_Xrender_LIB}
+ )
+
list(APPEND SRC
intern/GHOST_DisplayManagerX11.cpp
intern/GHOST_SystemX11.cpp
@@ -234,6 +241,9 @@
list(APPEND INC_SYS
${X11_xf86vmode_INCLUDE_PATH}
)
+ list(APPEND LIB
+ ${X11_Xf86vmode_LIB}
+ )
endif()
if(WITH_X11_XFIXES)
@@ -241,6 +251,9 @@
list(APPEND INC_SYS
${X11_Xfixes_INCLUDE_PATH}
)
+ list(APPEND LIB
+ ${X11_Xfixes_LIB}
+ )
endif()
if(WITH_X11_ALPHA)
@@ -252,6 +265,9 @@
list(APPEND INC_SYS
${X11_Xinput_INCLUDE_PATH}
)
+ list(APPEND LIB
+ ${X11_Xinput_LIB}
+ )
endif()
add_definitions(-DWITH_GHOST_X11)

View file

@ -0,0 +1,10 @@
--- a/intern/locale/boost_locale_wrapper.cpp
+++ b/intern/locale/boost_locale_wrapper.cpp
@@ -7,6 +7,7 @@
#include <boost/locale.hpp>
#include <stdio.h>
+#include <iostream>
#include "boost_locale_wrapper.h"

View file

@ -0,0 +1,10 @@
--- a/release/freedesktop/blender.desktop
+++ b/release/freedesktop/blender.desktop
@@ -84,6 +84,6 @@ Icon=blender
Terminal=false
Type=Application
PrefersNonDefaultGPU=true
-X-KDE-RunOnDiscreteGpu=true
+X-PreferRunOnDiscreteGPU=true
Categories=Graphics;3DGraphics;
MimeType=application/x-blender;

View file

@ -0,0 +1,84 @@
diff -Naur a/source/blender/makesdna/DNA_modifier_defaults.h b/source/blender/makesdna/DNA_modifier_defaults.h
--- a/source/blender/makesdna/DNA_modifier_defaults.h 2020-12-24 20:07:32.000000000 +0300
+++ b/source/blender/makesdna/DNA_modifier_defaults.h 2020-12-28 00:11:53.397550988 +0300
@@ -43,7 +43,7 @@
.length = 0.0f, \
.merge_dist = 0.01f, \
.fit_type = MOD_ARR_FIXEDCOUNT, \
- .offset_type = MOD_ARR_OFF_RELATIVE, \
+ .offset_type = MOD_ARR_OFF_CONST, \
.flags = 0, \
.count = 2, \
.uv_offset = {0.0f, 0.0f}, \
@@ -51,8 +51,8 @@
#define _DNA_DEFAULT_BevelModifierData \
{ \
- .value = 0.1f, \
- .res = 1, \
+ .value = 0.01f, \
+ .res = 2, \
.flags = 0, \
.val_flags = MOD_BEVEL_AMT_OFFSET, \
.profile_type = MOD_BEVEL_PROFILE_SUPERELLIPSE, \
@@ -93,7 +93,7 @@
#define _DNA_DEFAULT_CastModifierData \
{ \
.object = NULL, \
- .fac = 0.5f, \
+ .fac = 1.0f, \
.radius = 0.0f, \
.size = 0.0f, \
.defgrp_name = "", \
@@ -259,7 +259,7 @@
#define _DNA_DEFAULT_DecimateModifierData \
{ \
- .percent = 1.0f, \
+ .percent = 0.1f, \
.iter = 0, \
.delimit = 0, \
.symmetry_axis = 0, \
@@ -567,7 +567,7 @@
.vgroup_name = "", \
.factor = DEG2RADF(45.0f), \
.limit = {0.0f, 1.0f}, \
- .mode = MOD_SIMPLEDEFORM_MODE_TWIST, \
+ .mode = MOD_SIMPLEDEFORM_MODE_BEND, \
.axis = 0, \
.deform_axis = 0, \
.flag = 0, \
@@ -608,7 +608,7 @@
.crease_inner = 0.0f, \
.crease_outer = 0.0f, \
.crease_rim = 0.0f, \
- .flag = MOD_SOLIDIFY_RIM, \
+ .flag = MOD_SOLIDIFY_RIM | MOD_SOLIDIFY_EVEN, \
.mat_ofs = 0, \
.mat_ofs_rim = 0, \
.merge_tolerance = 0.0001f, \
@@ -619,7 +619,7 @@
.subdivType = 0, \
.levels = 1, \
.renderLevels = 2, \
- .flags = eSubsurfModifierFlag_UseCrease | eSubsurfModifierFlag_ControlEdges, \
+ .flags = eSubsurfModifierFlag_UseCrease | eSubsurfModifierFlag_ControlEdges | eSubsurfModifierFlag_UseRecursiveSubdivision, \
.uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES, \
.quality = 3, \
.boundary_smooth = SUBSURF_BOUNDARY_SMOOTH_ALL, \
diff -Naur a/source/blender/makesdna/DNA_view3d_defaults.h b/source/blender/makesdna/DNA_view3d_defaults.h
--- a/source/blender/makesdna/DNA_view3d_defaults.h 2020-12-24 20:07:32.000000000 +0300
+++ b/source/blender/makesdna/DNA_view3d_defaults.h 2020-12-27 22:52:32.467466785 +0300
@@ -94,9 +94,9 @@
.flag = V3D_SELECT_OUTLINE, \
.flag2 = V3D_SHOW_RECONSTRUCTION | V3D_SHOW_ANNOTATION, \
\
- .lens = 50.0f, \
- .clip_start = 0.01f, \
- .clip_end = 1000.0f, \
+ .lens = 85.0f, \
+ .clip_start = 0.001f, \
+ .clip_end = 100.0f, \
\
.bundle_size = 0.2f, \
.bundle_drawtype = OB_PLAINAXES, \

View file

@ -0,0 +1,45 @@
--- /dev/null 2023-08-11 22:07:27.012000310 +0300
+++ b/scripts/startup/cg_environment.py 2023-08-11 00:44:51.704718595 +0300
@@ -0,0 +1,42 @@
+#!/usr/bin/python3
+# -*- coding: utf-8 -*-
+# Copyright (C) 2023 Ilia Kurochkin <brothermechanic@gmail.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+__doc__ = 'Environment for use CG Overlay'
+__version__ = '0.1'
+
+import bpy
+from bpy.app.handlers import persistent
+import addon_utils
+
+
+@persistent
+def cg_env(dummy):
+ '''Scripts environment'''
+ addon_utils.enable('cg_preferences', default_set=True)
+
+ print('CG Environment activated!')
+
+
+def register():
+ '''register blender module'''
+ bpy.app.handlers.load_post.append(cg_env)
+
+
+def unregister():
+ '''unregister blender module'''
+ bpy.app.handlers.load_post.remove(cg_env)
+
+
+if __name__ == '__main__':
+ register()

View file

@ -0,0 +1,42 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Copyright (C) 2023 Ilia Kurochkin <brothermechanic@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
__doc__ = 'Environment for use CG Overlay'
__version__ = '0.1'
import bpy
from bpy.app.handlers import persistent
import addon_utils
@persistent
def cg_env(dummy):
'''Scripts environment'''
addon_utils.enable('cg_preferences', default_set=True)
print('CG Environment activated!')
def register():
'''register blender module'''
bpy.app.handlers.load_post.append(cg_env)
def unregister():
'''unregister blender module'''
bpy.app.handlers.load_post.remove(cg_env)
if __name__ == '__main__':
register()

View file

@ -1,80 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1832,7 +1832,7 @@ if(WITH_COMPILER_SHORT_FILE_MACRO)
ADD_CHECK_CXX_COMPILER_FLAG(CXX_PREFIX_MAP_FLAGS CXX_MACRO_PREFIX_MAP -fmacro-prefix-map=foo=bar)
if(C_MACRO_PREFIX_MAP AND CXX_MACRO_PREFIX_MAP)
if(APPLE)
- if(XCODE AND ${XCODE_VERSION} VERSION_LESS 12.0)
+ if(FALSE)
# Developers may have say LLVM Clang-10.0.1 toolchain (which supports the flag)
# with Xcode-11 (the Clang of which doesn't support the flag).
message(WARNING
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
--- a/build_files/cmake/platform/platform_apple.cmake
+++ b/build_files/cmake/platform/platform_apple.cmake
@@ -60,7 +60,6 @@ else()
message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
endif()
if(NOT EXISTS "${LIBDIR}/")
- message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'")
endif()
# Prefer lib directory paths
@@ -98,10 +97,6 @@ if(WITH_CODEC_SNDFILE)
find_library(_sndfile_VORBIS_LIBRARY NAMES vorbis HINTS ${LIBDIR}/ffmpeg/lib)
find_library(_sndfile_VORBISENC_LIBRARY NAMES vorbisenc HINTS ${LIBDIR}/ffmpeg/lib)
list(APPEND LIBSNDFILE_LIBRARIES
- ${_sndfile_FLAC_LIBRARY}
- ${_sndfile_OGG_LIBRARY}
- ${_sndfile_VORBIS_LIBRARY}
- ${_sndfile_VORBISENC_LIBRARY}
)
print_found_status("SndFile libraries" "${LIBSNDFILE_LIBRARIES}")
@@ -118,7 +113,7 @@ if(WITH_PYTHON)
# Normally cached but not since we include them with blender.
set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}")
set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}")
- set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}.a)
+ set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}.dylib)
set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
else()
# Module must be compiled against Python framework.
@@ -147,7 +142,7 @@ endif()
# FreeType compiled with Brotli compression for woff2.
find_package(Freetype REQUIRED)
-list(APPEND FREETYPE_LIBRARIES
+message(TRACE APPEND FREETYPE_LIBRARIES
${LIBDIR}/brotli/lib/libbrotlicommon-static.a
${LIBDIR}/brotli/lib/libbrotlidec-static.a)
@@ -159,9 +154,7 @@ if(WITH_CODEC_FFMPEG)
set(FFMPEG_ROOT_DIR ${LIBDIR}/ffmpeg)
set(FFMPEG_FIND_COMPONENTS
avcodec avdevice avformat avutil
- mp3lame ogg opus swresample swscale
- theora theoradec theoraenc vorbis vorbisenc
- vorbisfile vpx x264 xvidcore)
+ swresample swscale)
find_package(FFmpeg)
endif()
@@ -270,7 +263,6 @@ if(WITH_BOOST)
endif()
if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG)
- string(APPEND PLATFORM_LINKFLAGS " -liconv") # boost_locale and ffmpeg needs it !
endif()
if(WITH_PUGIXML)
@@ -399,7 +391,7 @@ endif()
# CMake FindOpenMP doesn't know about AppleClang before 3.12, so provide custom flags.
if(WITH_OPENMP)
- if(CMAKE_C_COMPILER_ID MATCHES "Clang")
+ if(FALSE)
# Use OpenMP from our precompiled libraries.
message(STATUS "Using ${LIBDIR}/openmp for OpenMP")
set(OPENMP_CUSTOM ON)

View file

@ -1,80 +1,107 @@
{ config, stdenv, lib, fetchurl, fetchzip, boost, cmake, ffmpeg, gettext, glew # TODO WITH_CYCLES_OSL
, ilmbase, libXi, libX11, libXext, libXrender # TODO WITH_NANOVDB
, libjpeg, libpng, libsamplerate, libsndfile # TODO WITH_CLANG
, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimagedenoise, openimageio2, openjpeg, python310Packages { config, stdenv, lib, fetchurl, fetchzip, fetchgit, makeWrapper, cmake, git-lfs
, openvdb, libXxf86vm, tbb, alembic , boost, ocl-icd, gettext, zlib, zstd, jemalloc, pugixml, llvmPackages, clang
, zlib, zstd, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath , libepoxy, libXi, libX11, libXext, libXrender, libXxf86vm
, libGLU, libGL, glew, addOpenGLRunpath
, openimageio, opencolorio, openexr, ilmbase, libjpeg, libpng, libtiff, libwebp, potrace
, embree, gmp, openvdb, tbb, alembic, openimagedenoise, opensubdiv, freetype, libharu
, openal, libsamplerate
, ffmpeg, fftw, libsndfile
, python310Packages
, jackaudioSupport ? false, libjack2 , jackaudioSupport ? false, libjack2
, cudaSupport ? config.cudaSupport or false, cudaPackages ? { } , cudaSupport ? config.cudaSupport or false, cudaPackages ? { }
, hipSupport ? false, hip # comes with a significantly larger closure size , hipSupport ? false, hip # comes with a significantly larger closure size
, colladaSupport ? true, opencollada , colladaSupport ? true, opencollada
, spaceNavSupport ? stdenv.isLinux, libspnav , spaceNavSupport ? stdenv.isLinux, libspnav
, makeWrapper , waylandSupport ? stdenv.isLinux, pkg-config, wayland, wayland-protocols, libffi, libdecor, libxkbcommon, dbus
, pugixml, llvmPackages, SDL
, potrace
, openxr-loader
, embree, gmp, libharu
, libepoxy, brotli
}: }:
with lib;
let let
python = python310Packages.python; python = python310Packages.python;
optix = fetchzip { optix = fetchzip {
# url taken from the archlinux blender PKGBUILD # url taken from the archlinux blender PKGBUILD
url = "https://developer.download.nvidia.com/redist/optix/v7.3/OptiX-7.3.0-Include.zip"; url = "https://developer.download.nvidia.com/redist/optix/v7.4/OptiX-7.4.0-Include.zip";
sha256 = "0max1j4822mchj0xpz9lqzh91zkmvsn4py0r174cvqfz8z8ykjk8"; sha256 = "sha256-ca08XetwaUYC9foeP5bff9kcDfuFgEzopvjspn2s8RY=";
};
cg_preferences = fetchgit {
url = "https://gitlab.com/brothermechanic/cg_preferences.git";
rev = "db192525ff41dfae4c063dc914a2c3fe5850d480";
sha256 = "sha256-+eLWdokH/5odzOTykgrmG36U8h+Wf8YGOxe1oIy4dJo=";
fetchLFS = true;
};
robossembler = fetchgit {
url = "https://gitlab.com/brothermechanic/logo.git";
rev = "0a0235cd154a59b711e87456206ccd7ba69a7e4e";
sha256 = "sha256-/QsgKdtDHNymsTEmhIzSrOKNUqqkXl8coy+5LwIEkas=";
fetchLFS = true;
}; };
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "blender"; pname = "blender";
version = "3.4.1"; version = "3.6.1";
src = fetchurl { src = fetchurl {
url = "https://download.blender.org/source/${pname}-${version}.tar.xz"; url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
hash = "sha256-JHxMEignDJAQ9HIcmFy1tiirUKvPnyZ4Ywc3FC7rkcM="; hash = "sha256-JJF+cbyya0kAJXBU2do4tiMWx0J9cyNTO0HKmztFrE0=";
}; };
patches = lib.optional stdenv.isDarwin ./darwin.patch; patches = [
./cg_environment.patch
./cg-defaults.patch
./x112.patch
./blender-fix-desktop.patch
./blender-fix-boost-1.81-iostream.patch
];
nativeBuildInputs = [ cmake makeWrapper python310Packages.wrapPython llvmPackages.llvm.dev ] nativeBuildInputs =
++ optionals cudaSupport [ addOpenGLRunpath ]; [ cmake makeWrapper python310Packages.wrapPython llvmPackages.llvm.dev git-lfs
]
++ lib.optionals cudaSupport [ addOpenGLRunpath ]
++ lib.optionals waylandSupport [ pkg-config ];
buildInputs = buildInputs =
[ boost ffmpeg gettext glew ilmbase [ boost ffmpeg gettext glew ilmbase
freetype libjpeg libpng libsamplerate libsndfile libtiff freetype libjpeg libpng libsamplerate libsndfile libtiff libwebp
opencolorio openexr openimagedenoise openimageio2 openjpeg python zlib zstd fftw jemalloc opencolorio openexr openimageio python zlib zstd fftw jemalloc
alembic alembic
(opensubdiv.override { inherit cudaSupport; }) (opensubdiv.override { inherit cudaSupport; })
tbb tbb
embree
gmp gmp
pugixml pugixml
potrace potrace
libharu libharu
libepoxy libepoxy
brotli optix
]
++ lib.optionals waylandSupport [
wayland wayland-protocols libffi libdecor libxkbcommon dbus
]
++ lib.optionals (!stdenv.isAarch64) [
openimagedenoise
embree
] ]
++ (if (!stdenv.isDarwin) then [ ++ (if (!stdenv.isDarwin) then [
libXi libX11 libXext libXrender libXi libX11 libXext libXrender
libGLU libGL openal libGLU libGL openal
libXxf86vm libXxf86vm
openxr-loader
# OpenVDB currently doesn't build on darwin # OpenVDB currently doesn't build on darwin
openvdb openvdb
] ]
else [ else [
llvmPackages.openmp SDL llvmPackages.openmp
]) ])
++ optional jackaudioSupport libjack2 ++ lib.optional jackaudioSupport libjack2
++ optional cudaSupport cudaPackages.cudatoolkit ++ lib.optional cudaSupport cudaPackages.cudatoolkit
++ optional colladaSupport opencollada ++ lib.optional colladaSupport opencollada
++ optional spaceNavSupport libspnav; ++ lib.optional spaceNavSupport libspnav
;
pythonPath = with python310Packages; [ numpy requests ]; pythonPath = with python310Packages; [ numpy requests ];
postPatch = '' postPatch = ''
# allow usage of dynamically linked embree cp ${cg_preferences}/startup.blend release/datafiles/
rm build_files/cmake/Modules/FindEmbree.cmake cp ${robossembler}/raster/robossembler_1024x512_roboty-rossii.png release/datafiles/splash.png
'' + '' +
(if stdenv.isDarwin then '' (if stdenv.isDarwin then ''
: > build_files/cmake/platform/platform_apple_xcode.cmake : > build_files/cmake/platform/platform_apple_xcode.cmake
@ -91,63 +118,85 @@ stdenv.mkDerivation rec {
'' else '' '' else ''
substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"' substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"'
'') + '') +
(if hipSupport then '' (lib.optionalString hipSupport ''
substituteInPlace extern/hipew/src/hipew.c --replace '"/opt/rocm/hip/lib/libamdhip64.so"' '"${hip}/lib/libamdhip64.so"' substituteInPlace extern/hipew/src/hipew.c --replace '"/opt/rocm/hip/lib/libamdhip64.so"' '"${hip}/lib/libamdhip64.so"'
substituteInPlace extern/hipew/src/hipew.c --replace '"opt/rocm/hip/bin"' '"${hip}/bin"' substituteInPlace extern/hipew/src/hipew.c --replace '"opt/rocm/hip/bin"' '"${hip}/bin"'
'' else ""); '');
cmakeFlags = cmakeFlags =
[ [
"-DWITH_ALEMBIC=ON"
"-DWITH_USD=OFF"
"-DWITH_MOD_OCEANSIM=ON"
"-DWITH_CODEC_FFMPEG=ON"
"-DWITH_CODEC_SNDFILE=ON"
"-DWITH_INSTALL_PORTABLE=OFF"
"-DWITH_FFTW3=ON"
"-DWITH_SDL=OFF"
"-DWITH_OPENCOLORIO=ON"
"-DWITH_OPENSUBDIV=ON"
"-DPYTHON_LIBRARY=${python.libPrefix}"
"-DPYTHON_LIBPATH=${python}/lib" "-DPYTHON_LIBPATH=${python}/lib"
"-DPYTHON_INCLUDE_DIR=${python}/include/${python.libPrefix}"
"-DPYTHON_VERSION=${python.pythonVersion}" "-DPYTHON_VERSION=${python.pythonVersion}"
"-DPYTHON_INCLUDE_DIR=${python}/include/${python.libPrefix}"
"-DPYTHON_LIBRARY=${python.libPrefix}"
"-DWITH_PYTHON_INSTALL=OFF" "-DWITH_PYTHON_INSTALL=OFF"
"-DWITH_PYTHON_INSTALL_NUMPY=OFF" "-DWITH_PYTHON_INSTALL_NUMPY=OFF"
"-DPYTHON_NUMPY_PATH=${python310Packages.numpy}/${python.sitePackages}" "-DPYTHON_NUMPY_PATH=${python310Packages.numpy}/${python.sitePackages}"
"-DPYTHON_NUMPY_INCLUDE_DIRS=${python310Packages.numpy}/${python.sitePackages}/numpy/core/include" "-DPYTHON_NUMPY_INCLUDE_DIRS=${python310Packages.numpy}/${python.sitePackages}/numpy/core/include"
"-DWITH_PYTHON_INSTALL_REQUESTS=OFF" "-DWITH_PYTHON_INSTALL_REQUESTS=OFF"
"-DWITH_ALEMBIC=ON"
# 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.so"
"-DWITH_INSTALL_PORTABLE=OFF"
"-DWITH_OPENVDB=ON" "-DWITH_OPENVDB=ON"
"-DWITH_TBB=ON" "-DWITH_NANOVDB=ON"
"-DWITH_IMAGE_OPENJPEG=ON" "-DWITH_IMAGE_OPENJPEG=OFF"
"-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}" "-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}"
"-DWITH_OPENAL=ON"
"-DWITH_SDL=OFF"
"-DWITH_OPENMP=ON"
"-DWITH_OPENCOLORIO=ON"
"-DWITH_OPENSUBDIV=ON"
"-DWITH_TBB=ON"
"-DWITH_USD=OFF"
"-DWITH_XR_OPENXR=OFF"
"-DWITH_NINJA_POOL_JOBS=OFF"
"-DBUILD_SHARED_LIBS=OFF"
"-DWITH_BUILDINFO=OFF"
"-DWITH_HYDRA=OFF"
"-DWITH_MATERIALX=OFF"
"-DWITH_LINKER_LLD=ON"
"-DWITH_LIBS_PRECOMPILED=OFF"
"-DWITH_INTERNATIONAL=ON"
] ]
++ optionals stdenv.isDarwin [ ++ lib.optionals stdenv.hostPlatform.isAarch64 [
"-DWITH_CYCLES_EMBREE=OFF"
]
++ lib.optionals stdenv.isDarwin [
"-DWITH_CYCLES_OSL=OFF" # requires LLVM "-DWITH_CYCLES_OSL=OFF" # requires LLVM
"-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin "-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin
"-DLIBDIR=/does-not-exist" "-DLIBDIR=/does-not-exist"
] ]
# Clang doesn't support "-export-dynamic" ++ lib.optionals cudaSupport [
++ optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS="
++ optional jackaudioSupport "-DWITH_JACK=ON"
++ optionals cudaSupport [
"-DWITH_CYCLES_CUDA_BINARIES=ON" "-DWITH_CYCLES_CUDA_BINARIES=ON"
"-DWITH_CYCLES_DEVICE_OPTIX=ON" "-DWITH_CYCLES_DEVICE_OPTIX=ON"
"-DOPTIX_ROOT_DIR=${optix}" "-DOPTIX_INCLUDE_DIR=${optix}"
]
# Clang doesn't support "-export-dynamic"
++ lib.optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS="
++ lib.optional jackaudioSupport "-DWITH_JACK=ON"
++ lib.optionals waylandSupport [
"-DWITH_GHOST_WAYLAND=ON"
"-DWITH_GHOST_WAYLAND_DBUS=ON"
"-DWITH_GHOST_WAYLAND_DYNLOAD=OFF"
"-DWITH_GHOST_WAYLAND_LIBDECOR=ON"
]; ];
NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}"; env.NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}";
# Since some dependencies are built with gcc 6, we need gcc 6's # Since some dependencies are built with gcc 6, we need gcc 6's
# libstdc++ in our RPATH. Sigh. # libstdc++ in our RPATH. Sigh.
NIX_LDFLAGS = optionalString cudaSupport "-rpath ${stdenv.cc.cc.lib}/lib"; NIX_LDFLAGS = lib.optionalString cudaSupport "-rpath ${stdenv.cc.cc.lib}/lib";
blenderExecutable = blenderExecutable =
placeholder "out" + (if stdenv.isDarwin then "/Applications/Blender.app/Contents/MacOS/Blender" else "/bin/blender"); placeholder "out" + (if stdenv.isDarwin then "/Applications/Blender.app/Contents/MacOS/Blender" else "/bin/blender");
postInstall = lib.optionalString stdenv.isDarwin '' postInstall = lib.optionalString stdenv.isDarwin ''
mkdir $out/Applications mkdir $out/Applications
mv $out/Blender.app $out/Applications mv $out/Blender.app $out/Applications
'' + ''
mkdir $out/share/blender/3.6/scripts/addons/cg_preferences
cp -r ${cg_preferences}/* $out/share/blender/3.6/scripts/addons/cg_preferences/
'' + '' '' + ''
buildPythonPath "$pythonPath" buildPythonPath "$pythonPath"
wrapProgram $blenderExecutable \ wrapProgram $blenderExecutable \
@ -155,16 +204,20 @@ stdenv.mkDerivation rec {
--prefix PYTHONPATH : "$program_PYTHONPATH" \ --prefix PYTHONPATH : "$program_PYTHONPATH" \
--add-flags '--python-use-system-env' --add-flags '--python-use-system-env'
''; '';
#cp ${cg_environment} $out/share/blender/3.6/scripts/startup/
# cp ./cg_environment.py "$out/share/blender/3.6/scripts/startup/
# cp "${cg_preferences}" "$out/share/blender/3.6/scripts/addons/
# Set RUNPATH so that libcuda and libnvrtc in /run/opengl-driver(-32)/lib can be # Set RUNPATH so that libcuda and libnvrtc in /run/opengl-driver(-32)/lib can be
# found. See the explanation in libglvnd. # found. See the explanation in libglvnd.
postFixup = optionalString cudaSupport '' postFixup = lib.optionalString cudaSupport ''
for program in $out/bin/blender $out/bin/.blender-wrapped; do for program in $out/bin/blender $out/bin/.blender-wrapped; do
isELF "$program" || continue isELF "$program" || continue
addOpenGLRunpath "$program" addOpenGLRunpath "$program"
done done
''; '';
passthru = { inherit python; };
meta = with lib; { meta = with lib; {
description = "3D Creation/Animation/Publishing System"; description = "3D Creation/Animation/Publishing System";
homepage = "https://www.blender.org"; homepage = "https://www.blender.org";
@ -172,7 +225,9 @@ stdenv.mkDerivation rec {
# say: "We've decided to cancel the BL offering for an indefinite period." # say: "We've decided to cancel the BL offering for an indefinite period."
# OptiX, enabled with cudaSupport, is non-free. # OptiX, enabled with cudaSupport, is non-free.
license = with licenses; [ gpl2Plus ] ++ optional cudaSupport unfree; license = with licenses; [ gpl2Plus ] ++ optional cudaSupport unfree;
platforms = [ "x86_64-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
maintainers = with maintainers; [ goibhniu veprbl ]; broken = stdenv.isDarwin;
maintainers = with maintainers; [ goibhniu veprbl brothermechanic ];
mainProgram = "blender";
}; };
} }

View file

@ -1,12 +0,0 @@
diff --git a/intern/smoke/intern/WAVELET_NOISE.h b/intern/smoke/intern/WAVELET_NOISE.h
index fce901b..1f73c5e 100644
--- a/intern/smoke/intern/WAVELET_NOISE.h
+++ b/intern/smoke/intern/WAVELET_NOISE.h
@@ -43,6 +43,7 @@
#ifndef WAVELET_NOISE_H
#define WAVELET_NOISE_H
+#include <string.h>
#include <MERSENNETWISTER.h>
#ifdef WIN32

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,46 @@
--- a/intern/ghost/CMakeLists.txt
+++ b/intern/ghost/CMakeLists.txt
@@ -183,6 +183,13 @@
${X11_X11_INCLUDE_PATH}
)
+ list(APPEND LIB
+ ${X11_X11_LIB}
+ -lXext
+ -lXxf86vm
+ ${X11_Xrender_LIB}
+ )
+
list(APPEND SRC
intern/GHOST_DisplayManagerX11.cpp
intern/GHOST_SystemX11.cpp
@@ -234,6 +241,9 @@
list(APPEND INC_SYS
${X11_xf86vmode_INCLUDE_PATH}
)
+ list(APPEND LIB
+ ${X11_Xf86vmode_LIB}
+ )
endif()
if(WITH_X11_XFIXES)
@@ -241,6 +251,9 @@
list(APPEND INC_SYS
${X11_Xfixes_INCLUDE_PATH}
)
+ list(APPEND LIB
+ ${X11_Xfixes_LIB}
+ )
endif()
if(WITH_X11_ALPHA)
@@ -252,6 +265,9 @@
list(APPEND INC_SYS
${X11_Xinput_INCLUDE_PATH}
)
+ list(APPEND LIB
+ ${X11_Xinput_LIB}
+ )
endif()
add_definitions(-DWITH_GHOST_X11)