Compare commits

...

28 Commits

Author SHA1 Message Date
e83cc0b38e Lots of updates - lua, narrator, logic, models 2025-09-19 04:36:04 +03:00
09b6df62e7 Added Bullet 2025-09-10 12:59:08 +03:00
b14753dbdb Let physics run for a while to prevent bugs 2025-09-08 11:41:30 +03:00
e0a1112376 Water update; UI update 2025-09-07 21:15:47 +03:00
254a37a636 Updates 2025-09-05 22:57:33 +03:00
dc1aba3100 Water is in ECS; water material is created in code 2025-09-03 05:31:54 +03:00
76c3aa8247 Converted to ECS, physics fix 2025-09-02 16:07:58 +03:00
138f7c0829 Staticc linking to libstdc++/libgcc 2025-08-30 23:14:37 +03:00
2eba5e2a06 Proper blender use 2025-08-30 22:16:26 +03:00
0d60793398 Proper cache variable setting 2025-08-30 22:12:28 +03:00
cc69d16c06 Remove miniaudio from build, just bundle it 2025-08-30 21:19:32 +03:00
bb44da8bae Rearrangements; audio support 2025-08-30 21:16:36 +03:00
f0702442d9 Build optimization 2025-08-30 10:47:25 +03:00
8727bcb128 Build system using cmake 2025-08-28 02:48:29 +03:00
7f6c5a994b ogre-procedural: fix target genetartion 2025-08-28 02:44:48 +03:00
6f8941603b Added flecs; fixed build system 2025-08-28 02:34:18 +03:00
6d09ec2584 Handling on-floor target 2025-08-21 15:04:49 +03:00
3cf249a3c7 Update game code 2025-08-21 11:01:32 +03:00
0a87e821d2 Upgrade ogre-procedural ogre 2025-08-21 08:48:48 +03:00
015a15b85d add mingw toolchain file 2025-08-21 08:48:48 +03:00
42d1b5e914 Proper blender path 2025-08-19 14:19:35 +03:00
43a3cc5f29 zlib build fix 2025-08-19 12:04:24 +03:00
2908e2038a Complete build 2025-08-19 00:31:59 +03:00
c9ad1d2832 x86_64 blender 2025-08-18 13:48:22 +03:00
493368a423 AARCH64 blender dist added 2025-08-17 06:50:46 +03:00
ec70ea366c Blender build update 2025-08-17 06:50:27 +03:00
d53374c238 AARCH64 blender dist 2025-08-17 06:50:04 +03:00
4914b0dd02 Blender build update 2025-08-17 06:44:18 +03:00
18 changed files with 402 additions and 103 deletions

2
.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
prebuilts/Blender-3.6-unknown-linux-aarch64.tar.xz filter=lfs diff=lfs merge=lfs -text
prebuilts/Blender-3.6-unknown-linux-x86_64.tar.xz filter=lfs diff=lfs merge=lfs -text

12
.gitmodules vendored
View File

@@ -130,3 +130,15 @@
path = blender-deps/zstd
url = https://github.com/facebook/zstd
branch = dev
[submodule "flecs"]
path = flecs
url = https://github.com/SanderMertens/flecs
branch = master
[submodule "miniaudio"]
path = miniaudio
url = https://github.com/mackron/miniaudio
branch = dev
[submodule "bullet3"]
path = bullet3
url = https://github.com/bulletphysics/bullet3
branch = master

304
CMakeLists.txt Normal file
View File

@@ -0,0 +1,304 @@
cmake_minimum_required(VERSION 3.10)
project(ogre-base)
include(ExternalProject)
include(ProcessorCount)
set(CUSTOM_OPTS -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=${CMAKE_CURRENT_SOURCE_DIR}/ogre-sdk -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_SOURCE_DIR}/ogre-sdk -DBUILD_SHARED_LIBS=ON)
set(CUSTOM_OPTS_STATIC -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=${CMAKE_CURRENT_SOURCE_DIR}/ogre-sdk-static -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_SOURCE_DIR}/ogre-sdk-static -DBUILD_SHARED_LIBS=OFF)
ProcessorCount(numCores)
find_program (MAKE_EXECUTABLE make DOC make REQUIRED)
find_package (PkgConfig)
pkg_check_modules(GFX_LIBS REQUIRED wayland-client wayland-protocols x11)
set(CPU ${CMAKE_SYSTEM_PROCESSOR})
set(BLENDER_DIST ${CMAKE_SOURCE_DIR}/prebuilts/Blender-3.6-unknown-linux-${CPU}.tar.xz)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/blender-bin/bin/blender
COMMAND [ -f ${BLENDER_DIST} ] || ./build-blender.sh
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/blender-bin
COMMAND tar xf ${BLENDER_DIST} -C ${CMAKE_BINARY_DIR}/blender-bin
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/blender-bin/bin
COMMAND ln -sf ../Blender-3.6-unknown-linux-${CPU}/blender ${CMAKE_BINARY_DIR}/blender-bin/bin/blender
)
add_custom_target(blender DEPENDS ${CMAKE_BINARY_DIR}/blender-bin/bin/blender)
ExternalProject_Add(zlib-nominizip
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zlib
CMAKE_ARGS -DZLIB_BUILD_STATIC=ON -DZLIB_BUILD_SHARED=OFF -DZLIB_BUILD_MINIZIP=OFF -DMINIZIP_BUILD_SHARED=OFF -DMINIZIP_BUILD_STATIC=OFF -DMINIZIP_ENABLE_BZIP2=OFF ${CUSTOM_OPTS} -DBUILD_SHARED_LIBS=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
)
ExternalProject_Add(zlib
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zlib
CMAKE_ARGS -DZLIB_BUILD_STATIC=ON -DZLIB_BUILD_SHARED=OFF -DZLIB_BUILD_MINIZIP=ON -DMINIZIP_BUILD_SHARED=OFF -DMINIZIP_BUILD_STATIC=OFF -DMINIZIP_ENABLE_BZIP2=OFF ${CUSTOM_OPTS} -DBUILD_SHARED_LIBS=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
DEPENDS zlib-nominizip
)
ExternalProject_Add(zlib-static-nominizip
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zlib
CMAKE_ARGS -DZLIB_BUILD_STATIC=ON -DZLIB_BUILD_SHARED=OFF -DZLIB_BUILD_MINIZIP=OFF -DMINIZIP_BUILD_SHARED=OFF -DMINIZIP_BUILD_STATIC=ON -DMINIZIP_ENABLE_BZIP2=OFF ${CUSTOM_OPTS_STATIC}
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
)
ExternalProject_Add(zlib-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zlib
CMAKE_ARGS -DZLIB_BUILD_STATIC=ON -DZLIB_BUILD_SHARED=OFF -DZLIB_BUILD_MINIZIP=ON -DMINIZIP_BUILD_SHARED=OFF -DMINIZIP_BUILD_STATIC=ON -DMINIZIP_ENABLE_BZIP2=OFF ${CUSTOM_OPTS_STATIC}
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
DEPENDS zlib-static-nominizip
)
ExternalProject_Add(jpeg-turbo
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libjpeg-turbo
CMAKE_ARGS -DENABLE_SHARED=FALSE -DENABLE_STATIC=TRUE
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
${CUSTOM_OPTS}
)
ExternalProject_Add(jpeg-turbo-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libjpeg-turbo
CMAKE_ARGS -DENABLE_SHARED=FALSE -DENABLE_STATIC=TRUE
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
${CUSTOM_OPTS_STATIC}
)
ExternalProject_Add(libpng
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libpng
CMAKE_ARGS -DPNG_SHARED=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
${CUSTOM_OPTS}
DEPENDS zlib
)
ExternalProject_Add(libpng-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libpng
CMAKE_ARGS -DPNG_SHARED=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
${CUSTOM_OPTS_STATIC}
DEPENDS zlib-static
)
ExternalProject_Add(pugixml
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/pugixml
CMAKE_ARGS ${CUSTOM_OPTS}
)
ExternalProject_Add(pugixml-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/pugixml
CMAKE_ARGS ${CUSTOM_OPTS_STATIC}
)
set(FFMPEG_CONFIG_OPTS
--disable-shared --enable-static --disable-programs --disable-gcrypt --disable-gpl --disable-nonfree
--disable-libopus --disable-libpulse --disable-alsa
)
ExternalProject_Add(ffmpeg
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ffmpeg
CONFIGURE_COMMAND env PKG_CONFIG_PATH=${CMAKE_CURRENT_SOURCE_DIR}/ogre-sdk/lib/pkgconfig
"<SOURCE_DIR>/configure" --prefix=${CMAKE_CURRENT_SOURCE_DIR}/ogre-sdk ${FFMPEG_CONFIG_OPTS}
BUILD_COMMAND "${MAKE_EXECUTABLE}" -j${numCores} all
INSTALL_COMMAND "${MAKE_EXECUTABLE}" -j${numCores} all
DEPENDS libpng jpeg-turbo
)
ExternalProject_Add(ffmpeg-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ffmpeg
CONFIGURE_COMMAND env PKG_CONFIG_PATH=${CMAKE_CURRENT_SOURCE_DIR}/ogre-sdk-static/lib/pkgconfig
"<SOURCE_DIR>/configure" --prefix=${CMAKE_CURRENT_SOURCE_DIR}/ogre-sdk-static ${FFMPEG_CONFIG_OPTS}
BUILD_COMMAND "${MAKE_EXECUTABLE}" -j${numCores} all
INSTALL_COMMAND "${MAKE_EXECUTABLE}" -j${numCores} all
DEPENDS libpng-static jpeg-turbo-static
)
ExternalProject_Add(assimp
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/assimp
CMAKE_ARGS -DASSIMP_BUILD_ZLIB=ON -DBUILD_SHARED_LIBS=OFF ${CUSTOM_OPTS}
DEPENDS zlib jpeg-turbo pugixml
)
ExternalProject_Add(assimp-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/assimp
CMAKE_ARGS -DASSIMP_BUILD_ZLIB=ON -DBUILD_SHARED_LIBS=OFF ${CUSTOM_OPTS_STATIC}
DEPENDS zlib-static jpeg-turbo-static pugixml-static
)
set(SDL_COMMON_OPTIONS
-DSDL_SHARED=OFF -DSDL_STATIC=ON -DSDL_STATIC_PIC=ON -DSDL_X11=ON
-DSDL_X11_SHARED=OFF -DSDL_X11_XCURSOR=ON -DSDL_X11_XDBE=ON
-DSDL_X11_XINPUT=ON -DSDL_X11_XRANDR=ON -DSDL_X11_XSCRNSAVER=ON -DSDL_X11_XSHAPE=ON -DSDL_WAYLAND=OFF
-DSDL_WAYLAND_SHARED=OFF -DSDL_WAYLAND_LIBDECOR=OFF -DSDL_WAYLAND_LIBDECOR_SHARED=OFF -DSDL_KMSDRM=OFF -DSDL_KMSDRM_SHARED=OFF -DSDL_OPENGL=ON
-DSDL_OPENGLES=ON -DSDL_VULKAN=ON -DSDL_ALSA=OFF -DSDL_ALSA_SHARED=OFF -DSDL_PIPEWIRE=ON -DSDL_PIPEWIRE_SHARED=OFF
-DSDL_PULSEAUDIO=OFF -DSDL_PULSEAUDIO_SHARED=OFF -DSDL_RPATH=OFF -DSDL_HIDAPI=ON -DSDL_HIDAPI_JOYSTICK=ON
)
ExternalProject_Add(SDL
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SDL
CMAKE_ARGS
${SDL_COMMON_OPTIONS}
${CUSTOM_OPTS}
DEPENDS libpng jpeg-turbo
)
ExternalProject_Add(SDL-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SDL
CMAKE_ARGS
${SDL_COMMON_OPTIONS}
${CUSTOM_OPTS_STATIC}
DEPENDS libpng-static jpeg-turbo-static
)
ExternalProject_Add(SPIRV-Headers
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SPIRV-Headers
CMAKE_ARGS ${CUSTOM_OPTS}
)
ExternalProject_Add(SPIRV-Tools
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SPIRV-Tools
CMAKE_ARGS ${CUSTOM_OPTS} -DBUILD_SHARED_LIBS=OFF -DSPIRV_TOOLS_BUILD_STATIC=ON -DSPIRV_WERROR=OFF
-DSPIRV_TOOLS_LIBRARY_TYPE=STATIC
-DSPIRV-Headers_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/ogre-sdk
DEPENDS SPIRV-Headers
)
ExternalProject_Add(SPIRV-Headers-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SPIRV-Headers
CMAKE_ARGS ${CUSTOM_OPTS_STATIC}
)
ExternalProject_Add(SPIRV-Tools-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SPIRV-Tools
CMAKE_ARGS ${CUSTOM_OPTS} -DBUILD_SHARED_LIBS=OFF -DSPIRV_TOOLS_BUILD_STATIC=ON -DSPIRV_WERROR=OFF
-DSPIRV_TOOLS_LIBRARY_TYPE=STATIC
-DSPIRV-Headers_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/ogre-sdk-static
DEPENDS SPIRV-Headers-static
)
ExternalProject_Add(glslang
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/glslang
CMAKE_ARGS ${CUSTOM_OPTS} -DBUILD_SHARED_LIBS=OFF -DENABLE_HLSL=TRUE -DENABLE_SPIRV=TRUE
DEPENDS SPIRV-Tools
)
ExternalProject_Add(glslang-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/glslang
CMAKE_ARGS ${CUSTOM_OPTS_STATIC} -DBUILD_SHARED_LIBS=OFF -DENABLE_HLSL=TRUE -DENABLE_SPIRV=TRUE
DEPENDS SPIRV-Tools-static
)
#ExternalProject_Add(SPIRV-Tools
# SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SPIRV-Tools
# CMAKE_ARGS -DBUILD_SHARED_LIBS=OFF -DSPIRV_TOOLS_BUILD_STATIC=ON -DSPIRV_TOOLS_LIBRARY_TYPE=STATIC ${CUSTOM_OPTS}
#)
set(OGRE_COMMON_OPTIONS
-DOGRE_BUILD_RENDERSYSTEM_D3D9=FALSE
-DOGRE_BUILD_RENDERSYSTEM_D3D11=FALSE
-DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=TRUE
-DOGRE_BUILD_RENDERSYSTEM_GL=TRUE
-DOGRE_BUILD_RENDERSYSTEM_GLES2=TRUE
-DOGRE_BUILD_RENDERSYSTEM_METAL=FALSE
-DOGRE_BUILD_RENDERSYSTEM_VULKAN=FALSE
-DOGRE_BUILD_PLUGIN_GLSLANG=TRUE
-DOGRE_BUILD_COMPONENT_OVERLAY=TRUE
-DOGRE_BUILD_PLUGIN_DOT_SCENE=TRUE
-DOGRE_GLSUPPORT_USE_EGL:BOOL=FALSE
-DOGRE_INSTALL_DEPENDENCIES:BOOL=TRUE
# -DASSIMP_BUILD_ASSIMP_TOOLS=OFF
# -DOGRE_CONFIG_THREADS=3
# -DOGRE_CONFIG_THREAD_PROVIDER="std"
)
ExternalProject_Add(ogre
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ogre
CMAKE_ARGS
${OGRE_COMMON_OPTIONS}
-DASSIMP_BUILD_ASSIMP_TOOLS=ON
-DOGRE_STATIC=FALSE
${CUSTOM_OPTS}
DEPENDS ffmpeg jpeg-turbo libpng SDL assimp glslang
)
ExternalProject_Add(ogre-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ogre
CMAKE_ARGS
${OGRE_COMMON_OPTIONS}
-DASSIMP_BUILD_ASSIMP_TOOLS=ON
-DOGRE_STATIC=TRUE
${CUSTOM_OPTS_STATIC}
DEPENDS ffmpeg-static jpeg-turbo-static libpng-static SDL-static assimp-static glslang-static
)
ExternalProject_Add(ogre-procedural
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ogre-procedural
CMAKE_ARGS -DOgreProcedural_BUILD_DOCS:BOOL=FALSE
-DOgreProcedural_STATIC=FALSE -DOgreProcedural_BUILD_SAMPLES=TRUE
${CUSTOM_OPTS} -DCMAKE_BUILD_TYPE=Debug
DEPENDS ogre
)
ExternalProject_Add(ogre-procedural-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ogre-procedural
CMAKE_ARGS -DOgreProcedural_BUILD_DOCS:BOOL=FALSE
-DOgreProcedural_STATIC=TRUE -DOgreProcedural_BUILD_SAMPLES=TRUE
${CUSTOM_OPTS_STATIC} -DCMAKE_BUILD_TYPE=Release
DEPENDS ogre-static
)
ExternalProject_Add(ogre-pagedgeometry
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ogre-pagedgeometry
CMAKE_ARGS
${CUSTOM_OPTS}
DEPENDS ogre
)
ExternalProject_Add(ogre-pagedgeometry-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ogre-pagedgeometry
CMAKE_ARGS
${CUSTOM_OPTS_STATIC}
DEPENDS ogre-static
)
ExternalProject_Add(ogrewater
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ogrewater
CMAKE_ARGS
${CUSTOM_OPTS}
INSTALL_COMMAND ""
DEPENDS SDL zlib ogre
)
ExternalProject_Add(ogrewater-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ogrewater
CMAKE_ARGS
${CUSTOM_OPTS_STATIC}
INSTALL_COMMAND ""
DEPENDS SDL-static zlib-static ogre-static
)
ExternalProject_Add(flecs
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/flecs
CMAKE_ARGS -DFLECS_STATIC=ON -DFLECS_SHARED=OFF -DFLECS_PIC=ON -DFLECS_TESTS=OFF
${CUSTOM_OPTS}
)
ExternalProject_Add(flecs-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/flecs
CMAKE_ARGS -DFLECS_STATIC=ON -DFLECS_SHARED=OFF -DFLECS_PIC=ON -DFLECS_TESTS=OFF
${CUSTOM_OPTS_STATIC}
)
ExternalProject_Add(world2
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ogre-projects/world2
CMAKE_ARGS ${CUSTOM_OPTS} -DBLENDER=${CMAKE_CURRENT_BINARY_DIR}/blender-bin/bin/blender
DEPENDS ogre ogre-procedural ogre-pagedgeometry flecs SDL blender
)
ExternalProject_Add(world2-static
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ogre-projects/world2
CMAKE_ARGS ${CUSTOM_OPTS_STATIC} -DBLENDER=${CMAKE_CURRENT_BINARY_DIR}/blender-bin/bin/blender
DEPENDS ogre-static ogre-procedural-static ogre-pagedgeometry-static flecs-static SDL-static blender
)

View File

@@ -1,6 +1,6 @@
diff -Naur ispc-1.17.0.org/CMakeLists.txt ispc-1.17.0/CMakeLists.txt
--- ispc-1.17.0.org/CMakeLists.txt 2022-01-15 01:35:15 -0700
+++ ispc-1.17.0/CMakeLists.txt 2022-02-12 12:44:24 -0700
--- ispc-1.17.0.org/CMakeLists.txt 2022-01-15 11:35:15.000000000 +0300
+++ ispc-1.17.0/CMakeLists.txt 2025-08-17 23:51:29.551323047 +0300
@@ -36,8 +36,12 @@
cmake_minimum_required(VERSION 3.13)
@@ -64,9 +64,20 @@ diff -Naur ispc-1.17.0.org/CMakeLists.txt ispc-1.17.0/CMakeLists.txt
# Build target for utility checking host ISA
if (ISPC_INCLUDE_UTILS)
add_executable(check_isa "")
diff -Naur ispc-1.17.0.org/src/target_registry.h ispc-1.17.0/src/target_registry.h
--- ispc-1.17.0.org/src/target_registry.h 2022-01-15 11:35:15.000000000 +0300
+++ ispc-1.17.0/src/target_registry.h 2025-08-17 23:52:08.015586903 +0300
@@ -42,6 +42,7 @@
#include <bitset>
#include <map>
#include <vector>
+#include <cstdint>
namespace ispc {
// Some background information useful for understanding how this works.
diff -Naur ispc-1.17.0.org/cmake/GenerateBuiltins.cmake ispc-1.17.0/cmake/GenerateBuiltins.cmake
--- ispc-1.17.0.org/cmake/GenerateBuiltins.cmake 2022-01-15 01:35:15 -0700
+++ ispc-1.17.0/cmake/GenerateBuiltins.cmake 2022-02-12 12:44:24 -0700
--- ispc-1.17.0.org/cmake/GenerateBuiltins.cmake 2022-01-15 11:35:15.000000000 +0300
+++ ispc-1.17.0/cmake/GenerateBuiltins.cmake 2025-08-17 23:51:29.551323047 +0300
@@ -124,6 +124,8 @@
if ("${bit}" STREQUAL "32" AND ${arch} STREQUAL "x86")

View File

@@ -20,27 +20,31 @@ cd ${BASE_PATH}/blender
#sed -e 's@set(MESA_URI .*@set(MESA_URI https://archive.mesa3d.org/older-versions/21.x/mesa-${MESA_VERSION}.tar.xz)@g' -i build_files/build_environment/cmake/versions.cmake
#sed -e 's@set(FRIBIDI_URI .*@set(FRIBIDI_URI https://github.com/fribidi/fribidi/archive/refs/tags/${FRIBIDI_VERSION}.tar.gz)@g' -i build_files/build_environment/cmake/versions.cmake
#sed -e 's@set(FRIBIDI_FILE .*@set(FRIBIDI_FILE fribidi-${FRIBIDI_VERSION}.tar.gz)@g' -i build_files/build_environment/cmake/versions.cmake
ARM_DEFS=
if [ x$CPU = xaarch64 ]; then
ARM_DEFS="-DBLENDER_PLATFORM_ARM=ON"
python3 ./build_files/utils/make_update.py --architecture arm64
else
python3 ./build_files/utils/make_update.py
fi
cd ${BASE_PATH}
cmake -S ${DEPS_SRC} -B ${DEPS_BUILD} \
-DHARVEST_TARGET=${DEPS_INSTALL} \
-DBLENDER_PLATFORM_ARM=ON
${ARM_DEFS}
export VERBOSE=1
cd ${DEPS_BUILD} && make install && cd ${BASE_PATH}
cmake -S ${BLENDER_SRC} -B ${BLENDER_BUILD} \
-C${BLENDER_DIR}/build_files/cmake/config/blender_release.cmake \
-DBLENDER_PLATFORM_ARM=ON \
${ARM_DEFS} \
-DWITH_CYCLES_EMBREE=OFF \
-DLIBDIR=${BASE_PATH}/lib/lib_${CPU}
cd ${BLENDER_BUILD} && make && make install && make package_archive
mkdir prebuilts
export VERBOSE=1
cd ${BLENDER_BUILD} && make && make install && \
make package_archive && cd ${BASE_PATH}
mkdir -p prebuilts
cp ./build_linux_${CPU}/release/Blender-3.6-unknown-linux-${CPU}.tar.xz ./prebuilts
git add ./prebuilts/Blender-3.6-unknown-linux-${CPU}.tar.xz
git lfs track --filename ./prebuilts/Blender-3.6-unknown-linux-${CPU}.tar.xz
git add ./prebuilts/Blender-3.6-unknown-linux-${CPU}.tar.xz

View File

@@ -206,103 +206,33 @@ while true; do
done
if [ x$CLEAN = xtrue ]; then
rm -Rf assimp/build assimp/build-static
rm -Rf assimp/build assimp/build-static
rm -Rf ogre/build ogre/build-static ogre-sdk ogre-sdk-static
rm -Rf ogre-procedural/build ogre-procedural/build-static
rm -Rf ogre-projects/world2/build ogre-projects/world2/build-static
for d in zlib libjpeg-turbo libpng pugixml ffmpeg assimp \
SDL SPIRV-Headers SPIRV-Tools glslang SPIRV-Cross \
ogre ogre-procedural ogre-pagedgeometry ogrewater; do
rm -Rf $d/build $d/build-static
done
fi
#(cd bzip2-1.0.8 && make all && make install PREFIX=${OGRE_INSTALL_PATH})
#(cd bzip2-1.0.8 && make all && make install PREFIX=${OGRE_INSTALL_PATH}-static)
#set -x
rm -Rf blender-base
CPU=$(uname -m)
BLENDER_DIST=prebuilts/Blender-3.6-unknown-linux-${CPU}.tar.xz
if [ ! -d blender-tree ]; then
cp -a blender blender-tree
cp -a blender-patches blender-tree/patches
cd blender-tree
quilt push -a
make update
# sed -e 's/set(OPENAL_HASH .*/set(OPENAL_HASH d41d8cd98f00b204e9800998ecf8427e)/g' -i build_files/build_environment/cmake/versions.cmake
# sed -e 's/set(LIBGLU_HASH .*/set(LIBGLU_HASH d41d8cd98f00b204e9800998ecf8427e)/g' -i build_files/build_environment/cmake/versions.cmake
sed -e 's@set(OPENAL_URI .*@set(OPENAL_URI https://github.com/kcat/openal-soft/archive/refs/tags/${OPENAL_VERSION}.tar.gz)@g' -i build_files/build_environment/cmake/versions.cmake
sed -e 's@set(LIBGLU_URI .*@set(LIBGLU_URI https://archive.mesa3d.org/glu/glu-${LIBGLU_VERSION}.tar.xz)@g' -i build_files/build_environment/cmake/versions.cmake
sed -e 's@set(MESA_URI .*@set(MESA_URI https://archive.mesa3d.org/older-versions/21.x/mesa-${MESA_VERSION}.tar.xz)@g' -i build_files/build_environment/cmake/versions.cmake
sed -e 's@set(FRIBIDI_URI .*@set(FRIBIDI_URI https://github.com/fribidi/fribidi/archive/refs/tags/${FRIBIDI_VERSION}.tar.gz)@g' -i build_files/build_environment/cmake/versions.cmake
sed -e 's@set(FRIBIDI_FILE .*@set(FRIBIDI_FILE fribidi-${FRIBIDI_VERSION}.tar.gz)@g' -i build_files/build_environment/cmake/versions.cmake
cd ..
if [ ! -e blender-bin/bin/blender ]; then
[ -f ${BLENDER_DIST} ] || ./build-blender.sh
mkdir -p blender-bin
tar xf ${BLENDER_DIST} -C blender-bin
mkdir -p blender-bin/bin
ln -sf ../Blender-3.6-unknown-linux-${CPU}/blender blender-bin/bin/blender
fi
cd blender-tree
for d in 1 2 3 4 5 6; do
if make deps; then break; fi
make release
done
cd ..
#cmake -S $(pwd)/blender-tree/build_files/build_environment \
# -B $(pwd)/blender-deps/build \
# -DHARVEST_TARGET=$(pwd)/blender-base \
# -DCMAKE_PREFIX_PATH=$(pwd)/blender-base \
# -DCMAKE_INSTALL_PREFIX=$(pwd)/blender-base
#cmake -S $(pwd)/blender-deps/build_environment \
# -B $(pwd)/blender-deps/build \
# -DHARVEST_TARGET=$(pwd)/blender-base \
# -DCMAKE_PREFIX_PATH=$(pwd)/blender-base \
# -DCMAKE_INSTALL_PREFIX=$(pwd)/blender-base
#make -C $(pwd)/blender-deps/build -j8
#exit 0
# blender
#blender dependencies
build_cmake_stuff blender-static clean release zlib "-DZLIB_BUILD_STATIC=ON -DZLIB_BUILD_SHARED=OFF -DZLIB_BUILD_MINIZIP=OFF"
build_cmake_stuff blender-static clean release blender-deps/libdeflate "-DLIBDEFLATE_BUILD_SHARED_LIB=OFF"
build_cmake_stuff blender-static clean release blender-deps/xz "-DXZ_TOOL_XZDEC=OFF -DXZ_TOOL_LZMADEC=OFF -DXZ_TOOL_LZMAINFO=OFF -DXZ_TOOL_XZ=OFF -DXZ_TOOL_SCRIPTS=OFF"
build_cmake_stuff blender-static clean release libtiff "-Dtiff-tools=OFF -Dtiff-tests=OFF"
build_cmake_stuff blender-static clean release blender-deps/libwebp \
"-DWEBP_BUILD_ANIM_UTILS=OFF -DWEBP_BUILD_CWEBP=OFF \
-DWEBP_BUILD_DWEBP=OFF -DWEBP_BUILD_GIF2WEBP=OFF \
-DWEBP_BUILD_IMG2WEBP=OFF -DWEBP_BUILD_VWEBP=OFF \
-DWEBP_BUILD_WEBPINFO=OFF -DWEBP_BUILD_WEBPMUX=OFF"
sed -e 's/Libs.private: -lm/Libs.private: -lm -lsharpyuv/g' -i blender-base/lib/pkgconfig/libwebp.pc
build_cmake_stuff blender-static clean release blender-deps/jbigkit-cmake ""
build_cmake_stuff blender-static clean release libjpeg-turbo "-DENABLE_SHARED=FALSE -DWITH_TOOLS=FALSE -DWITH_TESTS=FALSE"
build_cmake_stuff blender-static clean release libpng "-DPNG_SHARED=OFF"
build_cmake_stuff blender-static clean release pugixml ""
build_ffmpeg blender clean ffmpeg
build_cmake_stuff blender-static clean release assimp "-DASSIMP_BUILD_ZLIB=ON -DBUILD_SHARED_LIBS=OFF"
build_cmake_stuff blender-static clean release Imath ""
build_cmake_stuff blender-static clean release openexr ""
build_cmake_stuff blender-static clean release oneTBB "-DTBB_TEST=OFF"
build_cmake_stuff blender-static clean release pybind11 "-DPYBIND11_TEST=OFF"
build_cmake_stuff blender-static clean release fftw-3.3.10 ""
build_cmake_stuff blender-static clean release OpenColorIO "-DOCIO_BUILD_TESTS=OFF -DOCIO_BUILD_PYTHON=OFF"
build_cmake_stuff blender-static clean release OpenImageIO "-DOIIO_BUILD_TESTS=OFF -DOIIO_BUILD_DOCS=OFF -DOIIO_BUILD_TOOLS=OFF -DOpenImageIO_BUILD_MISSING_DEPS=all -DUSE_PYTHON=0"
build_cmake_stuff blender-static clean release OpenColorIO "-DOCIO_BUILD_TESTS=OFF -DOCIO_BUILD_PYTHON=OFF"
exit 0
build_cmake_stuff blender-static clean release blender-deps/openpgl "-DOPENPGL_BUILD_STATIC=ON"
cd blender-tree
make update
cd ..
# "-C$(pwd)/blender/build_files/cmake/config/blender_release.cmake \
#
build_cmake_stuff blender clean debug release blender-tree \
"-DCMAKE_SKIP_RPATH=OFF \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWITH_CODEC_FFMPEG=ON -DWITH_CODEC_SNDFILE=ON -DWITH_CPU_SSE=OFF \
-DWITH_CYCLES=ON -DWITH_CYCLES_EMBREE=OFF -DWITH_DOC_MANPAGE=OFF -DWITH_FFTW3=ON -DWITH_GAMEENGINE=ON -DWITH_IMAGE_OPENJPEG=ON \
-DWITH_INPUT_NDOF=ON -DWITH_INSTALL_PORTABLE=OFF -DWITH_MOD_OCEANSIM=ON -DWITH_OPENCOLLADA=ON -DWITH_OPENCOLORIO=ON \
-DWITH_OPENSUBDIV=ON -DWITH_OPENVDB=OFF -DWITH_PLAYER=ON -DWITH_PYTHON_INSTALL=ON -DWITH_SYSTEM_GLEW=ON \
-DWITH_GHOST_SDL=ON -DWITH_GHOST_WAYLAND=ON -DWITH_GHOST_X11=ON \
-DWITH_STATIC_LIBS=OFF"
exit 0
build_cmake_stuff debug release zlib "-DZLIB_BUILD_STATIC=OFF -DZLIB_BUILD_SHARED=ON -DZLIB_BUILD_MINIZIP=ON -DMINIZIP_BUILD_SHARED=ON -DMINIZIP_BUILD_STATIC=OFF -DMINIZIP_ENABLE_BZIP2=OFF"
build_cmake_stuff debug release static zlib "-DZLIB_BUILD_STATIC=ON -DZLIB_BUILD_SHARED=OFF -DZLIB_BUILD_MINIZIP=ON -DMINIZIP_BUILD_SHARED=OFF -DMINIZIP_BUILD_STATIC=ON -DMINIZIP_ENABLE_BZIP2=OFF"
build_cmake_stuff debug release clean static zlib "-DZLIB_BUILD_STATIC=ON -DZLIB_BUILD_SHARED=OFF -DZLIB_BUILD_MINIZIP=OFF -DMINIZIP_BUILD_SHARED=OFF -DMINIZIP_BUILD_STATIC=ON -DMINIZIP_ENABLE_BZIP2=OFF"
build_cmake_stuff debug release clean static zlib "-DZLIB_BUILD_STATIC=ON -DZLIB_BUILD_SHARED=OFF -DZLIB_BUILD_MINIZIP=ON -DMINIZIP_BUILD_SHARED=OFF -DMINIZIP_BUILD_STATIC=ON -DMINIZIP_ENABLE_BZIP2=OFF"
build_cmake_stuff release debug libjpeg-turbo ""
build_cmake_stuff release debug static libjpeg-turbo ""
@@ -353,6 +283,8 @@ build_cmake_stuff clean debug release static ogre-pagedgeometry ""
#build_cmake_stuff clean debug release OgreCrowd "-DBUILD_DEMO=OFF"
build_cmake_stuff debug release noinstall clean ogrewater ""
build_cmake_stuff debug release noinstall clean static ogrewater ""
build_cmake_stuff debug release flecs "-DFLECS_STATIC=ON -DFLECS_SHARED=OFF -DFLECS_PIC=ON -DFLECS_TESTS=OFF"
build_cmake_stuff debug release static flecs "-DFLECS_STATIC=ON -DFLECS_SHARED=OFF -DFLECS_PIC=ON -DFLECS_TESTS=OFF"
build_cmake_stuff debug noinstall clean ogre-projects/world2 ""
build_cmake_stuff debug noinstall clean static ogre-projects/world2 "-DOGRE_DYNAMIC=OFF"
exit 0

1
bullet3 Submodule

Submodule bullet3 added at 2c204c49e5

1
flecs Submodule

Submodule flecs added at 01a902dac1

Submodule glslang updated: 2e24222cd9...c34bb3b6c5

View File

@@ -0,0 +1,25 @@
# Sample toolchain file for building for Windows from an Ubuntu Linux system.
#
# Typical usage:
# *) install cross compiler: `sudo apt-get install mingw-w64`
# *) cd build
# *) cmake -DCMAKE_TOOLCHAIN_FILE=~/mingw-w64-x86_64.cmake ..
# This is free and unencumbered software released into the public domain.
set(CMAKE_SYSTEM_NAME Windows)
set(TOOLCHAIN_PREFIX x86_64-w64-mingw32)
# cross compilers to use for C, C++ and Fortran
set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++)
set(CMAKE_Fortran_COMPILER ${TOOLCHAIN_PREFIX}-gfortran)
set(CMAKE_RC_COMPILER ${TOOLCHAIN_PREFIX}-windres)
# target environment on the build host system
set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX})
# modify default behavior of FIND_XXX() commands
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

1
miniaudio Submodule

Submodule miniaudio added at 70eb06d3bd

2
ogre

Submodule ogre updated: 21b46f2bd3...3e681d0bac

BIN
prebuilts/Blender-3.6-unknown-linux-aarch64.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
prebuilts/Blender-3.6-unknown-linux-x86_64.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.