Compare commits
45 Commits
temp-tab_d
...
temp-objec
Author | SHA1 | Date | |
---|---|---|---|
69f366eff0 | |||
dbccbc63de | |||
917edd5e1e | |||
bee47fe7d5 | |||
aa93d417fc | |||
f0a3aa88c8 | |||
4f392784e6 | |||
f0083fc1d2 | |||
bbcbbf7212 | |||
fbccb08c28 | |||
05617a068e | |||
fcff5f80f9 | |||
3703483d03 | |||
99b8c0fe5d | |||
d7c0421493 | |||
8a410572c2 | |||
269e4e9b81 | |||
8a20cd92a9 | |||
![]() |
e5e686a667 | ||
cf8028e4a9 | |||
7ed100f13f | |||
4aab63d23e | |||
37573632f0 | |||
0ae714f082 | |||
5855d4051f | |||
e9173a0389 | |||
f9cdf4e20d | |||
1f94830d6e | |||
e7b4e4a94a | |||
b91185d6af | |||
e426838798 | |||
ad58a423ea | |||
b45a464794 | |||
c73d408ed8 | |||
![]() |
cb3fb8b259 | ||
b31a3ffc25 | |||
fc2974b06d | |||
04e76696f9 | |||
acfc5f7820 | |||
d897d52659 | |||
8651ddeb0e | |||
d25fea66e2 | |||
d67d85771f | |||
7ba6684f3e | |||
cb49e77eb1 |
@@ -2,6 +2,5 @@
|
|||||||
"project_id" : "Blender",
|
"project_id" : "Blender",
|
||||||
"conduit_uri" : "https://developer.blender.org/",
|
"conduit_uri" : "https://developer.blender.org/",
|
||||||
"git.default-relative-commit" : "origin/blender2.8",
|
"git.default-relative-commit" : "origin/blender2.8",
|
||||||
"arc.land.update.default" : "rebase",
|
"arc.land.update.default" : "rebase"
|
||||||
"arc.land.onto.default" : "blender2.8"
|
|
||||||
}
|
}
|
||||||
|
@@ -1,44 +0,0 @@
|
|||||||
# C/C++
|
|
||||||
[*.{c,cc,h,hh,inl,glsl}]
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = tab
|
|
||||||
indent_size = 4
|
|
||||||
max_line_length = 120
|
|
||||||
|
|
||||||
# CMake & Text
|
|
||||||
[*.{cmake,txt}]
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = tab
|
|
||||||
indent_size = 4
|
|
||||||
max_line_length = 120
|
|
||||||
|
|
||||||
# Python
|
|
||||||
[*.py]
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 4
|
|
||||||
max_line_length = 120
|
|
||||||
|
|
||||||
# Shell
|
|
||||||
[*.sh]
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = tab
|
|
||||||
indent_size = 4
|
|
||||||
max_line_length = 120
|
|
||||||
|
|
||||||
# reStructuredText
|
|
||||||
[*.rst]
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 3
|
|
||||||
max_line_length = 120
|
|
4
.gitmodules
vendored
4
.gitmodules
vendored
@@ -3,18 +3,22 @@
|
|||||||
url = ../blender-addons.git
|
url = ../blender-addons.git
|
||||||
branch = blender2.8
|
branch = blender2.8
|
||||||
ignore = all
|
ignore = all
|
||||||
|
branch = master
|
||||||
[submodule "release/scripts/addons_contrib"]
|
[submodule "release/scripts/addons_contrib"]
|
||||||
path = release/scripts/addons_contrib
|
path = release/scripts/addons_contrib
|
||||||
url = ../blender-addons-contrib.git
|
url = ../blender-addons-contrib.git
|
||||||
branch = master
|
branch = master
|
||||||
ignore = all
|
ignore = all
|
||||||
|
branch = master
|
||||||
[submodule "release/datafiles/locale"]
|
[submodule "release/datafiles/locale"]
|
||||||
path = release/datafiles/locale
|
path = release/datafiles/locale
|
||||||
url = ../blender-translations.git
|
url = ../blender-translations.git
|
||||||
branch = master
|
branch = master
|
||||||
ignore = all
|
ignore = all
|
||||||
|
branch = master
|
||||||
[submodule "source/tools"]
|
[submodule "source/tools"]
|
||||||
path = source/tools
|
path = source/tools
|
||||||
url = ../blender-dev-tools.git
|
url = ../blender-dev-tools.git
|
||||||
branch = master
|
branch = master
|
||||||
ignore = all
|
ignore = all
|
||||||
|
branch = master
|
||||||
|
195
CMakeLists.txt
195
CMakeLists.txt
@@ -66,12 +66,21 @@ endif()
|
|||||||
# set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
|
# set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
|
||||||
|
|
||||||
# global compile definitions since add_definitions() adds for all.
|
# global compile definitions since add_definitions() adds for all.
|
||||||
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS
|
|
||||||
$<$<CONFIG:Debug>:DEBUG;_DEBUG>
|
if(NOT (${CMAKE_VERSION} VERSION_LESS 3.0))
|
||||||
$<$<CONFIG:Release>:NDEBUG>
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS
|
||||||
$<$<CONFIG:MinSizeRel>:NDEBUG>
|
$<$<CONFIG:Debug>:DEBUG;_DEBUG>
|
||||||
$<$<CONFIG:RelWithDebInfo>:NDEBUG>
|
$<$<CONFIG:Release>:NDEBUG>
|
||||||
)
|
$<$<CONFIG:MinSizeRel>:NDEBUG>
|
||||||
|
$<$<CONFIG:RelWithDebInfo>:NDEBUG>
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
# keep until CMake-3.0 is min requirement
|
||||||
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG _DEBUG)
|
||||||
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE NDEBUG)
|
||||||
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL NDEBUG)
|
||||||
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO NDEBUG)
|
||||||
|
endif()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Set policy
|
# Set policy
|
||||||
@@ -156,6 +165,7 @@ option_defaults_init(
|
|||||||
_init_OPENCOLORIO
|
_init_OPENCOLORIO
|
||||||
_init_SDL
|
_init_SDL
|
||||||
_init_FFTW3
|
_init_FFTW3
|
||||||
|
_init_GAMEENGINE
|
||||||
_init_OPENSUBDIV
|
_init_OPENSUBDIV
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -196,7 +206,7 @@ mark_as_advanced(WITH_BLENDER)
|
|||||||
option(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
|
option(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
|
||||||
|
|
||||||
option(WITH_PYTHON "Enable Embedded Python API (only disable for development)" ON)
|
option(WITH_PYTHON "Enable Embedded Python API (only disable for development)" ON)
|
||||||
option(WITH_PYTHON_SECURITY "Disables execution of scripts within blend files by default" ON)
|
option(WITH_PYTHON_SECURITY "Disables execution of scripts within blend files by default" ON)
|
||||||
mark_as_advanced(WITH_PYTHON) # dont want people disabling this unless they really know what they are doing.
|
mark_as_advanced(WITH_PYTHON) # dont want people disabling this unless they really know what they are doing.
|
||||||
mark_as_advanced(WITH_PYTHON_SECURITY) # some distributions see this as a security issue, rather than have them patch it, make a build option.
|
mark_as_advanced(WITH_PYTHON_SECURITY) # some distributions see this as a security issue, rather than have them patch it, make a build option.
|
||||||
|
|
||||||
@@ -225,8 +235,17 @@ option(WITH_FFTW3 "Enable FFTW3 support (Used for smoke, ocean sim, and
|
|||||||
option(WITH_BULLET "Enable Bullet (Physics Engine)" ON)
|
option(WITH_BULLET "Enable Bullet (Physics Engine)" ON)
|
||||||
option(WITH_SYSTEM_BULLET "Use the systems bullet library (currently unsupported due to missing features in upstream!)" )
|
option(WITH_SYSTEM_BULLET "Use the systems bullet library (currently unsupported due to missing features in upstream!)" )
|
||||||
mark_as_advanced(WITH_SYSTEM_BULLET)
|
mark_as_advanced(WITH_SYSTEM_BULLET)
|
||||||
|
option(WITH_GAMEENGINE "Enable Game Engine" ${_init_GAMEENGINE})
|
||||||
|
if(APPLE)
|
||||||
|
set(WITH_GAMEENGINE_DECKLINK OFF)
|
||||||
|
else()
|
||||||
|
option(WITH_GAMEENGINE_DECKLINK "Support BlackMagicDesign DeckLink cards in the Game Engine" ON)
|
||||||
|
endif()
|
||||||
|
option(WITH_PLAYER "Build Player" OFF)
|
||||||
option(WITH_OPENCOLORIO "Enable OpenColorIO color management" ${_init_OPENCOLORIO})
|
option(WITH_OPENCOLORIO "Enable OpenColorIO color management" ${_init_OPENCOLORIO})
|
||||||
|
|
||||||
|
option(WITH_CLAY_ENGINE "Enable Clay engine" ON)
|
||||||
|
|
||||||
# Compositor
|
# Compositor
|
||||||
option(WITH_COMPOSITOR "Enable the tile based nodal compositor" ON)
|
option(WITH_COMPOSITOR "Enable the tile based nodal compositor" ON)
|
||||||
|
|
||||||
@@ -308,6 +327,7 @@ option(WITH_IMAGE_TIFF "Enable LibTIFF Support" ON)
|
|||||||
option(WITH_IMAGE_DDS "Enable DDS Image Support" ON)
|
option(WITH_IMAGE_DDS "Enable DDS Image Support" ON)
|
||||||
option(WITH_IMAGE_CINEON "Enable CINEON and DPX Image Support" ON)
|
option(WITH_IMAGE_CINEON "Enable CINEON and DPX Image Support" ON)
|
||||||
option(WITH_IMAGE_HDR "Enable HDR Image Support" ON)
|
option(WITH_IMAGE_HDR "Enable HDR Image Support" ON)
|
||||||
|
option(WITH_IMAGE_FRAMESERVER "Enable image FrameServer Support for rendering" ON)
|
||||||
|
|
||||||
# Audio/Video format support
|
# Audio/Video format support
|
||||||
option(WITH_CODEC_AVI "Enable Blenders own AVI file support (raw/jpeg)" ON)
|
option(WITH_CODEC_AVI "Enable Blenders own AVI file support (raw/jpeg)" ON)
|
||||||
@@ -439,7 +459,7 @@ mark_as_advanced(WITH_MEM_VALGRIND)
|
|||||||
option(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation tracking (only enable for development)" OFF)
|
option(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation tracking (only enable for development)" OFF)
|
||||||
mark_as_advanced(WITH_CXX_GUARDEDALLOC)
|
mark_as_advanced(WITH_CXX_GUARDEDALLOC)
|
||||||
|
|
||||||
option(WITH_ASSERT_ABORT "Call abort() when raising an assertion through BLI_assert()" ON)
|
option(WITH_ASSERT_ABORT "Call abort() when raising an assertion through BLI_assert()" OFF)
|
||||||
mark_as_advanced(WITH_ASSERT_ABORT)
|
mark_as_advanced(WITH_ASSERT_ABORT)
|
||||||
|
|
||||||
option(WITH_BOOST "Enable features depending on boost" ON)
|
option(WITH_BOOST "Enable features depending on boost" ON)
|
||||||
@@ -458,13 +478,11 @@ endif()
|
|||||||
|
|
||||||
# OpenGL
|
# OpenGL
|
||||||
|
|
||||||
option(WITH_OPENGL "When off limits visibility of the opengl headers to just bf_gpu and gawain (temporary option for development purposes)" ON)
|
|
||||||
option(WITH_GLEW_ES "Switches to experimental copy of GLEW that has support for OpenGL ES. (temporary option for development purposes)" OFF)
|
option(WITH_GLEW_ES "Switches to experimental copy of GLEW that has support for OpenGL ES. (temporary option for development purposes)" OFF)
|
||||||
option(WITH_GL_EGL "Use the EGL OpenGL system library instead of the platform specific OpenGL system library (CGL, glX, or WGL)" OFF)
|
option(WITH_GL_EGL "Use the EGL OpenGL system library instead of the platform specific OpenGL system library (CGL, glX, or WGL)" OFF)
|
||||||
option(WITH_GL_PROFILE_ES20 "Support using OpenGL ES 2.0. (thru either EGL or the AGL/WGL/XGL 'es20' profile)" OFF)
|
option(WITH_GL_PROFILE_ES20 "Support using OpenGL ES 2.0. (thru either EGL or the AGL/WGL/XGL 'es20' profile)" OFF)
|
||||||
|
|
||||||
mark_as_advanced(
|
mark_as_advanced(
|
||||||
WITH_OPENGL
|
|
||||||
WITH_GLEW_ES
|
WITH_GLEW_ES
|
||||||
WITH_GL_EGL
|
WITH_GL_EGL
|
||||||
WITH_GL_PROFILE_ES20
|
WITH_GL_PROFILE_ES20
|
||||||
@@ -511,53 +529,6 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
|||||||
mark_as_advanced(WITH_LINKER_GOLD)
|
mark_as_advanced(WITH_LINKER_GOLD)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
|
|
||||||
option(WITH_COMPILER_ASAN "Build and link against address sanitizer (only for Debug & RelWithDebInfo targets)." OFF)
|
|
||||||
mark_as_advanced(WITH_COMPILER_ASAN)
|
|
||||||
|
|
||||||
if(WITH_COMPILER_ASAN)
|
|
||||||
set(_asan_defaults "\
|
|
||||||
-fsanitize=address \
|
|
||||||
-fsanitize=bool \
|
|
||||||
-fsanitize=bounds \
|
|
||||||
-fsanitize=enum \
|
|
||||||
-fsanitize=float-cast-overflow \
|
|
||||||
-fsanitize=float-divide-by-zero \
|
|
||||||
-fsanitize=nonnull-attribute \
|
|
||||||
-fsanitize=returns-nonnull-attribute \
|
|
||||||
-fsanitize=signed-integer-overflow \
|
|
||||||
-fsanitize=undefined \
|
|
||||||
-fsanitize=vla-bound \
|
|
||||||
-fno-sanitize=alignment \
|
|
||||||
")
|
|
||||||
|
|
||||||
if(NOT MSVC) # not all sanitizers are supported with clang-cl, these two however are very vocal about it
|
|
||||||
set(_asan_defaults "${_asan_defaults} -fsanitize=leak -fsanitize=object-size" )
|
|
||||||
endif()
|
|
||||||
set(COMPILER_ASAN_CFLAGS "${_asan_defaults}" CACHE STRING "C flags for address sanitizer")
|
|
||||||
mark_as_advanced(COMPILER_ASAN_CFLAGS)
|
|
||||||
set(COMPILER_ASAN_CXXFLAGS "${_asan_defaults}" CACHE STRING "C++ flags for address sanitizer")
|
|
||||||
mark_as_advanced(COMPILER_ASAN_CXXFLAGS)
|
|
||||||
|
|
||||||
unset(_asan_defaults)
|
|
||||||
|
|
||||||
if(NOT MSVC)
|
|
||||||
find_library(COMPILER_ASAN_LIBRARY asan ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES})
|
|
||||||
else()
|
|
||||||
find_library( COMPILER_ASAN_LIBRARY NAMES clang_rt.asan-x86_64
|
|
||||||
PATHS
|
|
||||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\LLVM\\LLVM;]/lib/clang/7.0.0/lib/windows
|
|
||||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\LLVM\\LLVM;]/lib/clang/6.0.0/lib/windows
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
mark_as_advanced(COMPILER_ASAN_LIBRARY)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Dependency graph
|
|
||||||
option(WITH_LEGACY_DEPSGRAPH "Build Blender with legacy dependency graph" ON)
|
|
||||||
mark_as_advanced(WITH_LEGACY_DEPSGRAPH)
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
# Use hardcoded paths or find_package to find externals
|
# Use hardcoded paths or find_package to find externals
|
||||||
option(WITH_WINDOWS_FIND_MODULES "Use find_package to locate libraries" OFF)
|
option(WITH_WINDOWS_FIND_MODULES "Use find_package to locate libraries" OFF)
|
||||||
@@ -609,13 +580,17 @@ endif()
|
|||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Check for conflicting/unsupported configurations
|
# Check for conflicting/unsupported configurations
|
||||||
|
|
||||||
if(NOT WITH_BLENDER AND NOT WITH_CYCLES_STANDALONE)
|
if(NOT WITH_BLENDER AND NOT WITH_PLAYER AND NOT WITH_CYCLES_STANDALONE)
|
||||||
message(FATAL_ERROR
|
message(FATAL_ERROR
|
||||||
"At least one of WITH_BLENDER or WITH_CYCLES_STANDALONE "
|
"At least one of WITH_BLENDER or WITH_PLAYER or "
|
||||||
"must be enabled, nothing to do!"
|
"WITH_CYCLES_STANDALONE must be enabled, nothing to do!"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(NOT WITH_GAMEENGINE AND WITH_PLAYER)
|
||||||
|
message(FATAL_ERROR "WITH_PLAYER requires WITH_GAMEENGINE")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT WITH_CXX11)
|
if(NOT WITH_CXX11)
|
||||||
if(WITH_AUDASPACE AND NOT WITH_SYSTEM_AUDASPACE)
|
if(WITH_AUDASPACE AND NOT WITH_SYSTEM_AUDASPACE)
|
||||||
message(FATAL_ERROR "WITH_AUDASPACE requires WITH_CXX11")
|
message(FATAL_ERROR "WITH_AUDASPACE requires WITH_CXX11")
|
||||||
@@ -629,6 +604,9 @@ if(NOT WITH_AUDASPACE)
|
|||||||
if(WITH_JACK)
|
if(WITH_JACK)
|
||||||
message(FATAL_ERROR "WITH_JACK requires WITH_AUDASPACE")
|
message(FATAL_ERROR "WITH_JACK requires WITH_AUDASPACE")
|
||||||
endif()
|
endif()
|
||||||
|
if(WITH_GAMEENGINE)
|
||||||
|
message(FATAL_ERROR "WITH_GAMEENGINE requires WITH_AUDASPACE")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT WITH_SDL AND WITH_GHOST_SDL)
|
if(NOT WITH_SDL AND WITH_GHOST_SDL)
|
||||||
@@ -636,6 +614,10 @@ if(NOT WITH_SDL AND WITH_GHOST_SDL)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# python module, needs some different options
|
# python module, needs some different options
|
||||||
|
if(WITH_PYTHON_MODULE AND WITH_PLAYER)
|
||||||
|
message(FATAL_ERROR "WITH_PYTHON_MODULE requires WITH_PLAYER to be OFF")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_PYTHON_MODULE AND WITH_PYTHON_INSTALL)
|
if(WITH_PYTHON_MODULE AND WITH_PYTHON_INSTALL)
|
||||||
message(FATAL_ERROR "WITH_PYTHON_MODULE requires WITH_PYTHON_INSTALL to be OFF")
|
message(FATAL_ERROR "WITH_PYTHON_MODULE requires WITH_PYTHON_INSTALL to be OFF")
|
||||||
endif()
|
endif()
|
||||||
@@ -806,8 +788,7 @@ set(C_WARNINGS)
|
|||||||
set(CXX_WARNINGS)
|
set(CXX_WARNINGS)
|
||||||
|
|
||||||
# for gcc -Wno-blah-blah
|
# for gcc -Wno-blah-blah
|
||||||
set(C_REMOVE_STRICT_FLAGS)
|
set(CC_REMOVE_STRICT_FLAGS)
|
||||||
set(CXX_REMOVE_STRICT_FLAGS)
|
|
||||||
|
|
||||||
# libraries to link the binary with passed to target_link_libraries()
|
# libraries to link the binary with passed to target_link_libraries()
|
||||||
# known as LLIBS to scons
|
# known as LLIBS to scons
|
||||||
@@ -819,21 +800,6 @@ set(PLATFORM_LINKLIBS "")
|
|||||||
set(PLATFORM_LINKFLAGS "")
|
set(PLATFORM_LINKFLAGS "")
|
||||||
set(PLATFORM_LINKFLAGS_DEBUG "")
|
set(PLATFORM_LINKFLAGS_DEBUG "")
|
||||||
|
|
||||||
if (NOT CMAKE_BUILD_TYPE MATCHES "Release")
|
|
||||||
if(WITH_COMPILER_ASAN)
|
|
||||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMPILER_ASAN_CFLAGS}")
|
|
||||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CFLAGS}")
|
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COMPILER_ASAN_CXXFLAGS}")
|
|
||||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CXXFLAGS}")
|
|
||||||
if(MSVC)
|
|
||||||
set(COMPILER_ASAN_LINKER_FLAGS "/FUNCTIONPADMIN:6")
|
|
||||||
endif()
|
|
||||||
set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS};${COMPILER_ASAN_LIBRARY}")
|
|
||||||
set(PLATFORM_LINKFLAGS "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}")
|
|
||||||
set(PLATFORM_LINKFLAGS_DEBUG "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
#Platform specifics
|
#Platform specifics
|
||||||
@@ -1006,10 +972,6 @@ endif()
|
|||||||
find_package(OpenGL)
|
find_package(OpenGL)
|
||||||
blender_include_dirs_sys("${OPENGL_INCLUDE_DIR}")
|
blender_include_dirs_sys("${OPENGL_INCLUDE_DIR}")
|
||||||
|
|
||||||
if(WITH_OPENGL)
|
|
||||||
add_definitions(-DWITH_OPENGL)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WITH_SYSTEM_GLES)
|
if(WITH_SYSTEM_GLES)
|
||||||
find_package_wrapper(OpenGLES)
|
find_package_wrapper(OpenGLES)
|
||||||
endif()
|
endif()
|
||||||
@@ -1212,7 +1174,7 @@ else()
|
|||||||
|
|
||||||
list(APPEND GL_DEFINITIONS -DGLEW_STATIC)
|
list(APPEND GL_DEFINITIONS -DGLEW_STATIC)
|
||||||
|
|
||||||
# This won't affect the non-experimental glew library,
|
# This won't affect the non-experimental glew library,
|
||||||
# but is used for conditional compilation elsewhere.
|
# but is used for conditional compilation elsewhere.
|
||||||
list(APPEND GL_DEFINITIONS -DGLEW_NO_ES)
|
list(APPEND GL_DEFINITIONS -DGLEW_NO_ES)
|
||||||
|
|
||||||
@@ -1416,22 +1378,16 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# flags to undo strict flags
|
# flags to undo strict flags
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_DEPRECATED_DECLARATIONS -Wno-deprecated-declarations)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_DEPRECATED_DECLARATIONS -Wno-deprecated-declarations)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_FUNCTION -Wno-unused-function)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_FUNCTION -Wno-unused-function)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_TYPE_LIMITS -Wno-type-limits)
|
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_INT_IN_BOOL_CONTEXT -Wno-int-in-bool-context)
|
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_FORMAT -Wno-format)
|
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_SWITCH -Wno-switch)
|
|
||||||
|
|
||||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_CLASS_MEMACCESS -Wno-class-memaccess)
|
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "7.0"))
|
if(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "7.0"))
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_IMPLICIT_FALLTHROUGH -Wno-implicit-fallthrough)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_IMPLICIT_FALLTHROUGH -Wno-implicit-fallthrough)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_ERROR_UNUSED_BUT_SET_VARIABLE -Wno-error=unused-but-set-variable)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_ERROR_UNUSED_BUT_SET_VARIABLE -Wno-error=unused-but-set-variable)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
@@ -1460,23 +1416,23 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
|||||||
# ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNUSED_MACROS -Wunused-macros)
|
# ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNUSED_MACROS -Wunused-macros)
|
||||||
|
|
||||||
# flags to undo strict flags
|
# flags to undo strict flags
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_MACROS -Wno-unused-macros)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_MACROS -Wno-unused-macros)
|
||||||
|
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_VARIABLE_DECLARATIONS -Wno-missing-variable-declarations)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_VARIABLE_DECLARATIONS -Wno-missing-variable-declarations)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_INCOMPAT_PTR_DISCARD_QUAL -Wno-incompatible-pointer-types-discards-qualifiers)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_INCOMPAT_PTR_DISCARD_QUAL -Wno-incompatible-pointer-types-discards-qualifiers)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_FUNCTION -Wno-unused-function)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_FUNCTION -Wno-unused-function)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_INT_TO_VOID_POINTER_CAST -Wno-int-to-void-pointer-cast)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_INT_TO_VOID_POINTER_CAST -Wno-int-to-void-pointer-cast)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_PROTOTYPES -Wno-missing-prototypes)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_PROTOTYPES -Wno-missing-prototypes)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_DUPLICATE_ENUM -Wno-duplicate-enum)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_DUPLICATE_ENUM -Wno-duplicate-enum)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNDEF -Wno-undef)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_UNDEF -Wno-undef)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_NORETURN -Wno-missing-noreturn)
|
ADD_CHECK_C_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_NORETURN -Wno-missing-noreturn)
|
||||||
|
|
||||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_PRIVATE_FIELD -Wno-unused-private-field)
|
ADD_CHECK_CXX_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_PRIVATE_FIELD -Wno-unused-private-field)
|
||||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_CXX11_NARROWING -Wno-c++11-narrowing)
|
ADD_CHECK_CXX_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS CXX_WARN_NO_CXX11_NARROWING -Wno-c++11-narrowing)
|
||||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_NON_VIRTUAL_DTOR -Wno-non-virtual-dtor)
|
ADD_CHECK_CXX_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS CXX_WARN_NO_NON_VIRTUAL_DTOR -Wno-non-virtual-dtor)
|
||||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_MACROS -Wno-unused-macros)
|
ADD_CHECK_CXX_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_MACROS -Wno-unused-macros)
|
||||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_REORDER -Wno-reorder)
|
ADD_CHECK_CXX_COMPILER_FLAG(CC_REMOVE_STRICT_FLAGS CXX_WARN_NO_REORDER -Wno-reorder)
|
||||||
|
|
||||||
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
|
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
|
||||||
|
|
||||||
@@ -1508,7 +1464,7 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC")
|
|||||||
"/wd4267" # conversion from 'size_t' to 'type', possible loss of data
|
"/wd4267" # conversion from 'size_t' to 'type', possible loss of data
|
||||||
"/wd4305" # truncation from 'type1' to 'type2'
|
"/wd4305" # truncation from 'type1' to 'type2'
|
||||||
"/wd4800" # forcing value to bool 'true' or 'false'
|
"/wd4800" # forcing value to bool 'true' or 'false'
|
||||||
"/wd4828" # The file contains a character that is illegal
|
"/wd4828" # The file contains a character that is illegal
|
||||||
# errors:
|
# errors:
|
||||||
"/we4013" # 'function' undefined; assuming extern returning int
|
"/we4013" # 'function' undefined; assuming extern returning int
|
||||||
"/we4133" # incompatible pointer types
|
"/we4133" # incompatible pointer types
|
||||||
@@ -1573,12 +1529,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Visual Studio has all standards it supports available by default
|
# Visual Studio has all standards it supports available by default
|
||||||
# Clang on windows copies this behavior and does not support these switches
|
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID MATCHES "Intel")
|
||||||
if(
|
|
||||||
CMAKE_COMPILER_IS_GNUCC OR
|
|
||||||
(CMAKE_C_COMPILER_ID MATCHES "Clang" AND (NOT MSVC)) OR
|
|
||||||
(CMAKE_C_COMPILER_ID MATCHES "Intel")
|
|
||||||
)
|
|
||||||
# Use C99 + GNU extensions, works with GCC, Clang, ICC
|
# Use C99 + GNU extensions, works with GCC, Clang, ICC
|
||||||
if(WITH_C11)
|
if(WITH_C11)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11")
|
||||||
@@ -1632,7 +1583,7 @@ if(WITH_GTESTS)
|
|||||||
include(GTestTesting)
|
include(GTestTesting)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_BLENDER)
|
if(WITH_BLENDER OR WITH_PLAYER)
|
||||||
add_subdirectory(intern)
|
add_subdirectory(intern)
|
||||||
add_subdirectory(extern)
|
add_subdirectory(extern)
|
||||||
|
|
||||||
@@ -1657,6 +1608,13 @@ if(WITH_BLENDER)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# Blender Player
|
||||||
|
if(WITH_PLAYER)
|
||||||
|
add_subdirectory(source/blenderplayer)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Testing
|
# Testing
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
@@ -1671,6 +1629,9 @@ include(build_files/cmake/packaging.cmake)
|
|||||||
if(WITH_BLENDER)
|
if(WITH_BLENDER)
|
||||||
openmp_delayload(blender)
|
openmp_delayload(blender)
|
||||||
endif()
|
endif()
|
||||||
|
if(WITH_PLAYER)
|
||||||
|
openmp_delayload(blenderplayer)
|
||||||
|
endif()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Print Final Configuration
|
# Print Final Configuration
|
||||||
@@ -1704,6 +1665,8 @@ if(FIRST_RUN)
|
|||||||
message(STATUS "C++ Compiler: \"${CMAKE_CXX_COMPILER_ID}\"")
|
message(STATUS "C++ Compiler: \"${CMAKE_CXX_COMPILER_ID}\"")
|
||||||
|
|
||||||
info_cfg_text("Build Options:")
|
info_cfg_text("Build Options:")
|
||||||
|
info_cfg_option(WITH_GAMEENGINE)
|
||||||
|
info_cfg_option(WITH_PLAYER)
|
||||||
info_cfg_option(WITH_BULLET)
|
info_cfg_option(WITH_BULLET)
|
||||||
info_cfg_option(WITH_IK_SOLVER)
|
info_cfg_option(WITH_IK_SOLVER)
|
||||||
info_cfg_option(WITH_IK_ITASC)
|
info_cfg_option(WITH_IK_ITASC)
|
||||||
|
13
GNUmakefile
13
GNUmakefile
@@ -236,10 +236,9 @@ help: .FORCE
|
|||||||
@echo " * check_descriptions - check for duplicate/invalid descriptions"
|
@echo " * check_descriptions - check for duplicate/invalid descriptions"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "Utilities (not associated with building blender)"
|
@echo "Utilities (not associated with building blender)"
|
||||||
@echo " * icons - updates PNG icons from SVG files."
|
@echo " * icons - updates PNG icons from SVG files."
|
||||||
@echo " * icons_geom - updates Geometry icons from BLEND file."
|
@echo " * tgz - create a compressed archive of the source code."
|
||||||
@echo " * tgz - create a compressed archive of the source code."
|
@echo " * update - updates git and all submodules"
|
||||||
@echo " * update - updates git and all submodules"
|
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "Environment Variables"
|
@echo "Environment Variables"
|
||||||
@echo " * BUILD_CMAKE_ARGS - arguments passed to CMake."
|
@echo " * BUILD_CMAKE_ARGS - arguments passed to CMake."
|
||||||
@@ -424,12 +423,8 @@ icons: .FORCE
|
|||||||
"$(BLENDER_DIR)/release/datafiles/blender_icons_update.py"
|
"$(BLENDER_DIR)/release/datafiles/blender_icons_update.py"
|
||||||
"$(BLENDER_DIR)/release/datafiles/prvicons_update.py"
|
"$(BLENDER_DIR)/release/datafiles/prvicons_update.py"
|
||||||
|
|
||||||
icons_geom: .FORCE
|
|
||||||
BLENDER_BIN="$(BUILD_DIR)/bin/blender" \
|
|
||||||
"$(BLENDER_DIR)/release/datafiles/blender_icons_geom_update.py"
|
|
||||||
|
|
||||||
update: .FORCE
|
update: .FORCE
|
||||||
if [ "$(OS_NCASE)" = "darwin" ] && [ ! -d "../lib/$(OS_NCASE)" ]; then \
|
if [ "$(OS_NCASE)" == "darwin" ] && [ ! -d "../lib/$(OS_NCASE)" ]; then \
|
||||||
svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/$(OS_NCASE) ../lib/$(OS_NCASE) ; \
|
svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/$(OS_NCASE) ../lib/$(OS_NCASE) ; \
|
||||||
fi
|
fi
|
||||||
if [ -d "../lib" ]; then \
|
if [ -d "../lib" ]; then \
|
||||||
|
@@ -103,7 +103,6 @@ ExternalProject_Add(external_ffmpeg
|
|||||||
--disable-indev=jack
|
--disable-indev=jack
|
||||||
--disable-indev=alsa
|
--disable-indev=alsa
|
||||||
--disable-outdev=alsa
|
--disable-outdev=alsa
|
||||||
--disable-crystalhd
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/ffmpeg/src/external_ffmpeg < ${PATCH_DIR}/ffmpeg.diff
|
PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/ffmpeg/src/external_ffmpeg < ${PATCH_DIR}/ffmpeg.diff
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && make install
|
||||||
|
@@ -58,3 +58,4 @@ if(MSVC)
|
|||||||
DEPENDEES mkdir update patch download configure build install
|
DEPENDEES mkdir update patch download configure build install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -33,8 +33,8 @@ set(NUMPY_POSTFIX)
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(NUMPY_INSTALL
|
set(NUMPY_INSTALL
|
||||||
${CMAKE_COMMAND} -E copy_directory "${BUILD_DIR}/python/src/external_python/run/lib/site-packages/numpy/core/include/numpy" "${LIBDIR}/python/include/python${PYTHON_SHORT_VERSION}/numpy" &&
|
${CMAKE_COMMAND} -E copy_directory "${BUILD_DIR}/python/src/external_python/run/lib/site-packages/numpy/core/include/numpy" "${LIBDIR}/python/include/python${PYTHON_SHORT_VERSION}/numpy" &&
|
||||||
${CMAKE_COMMAND} -E chdir "${BUILD_DIR}/numpy/src/external_numpy/build/lib.${PYTHON_ARCH2}-${PYTHON_SHORT_VERSION}${NUMPY_DIR_POSTFIX}"
|
${CMAKE_COMMAND} -E chdir "${BUILD_DIR}/numpy/src/external_numpy/build/lib.${PYTHON_ARCH2}-${PYTHON_SHORT_VERSION}${NUMPY_DIR_POSTFIX}"
|
||||||
${CMAKE_COMMAND} -E tar "cfvz" "${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}${NUMPY_ARCHIVE_POSTFIX}.tar.gz" "."
|
${CMAKE_COMMAND} -E tar "cfvz" "${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}${NUMPY_ARCHIVE_POSTFIX}.tar.gz" "."
|
||||||
)
|
)
|
||||||
set(NUMPY_PATCH ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/numpy/src/external_numpy < ${PATCH_DIR}/numpy.diff )
|
set(NUMPY_PATCH ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/numpy/src/external_numpy < ${PATCH_DIR}/numpy.diff )
|
||||||
else()
|
else()
|
||||||
|
@@ -39,6 +39,5 @@ if(BUILD_MODE STREQUAL Release)
|
|||||||
PREFIX ${BUILD_DIR}/openal
|
PREFIX ${BUILD_DIR}/openal
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openal ${DEFAULT_CMAKE_FLAGS} ${OPENAL_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openal ${DEFAULT_CMAKE_FLAGS} ${OPENAL_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/openal
|
INSTALL_DIR ${LIBDIR}/openal
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openal/src/external_openal < ${PATCH_DIR}/openal.diff
|
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -46,7 +46,7 @@ if(MSVC)
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH SHA256=${OPENJPEG_HASH}
|
URL_HASH SHA256=${OPENJPEG_HASH}
|
||||||
PREFIX ${BUILD_DIR}/openjpeg_msvc
|
PREFIX ${BUILD_DIR}/openjpeg_msvc
|
||||||
CMAKE_ARGS ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg_msvc -DBUILD_SHARED_LIBS=Off -DBUILD_THIRDPARTY=OFF
|
CMAKE_ARGS ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg_msvc -DBUILD_SHARED_LIBS=Off -DBUILD_THIRDPARTY=OFF
|
||||||
INSTALL_DIR ${LIBDIR}/openjpeg_msvc
|
INSTALL_DIR ${LIBDIR}/openjpeg_msvc
|
||||||
)
|
)
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
|
@@ -56,27 +56,24 @@ if(WIN32)
|
|||||||
# For OIIO and OSL
|
# For OIIO and OSL
|
||||||
set(COMMON_DEFINES /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS)
|
set(COMMON_DEFINES /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS)
|
||||||
|
|
||||||
if(MSVC_VERSION GREATER 1909)
|
# TODO FIXME highly MSVC specific
|
||||||
set(COMMON_MSVC_FLAGS "/Wv:18") #some deps with warnings as error aren't quite ready for dealing with the new 2017 warnings.
|
if(WITH_OPTIMIZED_DEBUG)
|
||||||
|
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
else()
|
||||||
|
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
endif()
|
endif()
|
||||||
|
set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MT /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
set(BLENDER_CMAKE_C_FLAGS_RELEASE "/MT /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MT /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
|
||||||
if(WITH_OPTIMIZED_DEBUG)
|
if(WITH_OPTIMIZED_DEBUG)
|
||||||
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MTd /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
else()
|
else()
|
||||||
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
endif()
|
endif()
|
||||||
set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MT ${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O1 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
set(BLENDER_CMAKE_C_FLAGS_RELEASE "/MT ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MT /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MT ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MT /Zi /O2 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
|
||||||
if(WITH_OPTIMIZED_DEBUG)
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
else()
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
endif()
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MT /${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MT ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MT ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
|
|
||||||
set(PLATFORM_FLAGS)
|
set(PLATFORM_FLAGS)
|
||||||
set(PLATFORM_CXX_FLAGS)
|
set(PLATFORM_CXX_FLAGS)
|
||||||
|
@@ -216,3 +216,4 @@ if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe")
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe"
|
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -216,3 +216,4 @@ if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib.exe")
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib.exe"
|
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib.exe"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -25,7 +25,7 @@ ExternalProject_Add(external_x264
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH SHA256=${X264_HASH}
|
URL_HASH SHA256=${X264_HASH}
|
||||||
PREFIX ${BUILD_DIR}/x264
|
PREFIX ${BUILD_DIR}/x264
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/x264
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/x264
|
||||||
--enable-static
|
--enable-static
|
||||||
--enable-pic
|
--enable-pic
|
||||||
--disable-lavf
|
--disable-lavf
|
||||||
|
@@ -37,3 +37,4 @@ endif()
|
|||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(external_zlib_mingw PROPERTIES FOLDER Mingw)
|
set_target_properties(external_zlib_mingw PROPERTIES FOLDER Mingw)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -13,25 +13,3 @@
|
|||||||
-# pragma message("Unknown compiler version - please run the configure tests and report the results")
|
-# pragma message("Unknown compiler version - please run the configure tests and report the results")
|
||||||
-# endif
|
-# endif
|
||||||
-#endif
|
-#endif
|
||||||
--- a/boost/type_traits/has_nothrow_assign.hpp 2015-12-13 05:49:42 -0700
|
|
||||||
+++ b/boost/type_traits/has_nothrow_assign.hpp 2018-05-27 11:11:02 -0600
|
|
||||||
@@ -24,7 +24,7 @@
|
|
||||||
#include <boost/type_traits/remove_reference.hpp>
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
-#if defined(__GNUC__) || defined(__SUNPRO_CC)
|
|
||||||
+#if defined(__GNUC__) || defined(__SUNPRO_CC) || defined(__clang__)
|
|
||||||
#include <boost/type_traits/is_const.hpp>
|
|
||||||
#include <boost/type_traits/is_volatile.hpp>
|
|
||||||
#include <boost/type_traits/is_assignable.hpp>
|
|
||||||
--- a/boost/type_traits/has_nothrow_constructor.hpp 2015-12-13 05:49:42 -0700
|
|
||||||
+++ b/boost/type_traits/has_nothrow_constructor.hpp 2018-05-27 11:11:02 -0600
|
|
||||||
@@ -17,7 +17,7 @@
|
|
||||||
#if defined(BOOST_MSVC) || defined(BOOST_INTEL)
|
|
||||||
#include <boost/type_traits/has_trivial_constructor.hpp>
|
|
||||||
#endif
|
|
||||||
-#if defined(__GNUC__ ) || defined(__SUNPRO_CC)
|
|
||||||
+#if defined(__GNUC__ ) || defined(__SUNPRO_CC) || defined(__clang__)
|
|
||||||
#include <boost/type_traits/is_default_constructible.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
@@ -75,7 +75,7 @@ macro(PREFIX_FIND_LIB prefix libname libpath_var liblist_var cachelist_var)
|
|||||||
# Handle new library names for OpenEXR 2.1 build via cmake
|
# Handle new library names for OpenEXR 2.1 build via cmake
|
||||||
string(REPLACE "." "_" _ILMBASE_VERSION ${ILMBASE_VERSION})
|
string(REPLACE "." "_" _ILMBASE_VERSION ${ILMBASE_VERSION})
|
||||||
string(SUBSTRING ${_ILMBASE_VERSION} 0 3 _ILMBASE_VERSION )
|
string(SUBSTRING ${_ILMBASE_VERSION} 0 3 _ILMBASE_VERSION )
|
||||||
|
|
||||||
find_library(${tmp_prefix}_LIBRARY_RELEASE
|
find_library(${tmp_prefix}_LIBRARY_RELEASE
|
||||||
NAMES ${libname} ${libname}-${_ILMBASE_VERSION}
|
NAMES ${libname} ${libname}-${_ILMBASE_VERSION}
|
||||||
HINTS ${${libpath_var}}
|
HINTS ${${libpath_var}}
|
||||||
@@ -177,7 +177,7 @@ if(ILMBASE_INCLUDE_DIR)
|
|||||||
"\\1" XYZ ${ILMBASE_BUILD_SPECIFICATION})
|
"\\1" XYZ ${ILMBASE_BUILD_SPECIFICATION})
|
||||||
set("ILMBASE_VERSION" ${XYZ} CACHE STRING "Version of ILMBase lib")
|
set("ILMBASE_VERSION" ${XYZ} CACHE STRING "Version of ILMBase lib")
|
||||||
else()
|
else()
|
||||||
# Old versions (before 2.0?) do not have any version string, just assuming 2.0 should be fine though.
|
# Old versions (before 2.0?) do not have any version string, just assuming 2.0 should be fine though.
|
||||||
message(WARNING "Could not determine ILMBase library version, assuming 2.0.")
|
message(WARNING "Could not determine ILMBase library version, assuming 2.0.")
|
||||||
set("ILMBASE_VERSION" "2.0" CACHE STRING "Version of ILMBase lib")
|
set("ILMBASE_VERSION" "2.0" CACHE STRING "Version of ILMBase lib")
|
||||||
endif()
|
endif()
|
||||||
|
@@ -175,7 +175,7 @@ if(OPENEXR_INCLUDE_DIR)
|
|||||||
"\\1" XYZ ${OPENEXR_BUILD_SPECIFICATION})
|
"\\1" XYZ ${OPENEXR_BUILD_SPECIFICATION})
|
||||||
set("OPENEXR_VERSION" ${XYZ} CACHE STRING "Version of OpenEXR lib")
|
set("OPENEXR_VERSION" ${XYZ} CACHE STRING "Version of OpenEXR lib")
|
||||||
else()
|
else()
|
||||||
# Old versions (before 2.0?) do not have any version string, just assuming 2.0 should be fine though.
|
# Old versions (before 2.0?) do not have any version string, just assuming 2.0 should be fine though.
|
||||||
message(WARNING "Could not determine ILMBase library version, assuming 2.0.")
|
message(WARNING "Could not determine ILMBase library version, assuming 2.0.")
|
||||||
set("OPENEXR_VERSION" "2.0" CACHE STRING "Version of OpenEXR lib")
|
set("OPENEXR_VERSION" "2.0" CACHE STRING "Version of OpenEXR lib")
|
||||||
endif()
|
endif()
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
# basename_LIBRARY_RELEASE is defined, basename_LIBRARY, basename_LIBRARY_DEBUG,
|
# basename_LIBRARY_RELEASE is defined, basename_LIBRARY, basename_LIBRARY_DEBUG,
|
||||||
# and basename_LIBRARY_RELEASE will be set to the release value. If only
|
# and basename_LIBRARY_RELEASE will be set to the release value. If only
|
||||||
# basename_LIBRARY_DEBUG is defined, then basename_LIBRARY,
|
# basename_LIBRARY_DEBUG is defined, then basename_LIBRARY,
|
||||||
# basename_LIBRARY_DEBUG and basename_LIBRARY_RELEASE will take the debug value.
|
# basename_LIBRARY_DEBUG and basename_LIBRARY_RELEASE will take the debug value.
|
||||||
#
|
#
|
||||||
# If the generator supports configuration types, then basename_LIBRARY and
|
# If the generator supports configuration types, then basename_LIBRARY and
|
||||||
# basename_LIBRARIES will be set with debug and optimized flags specifying the
|
# basename_LIBRARIES will be set with debug and optimized flags specifying the
|
||||||
@@ -53,10 +53,10 @@ macro( select_library_configurations basename )
|
|||||||
# if the generator supports configuration types or CMAKE_BUILD_TYPE
|
# if the generator supports configuration types or CMAKE_BUILD_TYPE
|
||||||
# is set, then set optimized and debug options.
|
# is set, then set optimized and debug options.
|
||||||
if( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
|
if( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
|
||||||
set( ${basename}_LIBRARY
|
set( ${basename}_LIBRARY
|
||||||
optimized ${${basename}_LIBRARY_RELEASE}
|
optimized ${${basename}_LIBRARY_RELEASE}
|
||||||
debug ${${basename}_LIBRARY_DEBUG} )
|
debug ${${basename}_LIBRARY_DEBUG} )
|
||||||
set( ${basename}_LIBRARIES
|
set( ${basename}_LIBRARIES
|
||||||
optimized ${${basename}_LIBRARY_RELEASE}
|
optimized ${${basename}_LIBRARY_RELEASE}
|
||||||
debug ${${basename}_LIBRARY_DEBUG} )
|
debug ${${basename}_LIBRARY_DEBUG} )
|
||||||
else( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
|
else( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
|
||||||
@@ -67,15 +67,16 @@ macro( select_library_configurations basename )
|
|||||||
endif( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
|
endif( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
|
||||||
endif( ${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE )
|
endif( ${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE )
|
||||||
|
|
||||||
set( ${basename}_LIBRARY ${${basename}_LIBRARY} CACHE FILEPATH
|
set( ${basename}_LIBRARY ${${basename}_LIBRARY} CACHE FILEPATH
|
||||||
"The ${basename} library" )
|
"The ${basename} library" )
|
||||||
|
|
||||||
if( ${basename}_LIBRARY )
|
if( ${basename}_LIBRARY )
|
||||||
set( ${basename}_FOUND TRUE )
|
set( ${basename}_FOUND TRUE )
|
||||||
endif( ${basename}_LIBRARY )
|
endif( ${basename}_LIBRARY )
|
||||||
|
|
||||||
mark_as_advanced( ${basename}_LIBRARY
|
mark_as_advanced( ${basename}_LIBRARY
|
||||||
${basename}_LIBRARY_RELEASE
|
${basename}_LIBRARY_RELEASE
|
||||||
${basename}_LIBRARY_DEBUG
|
${basename}_LIBRARY_DEBUG
|
||||||
)
|
)
|
||||||
endmacro( select_library_configurations )
|
endmacro( select_library_configurations )
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ project(OpenVDB)
|
|||||||
|
|
||||||
# --------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
|
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
|
||||||
|
|
||||||
# --------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@ -88,14 +88,6 @@ elseif(WIN32)
|
|||||||
set(DISABLE_RTTI "/EHs- /GR- ")
|
set(DISABLE_RTTI "/EHs- /GR- ")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
|
||||||
include(CheckCXXCompilerFlag)
|
|
||||||
check_cxx_compiler_flag("-flifetime-dse=1" SUPPORTS_FLIFETIME)
|
|
||||||
if (SUPPORTS_FLIFETIME)
|
|
||||||
add_definitions(-flifetime-dse=1)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Linker export definitions
|
# Linker export definitions
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
add_custom_command(OUTPUT tbb.def
|
add_custom_command(OUTPUT tbb.def
|
||||||
|
@@ -1,13 +0,0 @@
|
|||||||
diff -Naur external_openal_original/CMakeLists.txt external_openal/CMakeLists.txt
|
|
||||||
--- external_openal_original/CMakeLists.txt 2016-01-24 20:12:39 -0700
|
|
||||||
+++ external_openal/CMakeLists.txt 2018-06-02 12:16:52 -0600
|
|
||||||
@@ -885,7 +885,8 @@
|
|
||||||
OPTION(ALSOFT_REQUIRE_MMDEVAPI "Require MMDevApi backend" OFF)
|
|
||||||
IF(HAVE_WINDOWS_H)
|
|
||||||
# Check MMSystem backend
|
|
||||||
- CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0502)
|
|
||||||
+ set(CMAKE_REQUIRED_FLAGS "-D_WIN32_WINNT=0x0502")
|
|
||||||
+ CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H)
|
|
||||||
IF(HAVE_MMSYSTEM_H)
|
|
||||||
CHECK_SHARED_FUNCTION_EXISTS(waveOutOpen "windows.h;mmsystem.h" winmm "" HAVE_LIBWINMM)
|
|
||||||
IF(HAVE_LIBWINMM)
|
|
@@ -10,29 +10,3 @@ diff -Naur osl/src/external_osl/src/cmake/flexbison.cmake osl_bak/src/external_o
|
|||||||
MAIN_DEPENDENCY ${flexsrc}
|
MAIN_DEPENDENCY ${flexsrc}
|
||||||
DEPENDS ${${compiler_headers}}
|
DEPENDS ${${compiler_headers}}
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||||
--- osl/src/external_osl/src/include/OSL/oslconfig.h 2016-10-31 16:48:19 -0600
|
|
||||||
+++ osl/src/external_osl/src/include/OSL/oslconfig.h 2018-05-27 11:18:08 -0600
|
|
||||||
@@ -44,12 +44,18 @@
|
|
||||||
// same if another packages is compiling against OSL and using these headers
|
|
||||||
// (OSL may be C++11 but the client package may be older, or vice versa --
|
|
||||||
// use these two symbols to differentiate these cases, when important).
|
|
||||||
-#if (__cplusplus >= 201402L)
|
|
||||||
-# define OSL_CPLUSPLUS_VERSION 14
|
|
||||||
-#elif (__cplusplus >= 201103L)
|
|
||||||
-# define OSL_CPLUSPLUS_VERSION 11
|
|
||||||
+
|
|
||||||
+// Force C++03 for MSVC in blender since svn the libraries are build with that
|
|
||||||
+#if !defined(_MSC_VER)
|
|
||||||
+ #if (__cplusplus >= 201402L)
|
|
||||||
+ # define OSL_CPLUSPLUS_VERSION 14
|
|
||||||
+ #elif (__cplusplus >= 201103L)
|
|
||||||
+ # define OSL_CPLUSPLUS_VERSION 11
|
|
||||||
+ #else
|
|
||||||
+ # define OSL_CPLUSPLUS_VERSION 3 /* presume C++03 */
|
|
||||||
+ #endif
|
|
||||||
#else
|
|
||||||
-# define OSL_CPLUSPLUS_VERSION 3 /* presume C++03 */
|
|
||||||
+ # define OSL_CPLUSPLUS_VERSION 3 /* presume C++03 */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Symbol export defines
|
|
||||||
|
@@ -14,18 +14,10 @@ if NOT "%1" == "" (
|
|||||||
set BuildDir=VS14
|
set BuildDir=VS14
|
||||||
goto par2
|
goto par2
|
||||||
)
|
)
|
||||||
if "%1" == "2017" (
|
|
||||||
echo "Building for VS2017"
|
|
||||||
set VSVER=15.0
|
|
||||||
set VSVER_SHORT=15
|
|
||||||
set BuildDir=VS15
|
|
||||||
goto par2
|
|
||||||
)
|
|
||||||
|
|
||||||
)
|
)
|
||||||
:usage
|
:usage
|
||||||
|
|
||||||
Echo Usage build_deps 2013/2015/2017 x64/x86
|
Echo Usage build_deps 2013/2015 x64/x86
|
||||||
goto exit
|
goto exit
|
||||||
:par2
|
:par2
|
||||||
if NOT "%2" == "" (
|
if NOT "%2" == "" (
|
||||||
@@ -39,10 +31,6 @@ if NOT "%2" == "" (
|
|||||||
if "%1" == "2015" (
|
if "%1" == "2015" (
|
||||||
set CMAKE_BUILDER=Visual Studio 14 2015
|
set CMAKE_BUILDER=Visual Studio 14 2015
|
||||||
)
|
)
|
||||||
if "%1" == "2017" (
|
|
||||||
set CMAKE_BUILDER=Visual Studio 15 2017
|
|
||||||
)
|
|
||||||
|
|
||||||
goto start
|
goto start
|
||||||
)
|
)
|
||||||
if "%2" == "x64" (
|
if "%2" == "x64" (
|
||||||
@@ -55,10 +43,6 @@ if NOT "%2" == "" (
|
|||||||
if "%1" == "2015" (
|
if "%1" == "2015" (
|
||||||
set CMAKE_BUILDER=Visual Studio 14 2015 Win64
|
set CMAKE_BUILDER=Visual Studio 14 2015 Win64
|
||||||
)
|
)
|
||||||
if "%1" == "2017" (
|
|
||||||
set CMAKE_BUILDER=Visual Studio 15 2017 Win64
|
|
||||||
)
|
|
||||||
|
|
||||||
goto start
|
goto start
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@@ -21,8 +21,9 @@ else()
|
|||||||
message(FATAL_ERROR "Unknown build environment")
|
message(FATAL_ERROR "Unknown build environment")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Default to only build Blender
|
# Default to only build Blender, not the player
|
||||||
set(WITH_BLENDER ON CACHE BOOL "" FORCE)
|
set(WITH_BLENDER ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_PLAYER OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
# ######## Linux-specific build options ########
|
# ######## Linux-specific build options ########
|
||||||
# Options which are specific to Linux-only platforms
|
# Options which are specific to Linux-only platforms
|
||||||
@@ -139,10 +140,6 @@ set(ZLIB_LIBRARY "/usr/lib${MULTILIB}/libz.a" CACHE STRING "" FORCE)
|
|||||||
# OpenVDB
|
# OpenVDB
|
||||||
set(OPENVDB_LIBRARY
|
set(OPENVDB_LIBRARY
|
||||||
/opt/lib/openvdb/lib/libopenvdb.a
|
/opt/lib/openvdb/lib/libopenvdb.a
|
||||||
CACHE BOOL "" FORCE
|
|
||||||
)
|
|
||||||
|
|
||||||
set(BLOSC_LIBRARY
|
|
||||||
/opt/lib/blosc/lib/libblosc.a
|
/opt/lib/blosc/lib/libblosc.a
|
||||||
CACHE BOOL "" FORCE
|
CACHE BOOL "" FORCE
|
||||||
)
|
)
|
||||||
|
12
build_files/buildbot/config/blender_linux_player.cmake
Normal file
12
build_files/buildbot/config/blender_linux_player.cmake
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# This is applied as an override on top of blender_linux.config
|
||||||
|
# Disables all the areas which are not needed for the player.
|
||||||
|
set(WITH_COMPOSITOR OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_CYCLES OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_FREESTYLE OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_GHOST_XDND OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_OPENCOLLADA OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_LIBMV OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
set(WITH_BLENDER OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_PLAYER ON CACHE BOOL "" FORCE)
|
@@ -60,6 +60,7 @@ if 'cmake' in builder:
|
|||||||
|
|
||||||
# Config file to be used (relative to blender's sources root)
|
# Config file to be used (relative to blender's sources root)
|
||||||
cmake_config_file = "build_files/cmake/config/blender_full.cmake"
|
cmake_config_file = "build_files/cmake/config/blender_full.cmake"
|
||||||
|
cmake_player_config_file = None
|
||||||
cmake_cuda_config_file = None
|
cmake_cuda_config_file = None
|
||||||
|
|
||||||
# Set build options.
|
# Set build options.
|
||||||
@@ -100,13 +101,14 @@ if 'cmake' in builder:
|
|||||||
elif glibc == 'glibc211':
|
elif glibc == 'glibc211':
|
||||||
deb_name = "squeeze"
|
deb_name = "squeeze"
|
||||||
cmake_config_file = "build_files/buildbot/config/blender_linux.cmake"
|
cmake_config_file = "build_files/buildbot/config/blender_linux.cmake"
|
||||||
|
cmake_player_config_file = "build_files/buildbot/config/blender_linux_player.cmake"
|
||||||
if builder.endswith('x86_64_cmake'):
|
if builder.endswith('x86_64_cmake'):
|
||||||
chroot_name = 'buildbot_' + deb_name + '_x86_64'
|
chroot_name = 'buildbot_' + deb_name + '_x86_64'
|
||||||
targets = ['blender']
|
targets = ['player', 'blender']
|
||||||
elif builder.endswith('i686_cmake'):
|
elif builder.endswith('i686_cmake'):
|
||||||
bits = 32
|
bits = 32
|
||||||
chroot_name = 'buildbot_' + deb_name + '_i686'
|
chroot_name = 'buildbot_' + deb_name + '_i686'
|
||||||
targets = ['blender']
|
targets = ['player', 'blender']
|
||||||
cmake_extra_options.extend(["-DCMAKE_C_COMPILER=/usr/bin/gcc-7",
|
cmake_extra_options.extend(["-DCMAKE_C_COMPILER=/usr/bin/gcc-7",
|
||||||
"-DCMAKE_CXX_COMPILER=/usr/bin/g++-7"])
|
"-DCMAKE_CXX_COMPILER=/usr/bin/g++-7"])
|
||||||
|
|
||||||
@@ -157,7 +159,9 @@ if 'cmake' in builder:
|
|||||||
os.chdir(target_build_dir)
|
os.chdir(target_build_dir)
|
||||||
# Tweaking CMake options to respect the target
|
# Tweaking CMake options to respect the target
|
||||||
target_cmake_options = cmake_options[:]
|
target_cmake_options = cmake_options[:]
|
||||||
if target == 'cuda':
|
if target == 'player':
|
||||||
|
target_cmake_options.append("-C" + os.path.join(blender_dir, cmake_player_config_file))
|
||||||
|
elif target == 'cuda':
|
||||||
target_cmake_options += cuda_cmake_options
|
target_cmake_options += cuda_cmake_options
|
||||||
target_chroot_prefix = cuda_chroot_prefix[:]
|
target_chroot_prefix = cuda_chroot_prefix[:]
|
||||||
target_name = 'cycles_kernel_cuda'
|
target_name = 'cycles_kernel_cuda'
|
||||||
|
@@ -126,6 +126,7 @@ if builder.find('cmake') != -1:
|
|||||||
|
|
||||||
elif builder.startswith('linux_'):
|
elif builder.startswith('linux_'):
|
||||||
blender = os.path.join(install_dir, 'blender')
|
blender = os.path.join(install_dir, 'blender')
|
||||||
|
blenderplayer = os.path.join(install_dir, 'blenderplayer')
|
||||||
|
|
||||||
buildinfo_h = os.path.join(build_dir, "source", "creator", "buildinfo.h")
|
buildinfo_h = os.path.join(build_dir, "source", "creator", "buildinfo.h")
|
||||||
blender_h = os.path.join(blender_dir, "source", "blender", "blenkernel", "BKE_blender_version.h")
|
blender_h = os.path.join(blender_dir, "source", "blender", "blenkernel", "BKE_blender_version.h")
|
||||||
@@ -148,7 +149,7 @@ if builder.find('cmake') != -1:
|
|||||||
# Strip all unused symbols from the binaries
|
# Strip all unused symbols from the binaries
|
||||||
print("Stripping binaries...")
|
print("Stripping binaries...")
|
||||||
chroot_prefix = ['schroot', '-c', chroot_name, '--']
|
chroot_prefix = ['schroot', '-c', chroot_name, '--']
|
||||||
subprocess.call(chroot_prefix + ['strip', '--strip-all', blender])
|
subprocess.call(chroot_prefix + ['strip', '--strip-all', blender, blenderplayer])
|
||||||
|
|
||||||
print("Stripping python...")
|
print("Stripping python...")
|
||||||
py_target = os.path.join(install_dir, blender_version)
|
py_target = os.path.join(install_dir, blender_version)
|
||||||
|
@@ -51,7 +51,7 @@ FIND_LIBRARY(ALEMBIC_LIBRARY
|
|||||||
lib64 lib lib/static
|
lib64 lib lib/static
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set ALEMBIC_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set ALEMBIC_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ALEMBIC DEFAULT_MSG ALEMBIC_LIBRARY ALEMBIC_INCLUDE_DIR)
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ALEMBIC DEFAULT_MSG ALEMBIC_LIBRARY ALEMBIC_INCLUDE_DIR)
|
||||||
|
@@ -1,72 +0,0 @@
|
|||||||
# - Find Blosc library
|
|
||||||
# Find the native Blosc includes and library
|
|
||||||
# This module defines
|
|
||||||
# BLOSC_INCLUDE_DIRS, where to find blosc.h, Set when
|
|
||||||
# Blosc is found.
|
|
||||||
# BLOSC_LIBRARIES, libraries to link against to use Blosc.
|
|
||||||
# BLOSC_ROOT_DIR, The base directory to search for Blosc.
|
|
||||||
# This can also be an environment variable.
|
|
||||||
# BLOSC_FOUND, If false, do not try to use Blosc.
|
|
||||||
#
|
|
||||||
# also defined, but not for general use are
|
|
||||||
# BLOSC_LIBRARY, where to find the Blosc library.
|
|
||||||
|
|
||||||
#=============================================================================
|
|
||||||
# Copyright 2018 Blender Foundation.
|
|
||||||
#
|
|
||||||
# Distributed under the OSI-approved BSD License (the "License");
|
|
||||||
# see accompanying file Copyright.txt for details.
|
|
||||||
#
|
|
||||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
||||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
# See the License for more information.
|
|
||||||
#=============================================================================
|
|
||||||
|
|
||||||
# If BLOSC_ROOT_DIR was defined in the environment, use it.
|
|
||||||
IF(NOT BLOSC_ROOT_DIR AND NOT $ENV{BLOSC_ROOT_DIR} STREQUAL "")
|
|
||||||
SET(BLOSC_ROOT_DIR $ENV{BLOSC_ROOT_DIR})
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
SET(_blosc_SEARCH_DIRS
|
|
||||||
${BLOSC_ROOT_DIR}
|
|
||||||
/usr/local
|
|
||||||
/sw # Fink
|
|
||||||
/opt/local # DarwinPorts
|
|
||||||
/opt/lib/blosc
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_PATH(BLOSC_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
blosc.h
|
|
||||||
HINTS
|
|
||||||
${_blosc_SEARCH_DIRS}
|
|
||||||
PATH_SUFFIXES
|
|
||||||
include
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_LIBRARY(BLOSC_LIBRARY
|
|
||||||
NAMES
|
|
||||||
blosc
|
|
||||||
HINTS
|
|
||||||
${_blosc_SEARCH_DIRS}
|
|
||||||
PATH_SUFFIXES
|
|
||||||
lib64 lib
|
|
||||||
)
|
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set BLOSC_FOUND to TRUE if
|
|
||||||
# all listed variables are TRUE
|
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(BLOSC DEFAULT_MSG
|
|
||||||
BLOSC_LIBRARY BLOSC_INCLUDE_DIR)
|
|
||||||
|
|
||||||
IF(BLOSC_FOUND)
|
|
||||||
SET(BLOSC_LIBRARIES ${BLOSC_LIBRARY})
|
|
||||||
SET(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIR})
|
|
||||||
ELSE()
|
|
||||||
SET(BLOSC_BLOSC_FOUND FALSE)
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
|
||||||
BLOSC_INCLUDE_DIR
|
|
||||||
BLOSC_LIBRARY
|
|
||||||
)
|
|
@@ -40,7 +40,7 @@ FIND_PATH(EIGEN3_INCLUDE_DIR
|
|||||||
include/eigen3
|
include/eigen3
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set EIGEN3_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set EIGEN3_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Eigen3 DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Eigen3 DEFAULT_MSG
|
||||||
|
@@ -52,7 +52,7 @@ FIND_LIBRARY(FFTW3_LIBRARY
|
|||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Fftw3 DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Fftw3 DEFAULT_MSG
|
||||||
|
@@ -49,7 +49,7 @@ FIND_LIBRARY(GLEW_LIBRARY
|
|||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set GLEW_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set GLEW_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Glew DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Glew DEFAULT_MSG
|
||||||
|
@@ -115,7 +115,7 @@ if(Boost_USE_STATIC_LIBS)
|
|||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_icu_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_icu_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set ICU_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set ICU_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Icu DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Icu DEFAULT_MSG
|
||||||
|
@@ -52,7 +52,7 @@ FIND_LIBRARY(JACK_LIBRARY
|
|||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set JACK_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set JACK_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Jack DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Jack DEFAULT_MSG
|
||||||
|
@@ -53,7 +53,7 @@ FIND_LIBRARY(JEMALLOC_LIBRARY
|
|||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set JEMALLOC_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set JEMALLOC_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(JeMalloc DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(JeMalloc DEFAULT_MSG
|
||||||
|
@@ -93,3 +93,4 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(LLVM DEFAULT_MSG
|
|||||||
MARK_AS_ADVANCED(
|
MARK_AS_ADVANCED(
|
||||||
LLVM_LIBRARY
|
LLVM_LIBRARY
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -50,7 +50,7 @@ FIND_LIBRARY(LZO_LIBRARY
|
|||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set LZO_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set LZO_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZO DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZO DEFAULT_MSG
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# - Find OpenCOLLADA library
|
# - Find OpenCOLLADA library
|
||||||
# Find the native OpenCOLLADA includes and library
|
# Find the native OpenCOLLADA includes and library
|
||||||
# This module defines
|
# This module defines
|
||||||
# OPENCOLLADA_INCLUDE_DIRS, where to find COLLADABaseUtils/ and
|
# OPENCOLLADA_INCLUDE_DIRS, where to find COLLADABaseUtils/ and
|
||||||
# COLLADAFramework/, Set when OPENCOLLADA_INCLUDE_DIR is found.
|
# COLLADAFramework/, Set when OPENCOLLADA_INCLUDE_DIR is found.
|
||||||
# OPENCOLLADA_LIBRARIES, libraries to link against to use OpenCOLLADA.
|
# OPENCOLLADA_LIBRARIES, libraries to link against to use OpenCOLLADA.
|
||||||
# OPENCOLLADA_ROOT_DIR, The base directory to search for OpenCOLLADA.
|
# OPENCOLLADA_ROOT_DIR, The base directory to search for OpenCOLLADA.
|
||||||
@@ -129,7 +129,7 @@ FOREACH(COMPONENT ${_opencollada_FIND_STATIC_COMPONENTS})
|
|||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
|
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set OPENCOLLADA_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set OPENCOLLADA_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenCOLLADA DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenCOLLADA DEFAULT_MSG
|
||||||
|
@@ -68,7 +68,7 @@ FOREACH(COMPONENT ${_opencolorio_FIND_COMPONENTS})
|
|||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
|
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set OPENCOLORIO_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set OPENCOLORIO_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenColorIO DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenColorIO DEFAULT_MSG
|
||||||
|
@@ -106,7 +106,7 @@ FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS})
|
|||||||
|
|
||||||
FIND_LIBRARY(OPENEXR_${UPPERCOMPONENT}_LIBRARY
|
FIND_LIBRARY(OPENEXR_${UPPERCOMPONENT}_LIBRARY
|
||||||
NAMES
|
NAMES
|
||||||
${COMPONENT}-${_openexr_libs_ver} ${COMPONENT}
|
${COMPONENT}-${_openexr_libs_ver} ${COMPONENT}
|
||||||
HINTS
|
HINTS
|
||||||
${_openexr_SEARCH_DIRS}
|
${_openexr_SEARCH_DIRS}
|
||||||
PATH_SUFFIXES
|
PATH_SUFFIXES
|
||||||
@@ -117,7 +117,7 @@ ENDFOREACH()
|
|||||||
|
|
||||||
UNSET(_openexr_libs_ver)
|
UNSET(_openexr_libs_ver)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set OPENEXR_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set OPENEXR_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG
|
||||||
|
@@ -64,7 +64,7 @@ FIND_FILE(OPENIMAGEIO_IDIFF
|
|||||||
bin
|
bin
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set OPENIMAGEIO_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set OPENIMAGEIO_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_MSG
|
||||||
|
@@ -53,7 +53,7 @@ FIND_LIBRARY(OPENJPEG_LIBRARY
|
|||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set OPENJPEG_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set OPENJPEG_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenJPEG DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenJPEG DEFAULT_MSG
|
||||||
|
@@ -50,7 +50,7 @@ FIND_LIBRARY(PCRE_LIBRARY
|
|||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE DEFAULT_MSG
|
||||||
|
@@ -53,7 +53,7 @@ FIND_LIBRARY(PUGIXML_LIBRARY
|
|||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set PUGIXML_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set PUGIXML_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PUGIXML DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PUGIXML DEFAULT_MSG
|
||||||
|
@@ -175,7 +175,7 @@ UNSET(_IS_INC_CONF_DEF)
|
|||||||
UNSET(_IS_LIB_DEF)
|
UNSET(_IS_LIB_DEF)
|
||||||
UNSET(_IS_LIB_PATH_DEF)
|
UNSET(_IS_LIB_PATH_DEF)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and SET PYTHONLIBSUNIX_FOUND to TRUE IF
|
# handle the QUIETLY and REQUIRED arguments and SET PYTHONLIBSUNIX_FOUND to TRUE IF
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibsUnix DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibsUnix DEFAULT_MSG
|
||||||
|
@@ -50,7 +50,7 @@ FIND_LIBRARY(LIBSNDFILE_LIBRARY
|
|||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set LIBSNDFILE_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set LIBSNDFILE_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SndFile DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SndFile DEFAULT_MSG
|
||||||
|
@@ -52,7 +52,7 @@ FIND_LIBRARY(SPACENAV_LIBRARY
|
|||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set SPACENAV_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set SPACENAV_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Spacenav DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Spacenav DEFAULT_MSG
|
||||||
|
@@ -50,7 +50,7 @@ FIND_LIBRARY(XML2_LIBRARY
|
|||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set XML2_FOUND to TRUE if
|
# handle the QUIETLY and REQUIRED arguments and set XML2_FOUND to TRUE if
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(XML2 DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(XML2 DEFAULT_MSG
|
||||||
|
@@ -32,7 +32,6 @@ macro(BLENDER_SRC_GTEST_EX NAME SRC EXTRA_LIBS DO_ADD_TEST)
|
|||||||
${EXTRA_LIBS}
|
${EXTRA_LIBS}
|
||||||
${PLATFORM_LINKLIBS}
|
${PLATFORM_LINKLIBS}
|
||||||
bf_testing_main
|
bf_testing_main
|
||||||
bf_intern_eigen
|
|
||||||
bf_intern_guardedalloc
|
bf_intern_guardedalloc
|
||||||
extern_gtest
|
extern_gtest
|
||||||
extern_gmock
|
extern_gmock
|
||||||
|
@@ -13,7 +13,7 @@ if(NOT DEFINED RPMBUILD)
|
|||||||
|
|
||||||
if(RPMBUILD)
|
if(RPMBUILD)
|
||||||
message(STATUS "RPM Build Found: ${RPMBUILD}")
|
message(STATUS "RPM Build Found: ${RPMBUILD}")
|
||||||
else()
|
else()
|
||||||
message(STATUS "RPM Build Not Found (rpmbuild). RPM generation will not be available")
|
message(STATUS "RPM Build Not Found (rpmbuild). RPM generation will not be available")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -21,6 +21,6 @@ endif()
|
|||||||
|
|
||||||
if(RPMBUILD)
|
if(RPMBUILD)
|
||||||
set(RPMBUILD_FOUND TRUE)
|
set(RPMBUILD_FOUND TRUE)
|
||||||
else()
|
else()
|
||||||
set(RPMBUILD_FOUND FALSE)
|
set(RPMBUILD_FOUND FALSE)
|
||||||
endif()
|
endif()
|
@@ -16,6 +16,7 @@ set(WITH_CYCLES_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_FFTW3 ON CACHE BOOL "" FORCE)
|
set(WITH_FFTW3 ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_LIBMV ON CACHE BOOL "" FORCE)
|
set(WITH_LIBMV ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_LIBMV_SCHUR_SPECIALIZATIONS ON CACHE BOOL "" FORCE)
|
set(WITH_LIBMV_SCHUR_SPECIALIZATIONS ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_GAMEENGINE ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_COMPOSITOR ON CACHE BOOL "" FORCE)
|
set(WITH_COMPOSITOR ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_FREESTYLE ON CACHE BOOL "" FORCE)
|
set(WITH_FREESTYLE ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE)
|
set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE)
|
||||||
@@ -23,6 +24,7 @@ set(WITH_IK_SOLVER ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_IK_ITASC ON CACHE BOOL "" FORCE)
|
set(WITH_IK_ITASC ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_CINEON ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_CINEON ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_DDS ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_DDS ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_IMAGE_FRAMESERVER ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_HDR ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_HDR ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE)
|
||||||
@@ -49,6 +51,7 @@ set(WITH_SDL ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE)
|
set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE)
|
set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
set(WITH_PLAYER ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
|
set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -5,7 +5,8 @@
|
|||||||
# cmake -C../blender/build_files/cmake/config/blender_headless.cmake ../blender
|
# cmake -C../blender/build_files/cmake/config/blender_headless.cmake ../blender
|
||||||
#
|
#
|
||||||
|
|
||||||
set(WITH_HEADLESS ON CACHE BOOL "" FORCE)
|
set(WITH_HEADLESS ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_GAMEENGINE OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
# disable audio, its possible some devs may want this but for now disable
|
# disable audio, its possible some devs may want this but for now disable
|
||||||
# so the python module doesnt hold the audio device and loads quickly.
|
# so the python module doesnt hold the audio device and loads quickly.
|
||||||
|
@@ -21,6 +21,7 @@ set(WITH_CYCLES_OPENSUBDIV OFF CACHE BOOL "" FORCE)
|
|||||||
set(WITH_FFTW3 OFF CACHE BOOL "" FORCE)
|
set(WITH_FFTW3 OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_LIBMV OFF CACHE BOOL "" FORCE)
|
set(WITH_LIBMV OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_LLVM OFF CACHE BOOL "" FORCE)
|
set(WITH_LLVM OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_GAMEENGINE OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_COMPOSITOR OFF CACHE BOOL "" FORCE)
|
set(WITH_COMPOSITOR OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_FREESTYLE OFF CACHE BOOL "" FORCE)
|
set(WITH_FREESTYLE OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_GHOST_XDND OFF CACHE BOOL "" FORCE)
|
set(WITH_GHOST_XDND OFF CACHE BOOL "" FORCE)
|
||||||
@@ -28,6 +29,7 @@ set(WITH_IK_SOLVER OFF CACHE BOOL "" FORCE)
|
|||||||
set(WITH_IK_ITASC OFF CACHE BOOL "" FORCE)
|
set(WITH_IK_ITASC OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_CINEON OFF CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_CINEON OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_DDS OFF CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_DDS OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_IMAGE_FRAMESERVER OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_HDR OFF CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_HDR OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_OPENEXR OFF CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENEXR OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_OPENJPEG OFF CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENJPEG OFF CACHE BOOL "" FORCE)
|
||||||
|
@@ -16,6 +16,7 @@ set(WITH_CYCLES_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_FFTW3 ON CACHE BOOL "" FORCE)
|
set(WITH_FFTW3 ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_LIBMV ON CACHE BOOL "" FORCE)
|
set(WITH_LIBMV ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_LIBMV_SCHUR_SPECIALIZATIONS ON CACHE BOOL "" FORCE)
|
set(WITH_LIBMV_SCHUR_SPECIALIZATIONS ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_GAMEENGINE ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_COMPOSITOR ON CACHE BOOL "" FORCE)
|
set(WITH_COMPOSITOR ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_FREESTYLE ON CACHE BOOL "" FORCE)
|
set(WITH_FREESTYLE ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE)
|
set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE)
|
||||||
@@ -23,6 +24,7 @@ set(WITH_IK_SOLVER ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_IK_ITASC ON CACHE BOOL "" FORCE)
|
set(WITH_IK_ITASC ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_CINEON ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_CINEON ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_DDS ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_DDS ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_IMAGE_FRAMESERVER ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_HDR ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_HDR ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE)
|
||||||
@@ -49,6 +51,7 @@ set(WITH_SDL ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE)
|
set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE)
|
set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
set(WITH_PLAYER ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
|
set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES_CUDA_BINARIES ON CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_CUDA_BINARIES ON CACHE BOOL "" FORCE)
|
||||||
set(CYCLES_CUDA_BINARIES_ARCH sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61 CACHE STRING "" FORCE)
|
set(CYCLES_CUDA_BINARIES_ARCH sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61 CACHE STRING "" FORCE)
|
||||||
|
@@ -12,6 +12,9 @@ set(WITH_INSTALL_PORTABLE OFF CACHE BOOL "" FORCE)
|
|||||||
# no point int copying python into python
|
# no point int copying python into python
|
||||||
set(WITH_PYTHON_INSTALL OFF CACHE BOOL "" FORCE)
|
set(WITH_PYTHON_INSTALL OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
# dont build the game engine
|
||||||
|
set(WITH_GAMEENGINE OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
# disable audio, its possible some devs may want this but for now disable
|
# disable audio, its possible some devs may want this but for now disable
|
||||||
# so the python module doesnt hold the audio device and loads quickly.
|
# so the python module doesnt hold the audio device and loads quickly.
|
||||||
set(WITH_AUDASPACE OFF CACHE BOOL "" FORCE)
|
set(WITH_AUDASPACE OFF CACHE BOOL "" FORCE)
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
# disable Blender
|
# disable Blender
|
||||||
set(WITH_BLENDER OFF CACHE BOOL "" FORCE)
|
set(WITH_BLENDER OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_PLAYER OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES_BLENDER OFF CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_BLENDER OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
# build Cycles
|
# build Cycles
|
||||||
|
@@ -51,7 +51,7 @@ endmacro()
|
|||||||
function(list_assert_duplicates
|
function(list_assert_duplicates
|
||||||
list_id
|
list_id
|
||||||
)
|
)
|
||||||
|
|
||||||
# message(STATUS "list data: ${list_id}")
|
# message(STATUS "list data: ${list_id}")
|
||||||
|
|
||||||
list(LENGTH list_id _len_before)
|
list(LENGTH list_id _len_before)
|
||||||
@@ -242,7 +242,7 @@ function(blender_add_lib__impl
|
|||||||
# listed is helpful for IDE's (QtCreator/MSVC)
|
# listed is helpful for IDE's (QtCreator/MSVC)
|
||||||
blender_source_group("${sources}")
|
blender_source_group("${sources}")
|
||||||
|
|
||||||
#if enabled, set the FOLDER property for visual studio projects
|
#if enabled, set the FOLDER property for visual studio projects
|
||||||
if(WINDOWS_USE_VISUAL_STUDIO_FOLDERS)
|
if(WINDOWS_USE_VISUAL_STUDIO_FOLDERS)
|
||||||
get_filename_component(FolderDir ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
|
get_filename_component(FolderDir ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
|
||||||
string(REPLACE ${CMAKE_SOURCE_DIR} "" FolderDir ${FolderDir})
|
string(REPLACE ${CMAKE_SOURCE_DIR} "" FolderDir ${FolderDir})
|
||||||
@@ -352,11 +352,6 @@ function(SETUP_LIBDIRS)
|
|||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
macro(setup_platform_linker_flags)
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}")
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}")
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
function(setup_liblinks
|
function(setup_liblinks
|
||||||
target
|
target
|
||||||
)
|
)
|
||||||
@@ -430,7 +425,7 @@ function(setup_liblinks
|
|||||||
target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
|
target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES} ${BLOSC_LIBRARIES})
|
target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
if(WITH_CYCLES_OSL)
|
if(WITH_CYCLES_OSL)
|
||||||
target_link_libraries(${target} ${OSL_LIBRARIES})
|
target_link_libraries(${target} ${OSL_LIBRARIES})
|
||||||
@@ -586,10 +581,8 @@ function(SETUP_BLENDER_SORTED_LIBS)
|
|||||||
bf_editor_space_outliner
|
bf_editor_space_outliner
|
||||||
bf_editor_space_script
|
bf_editor_space_script
|
||||||
bf_editor_space_sequencer
|
bf_editor_space_sequencer
|
||||||
bf_editor_space_statusbar
|
|
||||||
bf_editor_space_text
|
bf_editor_space_text
|
||||||
bf_editor_space_time
|
bf_editor_space_time
|
||||||
bf_editor_space_topbar
|
|
||||||
bf_editor_space_userpref
|
bf_editor_space_userpref
|
||||||
bf_editor_space_view3d
|
bf_editor_space_view3d
|
||||||
bf_editor_space_clip
|
bf_editor_space_clip
|
||||||
@@ -674,9 +667,7 @@ function(SETUP_BLENDER_SORTED_LIBS)
|
|||||||
extern_openjpeg
|
extern_openjpeg
|
||||||
ge_videotex
|
ge_videotex
|
||||||
bf_dna
|
bf_dna
|
||||||
|
|
||||||
bf_blenfont
|
bf_blenfont
|
||||||
bf_gpu # duplicate for blenfont
|
|
||||||
bf_blentranslation
|
bf_blentranslation
|
||||||
bf_intern_audaspace
|
bf_intern_audaspace
|
||||||
audaspace
|
audaspace
|
||||||
@@ -769,6 +760,10 @@ function(SETUP_BLENDER_SORTED_LIBS)
|
|||||||
list_insert_after(BLENDER_SORTED_LIBS "ge_logic_ngnetwork" "extern_bullet")
|
list_insert_after(BLENDER_SORTED_LIBS "ge_logic_ngnetwork" "extern_bullet")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WITH_GAMEENGINE_DECKLINK)
|
||||||
|
list(APPEND BLENDER_SORTED_LIBS bf_intern_decklink)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
list(APPEND BLENDER_SORTED_LIBS bf_intern_gpudirect)
|
list(APPEND BLENDER_SORTED_LIBS bf_intern_gpudirect)
|
||||||
endif()
|
endif()
|
||||||
@@ -1056,19 +1051,13 @@ macro(remove_cc_flag
|
|||||||
|
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(add_c_flag
|
macro(add_cc_flag
|
||||||
flag)
|
flag)
|
||||||
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(add_cxx_flag
|
|
||||||
flag)
|
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
macro(remove_strict_flags)
|
macro(remove_strict_flags)
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
@@ -1091,8 +1080,7 @@ macro(remove_strict_flags)
|
|||||||
)
|
)
|
||||||
|
|
||||||
# negate flags implied by '-Wall'
|
# negate flags implied by '-Wall'
|
||||||
add_c_flag("${C_REMOVE_STRICT_FLAGS}")
|
add_cc_flag("${CC_REMOVE_STRICT_FLAGS}")
|
||||||
add_cxx_flag("${CXX_REMOVE_STRICT_FLAGS}")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
@@ -1104,8 +1092,7 @@ macro(remove_strict_flags)
|
|||||||
)
|
)
|
||||||
|
|
||||||
# negate flags implied by '-Wall'
|
# negate flags implied by '-Wall'
|
||||||
add_c_flag("${C_REMOVE_STRICT_FLAGS}")
|
add_cc_flag("${CC_REMOVE_STRICT_FLAGS}")
|
||||||
add_cxx_flag("${CXX_REMOVE_STRICT_FLAGS}")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
@@ -1135,39 +1122,28 @@ endmacro()
|
|||||||
# note, we can only append flags on a single file so we need to negate the options.
|
# note, we can only append flags on a single file so we need to negate the options.
|
||||||
# at the moment we cant shut up ffmpeg deprecations, so use this, but will
|
# at the moment we cant shut up ffmpeg deprecations, so use this, but will
|
||||||
# probably add more removals here.
|
# probably add more removals here.
|
||||||
macro(remove_strict_c_flags_file
|
macro(remove_strict_flags_file
|
||||||
filenames)
|
filenames)
|
||||||
foreach(_SOURCE ${ARGV})
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC OR
|
|
||||||
(CMAKE_C_COMPILER_ID MATCHES "Clang"))
|
|
||||||
set_source_files_properties(${_SOURCE}
|
|
||||||
PROPERTIES
|
|
||||||
COMPILE_FLAGS "${C_REMOVE_STRICT_FLAGS}"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(MSVC)
|
|
||||||
# TODO
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
unset(_SOURCE)
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
macro(remove_strict_cxx_flags_file
|
|
||||||
filenames)
|
|
||||||
remove_strict_c_flags_file(${filenames} ${ARHV})
|
|
||||||
foreach(_SOURCE ${ARGV})
|
foreach(_SOURCE ${ARGV})
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC OR
|
if(CMAKE_COMPILER_IS_GNUCC OR
|
||||||
(CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
|
(CMAKE_C_COMPILER_ID MATCHES "Clang"))
|
||||||
|
|
||||||
set_source_files_properties(${_SOURCE}
|
set_source_files_properties(${_SOURCE}
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
COMPILE_FLAGS "${CXX_REMOVE_STRICT_FLAGS}"
|
COMPILE_FLAGS "${CC_REMOVE_STRICT_FLAGS}"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
# TODO
|
# TODO
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
unset(_SOURCE)
|
unset(_SOURCE)
|
||||||
|
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
# External libs may need 'signed char' to be default.
|
# External libs may need 'signed char' to be default.
|
||||||
|
@@ -358,7 +358,7 @@ if(WITH_LLVM)
|
|||||||
execute_process(COMMAND ${LLVM_CONFIG} --libfiles
|
execute_process(COMMAND ${LLVM_CONFIG} --libfiles
|
||||||
OUTPUT_VARIABLE LLVM_LIBRARY
|
OUTPUT_VARIABLE LLVM_LIBRARY
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
string(REPLACE ".a /" ".a;/" LLVM_LIBRARY ${LLVM_LIBRARY})
|
string(REPLACE " " ";" LLVM_LIBRARY ${LLVM_LIBRARY})
|
||||||
else()
|
else()
|
||||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -lLLVM-3.4")
|
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -lLLVM-3.4")
|
||||||
endif()
|
endif()
|
||||||
@@ -418,7 +418,7 @@ if(${XCODE_VERSION} VERSION_EQUAL 5 OR ${XCODE_VERSION} VERSION_GREATER 5)
|
|||||||
endif()
|
endif()
|
||||||
# Get rid of eventually clashes, we export some symbols explicite as local
|
# Get rid of eventually clashes, we export some symbols explicite as local
|
||||||
set(PLATFORM_LINKFLAGS
|
set(PLATFORM_LINKFLAGS
|
||||||
"${PLATFORM_LINKFLAGS} -Xlinker -unexported_symbols_list -Xlinker '${CMAKE_SOURCE_DIR}/source/creator/osx_locals.map'"
|
"${PLATFORM_LINKFLAGS} -Xlinker -unexported_symbols_list -Xlinker ${CMAKE_SOURCE_DIR}/source/creator/osx_locals.map"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
||||||
|
@@ -51,9 +51,9 @@ string(REPLACE "/Contents/Developer" "" XCODE_BUNDLE ${XCODE_CHECK}) # truncate
|
|||||||
if(${CMAKE_GENERATOR} MATCHES "Xcode")
|
if(${CMAKE_GENERATOR} MATCHES "Xcode")
|
||||||
|
|
||||||
# earlier xcode has no bundled developer dir, no sense in getting xcode path from
|
# earlier xcode has no bundled developer dir, no sense in getting xcode path from
|
||||||
if(${XCODE_VERSION} VERSION_GREATER 4.2)
|
if(${XCODE_VERSION} VERSION_GREATER 4.2)
|
||||||
# reduce to XCode name without dp extension
|
# reduce to XCode name without dp extension
|
||||||
string(SUBSTRING "${XCODE_CHECK}" 14 6 DP_NAME)
|
string(SUBSTRING "${XCODE_CHECK}" 14 6 DP_NAME)
|
||||||
if(${DP_NAME} MATCHES Xcode5)
|
if(${DP_NAME} MATCHES Xcode5)
|
||||||
set(XCODE_VERSION 5)
|
set(XCODE_VERSION 5)
|
||||||
endif()
|
endif()
|
||||||
@@ -64,7 +64,7 @@ if(${CMAKE_GENERATOR} MATCHES "Xcode")
|
|||||||
message(FATAL_ERROR "Xcode 4.3 and higher must be used with cmake 2.8-8 or higher")
|
message(FATAL_ERROR "Xcode 4.3 and higher must be used with cmake 2.8-8 or higher")
|
||||||
endif()
|
endif()
|
||||||
### end cmake incompatibility with xcode 4.3 and higher ###
|
### end cmake incompatibility with xcode 4.3 and higher ###
|
||||||
|
|
||||||
if(${XCODE_VERSION} VERSION_EQUAL 4 OR ${XCODE_VERSION} VERSION_GREATER 4 AND ${XCODE_VERSION} VERSION_LESS 4.3)
|
if(${XCODE_VERSION} VERSION_EQUAL 4 OR ${XCODE_VERSION} VERSION_GREATER 4 AND ${XCODE_VERSION} VERSION_LESS 4.3)
|
||||||
# Xcode 4 defaults to the Apple LLVM Compiler.
|
# Xcode 4 defaults to the Apple LLVM Compiler.
|
||||||
# Override the default compiler selection because Blender only compiles with gcc up to xcode 4.2
|
# Override the default compiler selection because Blender only compiles with gcc up to xcode 4.2
|
||||||
@@ -85,7 +85,7 @@ if(${XCODE_VERSION} VERSION_LESS 4.3)
|
|||||||
else()
|
else()
|
||||||
# note: xcode-select path could be ambigous,
|
# note: xcode-select path could be ambigous,
|
||||||
# cause /Applications/Xcode.app/Contents/Developer or /Applications/Xcode.app would be allowed
|
# cause /Applications/Xcode.app/Contents/Developer or /Applications/Xcode.app would be allowed
|
||||||
# so i use a selfcomposed bundlepath here
|
# so i use a selfcomposed bundlepath here
|
||||||
set(OSX_SYSROOT_PREFIX ${XCODE_BUNDLE}/Contents/Developer/Platforms/MacOSX.platform)
|
set(OSX_SYSROOT_PREFIX ${XCODE_BUNDLE}/Contents/Developer/Platforms/MacOSX.platform)
|
||||||
message(STATUS "OSX_SYSROOT_PREFIX: " ${OSX_SYSROOT_PREFIX})
|
message(STATUS "OSX_SYSROOT_PREFIX: " ${OSX_SYSROOT_PREFIX})
|
||||||
set(OSX_DEVELOPER_PREFIX /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk) # use guaranteed existing sdk
|
set(OSX_DEVELOPER_PREFIX /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk) # use guaranteed existing sdk
|
||||||
|
@@ -237,14 +237,10 @@ endif()
|
|||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
find_package_wrapper(OpenVDB)
|
find_package_wrapper(OpenVDB)
|
||||||
find_package_wrapper(TBB)
|
find_package_wrapper(TBB)
|
||||||
find_package_wrapper(Blosc)
|
|
||||||
if(NOT OPENVDB_FOUND OR NOT TBB_FOUND)
|
if(NOT OPENVDB_FOUND OR NOT TBB_FOUND)
|
||||||
set(WITH_OPENVDB OFF)
|
set(WITH_OPENVDB OFF)
|
||||||
set(WITH_OPENVDB_BLOSC OFF)
|
set(WITH_OPENVDB_BLOSC OFF)
|
||||||
message(STATUS "OpenVDB not found, disabling it")
|
message(STATUS "OpenVDB not found, disabling it")
|
||||||
elseif(NOT BLOSC_FOUND)
|
|
||||||
set(WITH_OPENVDB_BLOSC OFF)
|
|
||||||
message(STATUS "Blosc not found, disabling it")
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -29,16 +29,7 @@ if(NOT MSVC)
|
|||||||
message(FATAL_ERROR "Compiler is unsupported")
|
message(FATAL_ERROR "Compiler is unsupported")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
# Libraries configuration for Windows when compiling with MSVC.
|
||||||
set(MSVC_CLANG On)
|
|
||||||
set(VC_TOOLS_DIR $ENV{VCToolsRedistDir} CACHE STRING "Location of the msvc redistributables")
|
|
||||||
set(MSVC_REDIST_DIR ${VC_TOOLS_DIR})
|
|
||||||
if (DEFINED MSVC_REDIST_DIR)
|
|
||||||
file(TO_CMAKE_PATH ${MSVC_REDIST_DIR} MSVC_REDIST_DIR)
|
|
||||||
else()
|
|
||||||
message("Unable to detect the Visual Studio redist directory, copying of the runtime dlls will not work, try running from the visual studio developer prompt.")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(GLOBAL PROPERTY USE_FOLDERS ${WINDOWS_USE_VISUAL_STUDIO_FOLDERS})
|
set_property(GLOBAL PROPERTY USE_FOLDERS ${WINDOWS_USE_VISUAL_STUDIO_FOLDERS})
|
||||||
|
|
||||||
@@ -128,18 +119,8 @@ set(CMAKE_INSTALL_OPENMP_LIBRARIES ${WITH_OPENMP})
|
|||||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION .)
|
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION .)
|
||||||
include(InstallRequiredSystemLibraries)
|
include(InstallRequiredSystemLibraries)
|
||||||
|
|
||||||
remove_cc_flag("/MDd" "/MD")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /nologo /J /Gd /MP /EHsc")
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd /MP")
|
||||||
if(MSVC_CLANG) # Clangs version of cl doesn't support all flags
|
|
||||||
if(NOT WITH_CXX11) # C++11 is on by default in clang-cl and can't be turned off, if c++11 is not enabled in blender repress some c++11 related warnings.
|
|
||||||
set(CXX_WARN_FLAGS "-Wno-inconsistent-missing-override")
|
|
||||||
endif()
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_WARN_FLAGS} /nologo /J /Gd /EHsc -Wno-unused-command-line-argument -Wno-microsoft-enum-forward-reference ")
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd -Wno-unused-command-line-argument -Wno-microsoft-enum-forward-reference")
|
|
||||||
else()
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /nologo /J /Gd /MP /EHsc")
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd /MP")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
|
||||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")
|
||||||
@@ -150,7 +131,7 @@ set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} /MT")
|
|||||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MT")
|
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MT")
|
||||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /MT")
|
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /MT")
|
||||||
|
|
||||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /SUBSYSTEM:CONSOLE /STACK:2097152 /INCREMENTAL:NO ")
|
set(PLATFORM_LINKFLAGS "/SUBSYSTEM:CONSOLE /STACK:2097152 /INCREMENTAL:NO ")
|
||||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcmrt.lib /NODEFAULTLIB:msvcurt.lib /NODEFAULTLIB:msvcrtd.lib ")
|
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcmrt.lib /NODEFAULTLIB:msvcurt.lib /NODEFAULTLIB:msvcrtd.lib ")
|
||||||
|
|
||||||
# Ignore meaningless for us linker warnings.
|
# Ignore meaningless for us linker warnings.
|
||||||
@@ -163,7 +144,7 @@ else()
|
|||||||
set(PLATFORM_LINKFLAGS "/MACHINE:IX86 /LARGEADDRESSAWARE ${PLATFORM_LINKFLAGS}")
|
set(PLATFORM_LINKFLAGS "/MACHINE:IX86 /LARGEADDRESSAWARE ${PLATFORM_LINKFLAGS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PLATFORM_LINKFLAGS_DEBUG "${PLATFORM_LINKFLAGS_DEBUG} /IGNORE:4099 /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libc.lib")
|
set(PLATFORM_LINKFLAGS_DEBUG "/IGNORE:4099 /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libc.lib")
|
||||||
|
|
||||||
if(NOT DEFINED LIBDIR)
|
if(NOT DEFINED LIBDIR)
|
||||||
|
|
||||||
@@ -425,7 +406,7 @@ if(WITH_OPENIMAGEIO)
|
|||||||
set(OIIO_OPTIMIZED optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO.lib optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util.lib)
|
set(OIIO_OPTIMIZED optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO.lib optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util.lib)
|
||||||
set(OIIO_DEBUG debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_d.lib debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util_d.lib)
|
set(OIIO_DEBUG debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_d.lib debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util_d.lib)
|
||||||
set(OPENIMAGEIO_LIBRARIES ${OIIO_OPTIMIZED} ${OIIO_DEBUG})
|
set(OPENIMAGEIO_LIBRARIES ${OIIO_OPTIMIZED} ${OIIO_DEBUG})
|
||||||
|
|
||||||
set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0")
|
set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0")
|
||||||
set(OPENCOLORIO_DEFINITIONS "-DOCIO_STATIC_BUILD")
|
set(OPENCOLORIO_DEFINITIONS "-DOCIO_STATIC_BUILD")
|
||||||
set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe")
|
set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe")
|
||||||
@@ -474,7 +455,7 @@ if(WITH_OPENVDB)
|
|||||||
set(OPENVDB_LIBPATH ${LIBDIR}/openvdb/lib)
|
set(OPENVDB_LIBPATH ${LIBDIR}/openvdb/lib)
|
||||||
set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include ${TBB_INCLUDE_DIR})
|
set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include ${TBB_INCLUDE_DIR})
|
||||||
set(OPENVDB_LIBRARIES optimized ${OPENVDB_LIBPATH}/openvdb.lib debug ${OPENVDB_LIBPATH}/openvdb_d.lib ${TBB_LIBRARIES} ${BLOSC_LIBRARIES})
|
set(OPENVDB_LIBRARIES optimized ${OPENVDB_LIBPATH}/openvdb.lib debug ${OPENVDB_LIBPATH}/openvdb_d.lib ${TBB_LIBRARIES} ${BLOSC_LIBRARIES})
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_ALEMBIC)
|
if(WITH_ALEMBIC)
|
||||||
|
@@ -1,17 +0,0 @@
|
|||||||
echo No explicit msvc version requested, autodetecting version.
|
|
||||||
|
|
||||||
call "%~dp0\detect_msvc2013.cmd"
|
|
||||||
if %ERRORLEVEL% EQU 0 goto DetectionComplete
|
|
||||||
|
|
||||||
call "%~dp0\detect_msvc2015.cmd"
|
|
||||||
if %ERRORLEVEL% EQU 0 goto DetectionComplete
|
|
||||||
|
|
||||||
call "%~dp0\detect_msvc2017.cmd"
|
|
||||||
if %ERRORLEVEL% EQU 0 goto DetectionComplete
|
|
||||||
|
|
||||||
echo Compiler Detection failed. Use verbose switch for more information.
|
|
||||||
exit /b 1
|
|
||||||
|
|
||||||
:DetectionComplete
|
|
||||||
echo Compiler Detection successfull, detected VS%BUILD_VS_YEAR%
|
|
||||||
exit /b 0
|
|
@@ -1,26 +0,0 @@
|
|||||||
if "%NOBUILD%"=="1" goto EOF
|
|
||||||
echo %TIME% > %BUILD_DIR%\buildtime.txt
|
|
||||||
msbuild ^
|
|
||||||
%BUILD_DIR%\Blender.sln ^
|
|
||||||
/target:build ^
|
|
||||||
/property:Configuration=%BUILD_TYPE% ^
|
|
||||||
/maxcpucount:2 ^
|
|
||||||
/verbosity:minimal ^
|
|
||||||
/p:platform=%MSBUILD_PLATFORM% ^
|
|
||||||
/flp:Summary;Verbosity=minimal;LogFile=%BUILD_DIR%\Build.log
|
|
||||||
if errorlevel 1 (
|
|
||||||
echo Error during build, see %BUILD_DIR%\Build.log for details
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
|
|
||||||
msbuild ^
|
|
||||||
%BUILD_DIR%\INSTALL.vcxproj ^
|
|
||||||
/property:Configuration=%BUILD_TYPE% ^
|
|
||||||
/verbosity:minimal ^
|
|
||||||
/p:platform=%MSBUILD_PLATFORM%
|
|
||||||
if errorlevel 1 (
|
|
||||||
echo Error during install phase
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
echo %TIME% >> %BUILD_DIR%\buildtime.txt
|
|
||||||
:EOF
|
|
@@ -1,16 +0,0 @@
|
|||||||
if "%NOBUILD%"=="1" goto EOF
|
|
||||||
set HAS_ERROR=
|
|
||||||
cd %BUILD_DIR%
|
|
||||||
echo %TIME% > buildtime.txt
|
|
||||||
ninja install
|
|
||||||
if errorlevel 1 (
|
|
||||||
set HAS_ERROR=1
|
|
||||||
)
|
|
||||||
echo %TIME% >>buildtime.txt
|
|
||||||
cd %BLENDER_DIR%
|
|
||||||
|
|
||||||
if "%HAS_ERROR%" == "1" (
|
|
||||||
echo Error during build
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
:EOF
|
|
@@ -1,54 +0,0 @@
|
|||||||
if "%BUILD_VS_YEAR%"=="2013" set BUILD_VS_LIBDIRPOST=vc12
|
|
||||||
if "%BUILD_VS_YEAR%"=="2015" set BUILD_VS_LIBDIRPOST=vc14
|
|
||||||
if "%BUILD_VS_YEAR%"=="2017" set BUILD_VS_LIBDIRPOST=vc14
|
|
||||||
|
|
||||||
if "%BUILD_ARCH%"=="x64" (
|
|
||||||
set BUILD_VS_SVNDIR=win64_%BUILD_VS_LIBDIRPOST%
|
|
||||||
) else if "%BUILD_ARCH%"=="x86" (
|
|
||||||
set BUILD_VS_SVNDIR=windows_%BUILD_VS_LIBDIRPOST%
|
|
||||||
)
|
|
||||||
set BUILD_VS_LIBDIR="%BLENDER_DIR%..\lib\%BUILD_VS_SVNDIR%"
|
|
||||||
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Library Directory = "%BUILD_VS_LIBDIR%"
|
|
||||||
)
|
|
||||||
if NOT EXIST %BUILD_VS_LIBDIR% (
|
|
||||||
rem libs not found, but svn is on the system
|
|
||||||
echo
|
|
||||||
if not "%SVN%"=="" (
|
|
||||||
echo.
|
|
||||||
echo The required external libraries in %BUILD_VS_LIBDIR% are missing
|
|
||||||
echo.
|
|
||||||
set /p GetLibs= "Would you like to download them? (y/n)"
|
|
||||||
if /I "!GetLibs!"=="Y" (
|
|
||||||
echo.
|
|
||||||
echo Downloading %BUILD_VS_SVNDIR% libraries, please wait.
|
|
||||||
echo.
|
|
||||||
:RETRY
|
|
||||||
"%SVN%" checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/%BUILD_VS_SVNDIR% %BUILD_VS_LIBDIR%
|
|
||||||
if errorlevel 1 (
|
|
||||||
set /p LibRetry= "Error during donwload, retry? y/n"
|
|
||||||
if /I "!LibRetry!"=="Y" (
|
|
||||||
cd %BUILD_VS_LIBDIR%
|
|
||||||
"%SVN%" cleanup
|
|
||||||
cd %BLENDER_DIR%
|
|
||||||
goto RETRY
|
|
||||||
)
|
|
||||||
echo.
|
|
||||||
echo Error: Download of external libraries failed.
|
|
||||||
echo This is needed for building, please manually run 'svn cleanup' and 'svn update' in
|
|
||||||
echo %BUILD_VS_LIBDIR% , until this is resolved you CANNOT make a successfull blender build
|
|
||||||
echo.
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if NOT EXIST %BUILD_VS_LIBDIR% (
|
|
||||||
echo.
|
|
||||||
echo Error: Required libraries not found at "%BUILD_VS_LIBDIR%"
|
|
||||||
echo This is needed for building, aborting!
|
|
||||||
echo.
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
@@ -1,6 +0,0 @@
|
|||||||
set BLENDER_DIR_NOSPACES=%BLENDER_DIR: =%
|
|
||||||
|
|
||||||
if not "%BLENDER_DIR%"=="%BLENDER_DIR_NOSPACES%" (
|
|
||||||
echo There are spaces detected in the build path "%BLENDER_DIR%", this is currently not supported, exiting....
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
@@ -1,20 +0,0 @@
|
|||||||
if NOT exist "%BLENDER_DIR%/source/tools" (
|
|
||||||
echo Checking out sub-modules
|
|
||||||
if not "%GIT%" == "" (
|
|
||||||
"%GIT%" submodule update --init --recursive --progress
|
|
||||||
if errorlevel 1 goto FAIL
|
|
||||||
"%GIT%" submodule foreach git checkout master
|
|
||||||
if errorlevel 1 goto FAIL
|
|
||||||
"%GIT%" submodule foreach git pull --rebase origin master
|
|
||||||
if errorlevel 1 goto FAIL
|
|
||||||
goto EOF
|
|
||||||
) else (
|
|
||||||
echo Blender submodules not found, and git not found in path to retrieve them.
|
|
||||||
goto FAIL
|
|
||||||
)
|
|
||||||
)
|
|
||||||
goto EOF
|
|
||||||
|
|
||||||
:FAIL
|
|
||||||
exit /b 1
|
|
||||||
:EOF
|
|
@@ -1,74 +0,0 @@
|
|||||||
if "%BUILD_ARCH%"=="x64" (
|
|
||||||
set MSBUILD_PLATFORM=x64
|
|
||||||
) else if "%BUILD_ARCH%"=="x86" (
|
|
||||||
set MSBUILD_PLATFORM=win32
|
|
||||||
if "%WITH_CLANG%"=="1" (
|
|
||||||
echo Clang not supported for X86
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%WITH_CLANG%"=="1" (
|
|
||||||
set CLANG_CMAKE_ARGS=-T"LLVM-vs2017"
|
|
||||||
if "%WITH_ASAN%"=="1" (
|
|
||||||
set ASAN_CMAKE_ARGS=-DWITH_COMPILER_ASAN=On
|
|
||||||
)
|
|
||||||
) else (
|
|
||||||
if "%WITH_ASAN%"=="1" (
|
|
||||||
echo ASAN is only supported with clang.
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
)
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Visual Studio %BUILD_VS_VER% %BUILD_VS_YEAR%%WINDOWS_ARCH%" %TESTS_CMAKE_ARGS% %CLANG_CMAKE_ARGS% %ASAN_CMAKE_ARGS%
|
|
||||||
|
|
||||||
if NOT EXIST %BUILD_DIR%\nul (
|
|
||||||
mkdir %BUILD_DIR%
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%MUST_CLEAN%"=="1" (
|
|
||||||
echo Cleaning %BUILD_DIR%
|
|
||||||
msbuild ^
|
|
||||||
%BUILD_DIR%\Blender.sln ^
|
|
||||||
/target:clean ^
|
|
||||||
/property:Configuration=%BUILD_TYPE% ^
|
|
||||||
/verbosity:minimal ^
|
|
||||||
/p:platform=%MSBUILD_PLATFORM%
|
|
||||||
)
|
|
||||||
|
|
||||||
if NOT EXIST %BUILD_DIR%\Blender.sln set MUST_CONFIGURE=1
|
|
||||||
if "%NOBUILD%"=="1" set MUST_CONFIGURE=1
|
|
||||||
|
|
||||||
if "%MUST_CONFIGURE%"=="1" (
|
|
||||||
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo %CMAKE% %BUILD_CMAKE_ARGS% -H%BLENDER_DIR% -B%BUILD_DIR%
|
|
||||||
)
|
|
||||||
|
|
||||||
cmake ^
|
|
||||||
%BUILD_CMAKE_ARGS% ^
|
|
||||||
-H%BLENDER_DIR% ^
|
|
||||||
-B%BUILD_DIR%
|
|
||||||
|
|
||||||
if %ERRORLEVEL% NEQ 0 (
|
|
||||||
echo "Configuration Failed"
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
echo call "%VCVARS%" %BUILD_ARCH% > %BUILD_DIR%\rebuild.cmd
|
|
||||||
echo "%CMAKE%" . >> %BUILD_DIR%\rebuild.cmd
|
|
||||||
echo echo %%TIME%% ^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd
|
|
||||||
echo msbuild ^
|
|
||||||
%BUILD_DIR%\Blender.sln ^
|
|
||||||
/target:build ^
|
|
||||||
/property:Configuration=%BUILD_TYPE% ^
|
|
||||||
/maxcpucount:2 ^
|
|
||||||
/verbosity:minimal ^
|
|
||||||
/p:platform=%MSBUILD_PLATFORM% ^
|
|
||||||
/flp:Summary;Verbosity=minimal;LogFile=%BUILD_DIR%\Build.log >> %BUILD_DIR%\rebuild.cmd
|
|
||||||
echo msbuild ^
|
|
||||||
%BUILD_DIR%\INSTALL.vcxproj ^
|
|
||||||
/property:Configuration=%BUILD_TYPE% ^
|
|
||||||
/verbosity:minimal ^
|
|
||||||
/p:platform=%MSBUILD_PLATFORM% >> %BUILD_DIR%\rebuild.cmd
|
|
||||||
echo echo %%TIME%% ^>^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd
|
|
@@ -1,80 +0,0 @@
|
|||||||
ninja --version 1>NUL 2>&1
|
|
||||||
if %ERRORLEVEL% NEQ 0 (
|
|
||||||
echo "Ninja not detected in the path"
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Ninja" %TESTS_CMAKE_ARGS% -DCMAKE_BUILD_TYPE=%BUILD_TYPE%
|
|
||||||
|
|
||||||
if "%WITH_CLANG%" == "1" (
|
|
||||||
set LLVM_DIR=
|
|
||||||
for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM" /ve 2^>nul`) DO set LLVM_DIR=%%C
|
|
||||||
if DEFINED LLVM_DIR (
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo LLVM Detected at "%LLVM_DIR%"
|
|
||||||
)
|
|
||||||
goto DetectionComplete
|
|
||||||
)
|
|
||||||
|
|
||||||
REM Check 32 bits
|
|
||||||
for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM" /ve 2^>nul`) DO set LLVM_DIR=%%C
|
|
||||||
if DEFINED LLVM_DIR (
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo LLVM Detected at "%LLVM_DIR%"
|
|
||||||
)
|
|
||||||
goto DetectionComplete
|
|
||||||
)
|
|
||||||
echo LLVM not found
|
|
||||||
exit /b 1
|
|
||||||
|
|
||||||
:DetectionComplete
|
|
||||||
set CC=%LLVM_DIR%\bin\clang-cl
|
|
||||||
set CXX=%LLVM_DIR%\bin\clang-cl
|
|
||||||
rem build and tested against 2017 15.7
|
|
||||||
set CFLAGS=-m64 -fmsc-version=1914
|
|
||||||
set CXXFLAGS=-m64 -fmsc-version=1914
|
|
||||||
if "%WITH_ASAN%"=="1" (
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DWITH_COMPILER_ASAN=On
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%WITH_ASAN%"=="1" (
|
|
||||||
if "%WITH_CLANG%" == "" (
|
|
||||||
echo ASAN is only supported with clang.
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS%
|
|
||||||
)
|
|
||||||
|
|
||||||
if NOT EXIST %BUILD_DIR%\nul (
|
|
||||||
mkdir %BUILD_DIR%
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%MUST_CLEAN%"=="1" (
|
|
||||||
echo Cleaning %BUILD_DIR%
|
|
||||||
cd %BUILD_DIR%
|
|
||||||
%CMAKE% cmake --build . --config Clean
|
|
||||||
)
|
|
||||||
|
|
||||||
if NOT EXIST %BUILD_DIR%\Blender.sln set MUST_CONFIGURE=1
|
|
||||||
if "%NOBUILD%"=="1" set MUST_CONFIGURE=1
|
|
||||||
|
|
||||||
if "%MUST_CONFIGURE%"=="1" (
|
|
||||||
cmake ^
|
|
||||||
%BUILD_CMAKE_ARGS% ^
|
|
||||||
-H%BLENDER_DIR% ^
|
|
||||||
-B%BUILD_DIR%
|
|
||||||
|
|
||||||
if %ERRORLEVEL% NEQ 0 (
|
|
||||||
echo "Configuration Failed"
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
echo call "%VCVARS%" %BUILD_ARCH% > %BUILD_DIR%\rebuild.cmd
|
|
||||||
echo echo %%TIME%% ^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd
|
|
||||||
echo ninja install >> %BUILD_DIR%\rebuild.cmd
|
|
||||||
echo echo %%TIME%% ^>^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd
|
|
@@ -1,16 +0,0 @@
|
|||||||
if "%BUILD_ARCH%"=="" (
|
|
||||||
if "%PROCESSOR_ARCHITECTURE%" == "AMD64" (
|
|
||||||
set WINDOWS_ARCH= Win64
|
|
||||||
set BUILD_ARCH=x64
|
|
||||||
) else if "%PROCESSOR_ARCHITEW6432%" == "AMD64" (
|
|
||||||
set WINDOWS_ARCH= Win64
|
|
||||||
set BUILD_ARCH=x64
|
|
||||||
) else (
|
|
||||||
set WINDOWS_ARCH=
|
|
||||||
set BUILD_ARCH=x86
|
|
||||||
)
|
|
||||||
) else if "%BUILD_ARCH%"=="x64" (
|
|
||||||
set WINDOWS_ARCH= Win64
|
|
||||||
) else if "%BUILD_ARCH%"=="x86" (
|
|
||||||
set WINDOWS_ARCH=
|
|
||||||
)
|
|
@@ -1,3 +0,0 @@
|
|||||||
set BUILD_VS_VER=12
|
|
||||||
set BUILD_VS_YEAR=2013
|
|
||||||
call "%~dp0\detect_msvc_classic.cmd"
|
|
@@ -1,3 +0,0 @@
|
|||||||
set BUILD_VS_VER=14
|
|
||||||
set BUILD_VS_YEAR=2015
|
|
||||||
call "%~dp0\detect_msvc_classic.cmd"
|
|
@@ -1,76 +0,0 @@
|
|||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Detecting msvc 2017
|
|
||||||
)
|
|
||||||
set BUILD_VS_VER=15
|
|
||||||
set BUILD_VS_YEAR=2017
|
|
||||||
set ProgramFilesX86=%ProgramFiles(x86)%
|
|
||||||
if not exist "%ProgramFilesX86%" set ProgramFilesX86=%ProgramFiles%
|
|
||||||
|
|
||||||
set vs_where=%ProgramFilesX86%\Microsoft Visual Studio\Installer\vswhere.exe
|
|
||||||
if not exist "%vs_where%" (
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio 2017 ^(15.2 or newer^) is not detected
|
|
||||||
goto FAIL
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo "%vs_where%" -latest %VSWHERE_ARGS% -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64`
|
|
||||||
)
|
|
||||||
|
|
||||||
for /f "usebackq tokens=1* delims=: " %%i in (`"%vs_where%" -latest %VSWHERE_ARGS% -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64`) do (
|
|
||||||
if /i "%%i"=="installationPath" set VS_InstallDir=%%j
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%VS_InstallDir%"=="" (
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio is detected but the "Desktop development with C++" workload has not been instlled
|
|
||||||
goto FAIL
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
set VCVARS=%VS_InstallDir%\VC\Auxiliary\Build\vcvarsall.bat
|
|
||||||
if exist "%VCVARS%" (
|
|
||||||
call "%VCVARS%" %BUILD_ARCH%
|
|
||||||
) else (
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo "%VCVARS%" not found
|
|
||||||
)
|
|
||||||
goto FAIL
|
|
||||||
)
|
|
||||||
|
|
||||||
rem try msbuild
|
|
||||||
msbuild /version > NUL
|
|
||||||
if errorlevel 1 (
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% msbuild not found
|
|
||||||
)
|
|
||||||
goto FAIL
|
|
||||||
)
|
|
||||||
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% msbuild found
|
|
||||||
)
|
|
||||||
|
|
||||||
REM try the c++ compiler
|
|
||||||
cl 2> NUL 1>&2
|
|
||||||
if errorlevel 1 (
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% C/C++ Compiler not found
|
|
||||||
)
|
|
||||||
goto FAIL
|
|
||||||
)
|
|
||||||
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% C/C++ Compiler found
|
|
||||||
)
|
|
||||||
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio 2017 is detected successfully
|
|
||||||
)
|
|
||||||
goto EOF
|
|
||||||
|
|
||||||
:FAIL
|
|
||||||
exit /b 1
|
|
||||||
|
|
||||||
:EOF
|
|
@@ -1,69 +0,0 @@
|
|||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Detecting msvc %BUILD_VS_YEAR%
|
|
||||||
)
|
|
||||||
set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\%BUILD_VS_VER%.0\Setup\VC"
|
|
||||||
for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v ProductDir 2^>nul`) DO set MSVC_VC_DIR=%%C
|
|
||||||
if DEFINED MSVC_VC_DIR (
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% on Win64 detected at "%MSVC_VC_DIR%"
|
|
||||||
)
|
|
||||||
goto msvc_detect_finally
|
|
||||||
)
|
|
||||||
|
|
||||||
REM Check 32 bits
|
|
||||||
set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\%BUILD_VS_VER%.0\Setup\VC"
|
|
||||||
for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v ProductDir 2^>nul`) DO set MSVC_VC_DIR=%%C
|
|
||||||
if DEFINED MSVC_VC_DIR (
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% on Win32 detected at "%MSVC_VC_DIR%"
|
|
||||||
)
|
|
||||||
goto msvc_detect_finally
|
|
||||||
)
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% not found.
|
|
||||||
)
|
|
||||||
goto FAIL
|
|
||||||
:msvc_detect_finally
|
|
||||||
set VCVARS=%MSVC_VC_DIR%\vcvarsall.bat
|
|
||||||
if not exist "%VCVARS%" (
|
|
||||||
echo "%VCVARS%" not found.
|
|
||||||
goto FAIL
|
|
||||||
)
|
|
||||||
|
|
||||||
call "%vcvars%" %BUILD_ARCH%
|
|
||||||
|
|
||||||
rem try msbuild
|
|
||||||
msbuild /version > NUL
|
|
||||||
if errorlevel 1 (
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% msbuild not found
|
|
||||||
)
|
|
||||||
goto FAIL
|
|
||||||
)
|
|
||||||
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% msbuild found
|
|
||||||
)
|
|
||||||
|
|
||||||
REM try the c++ compiler
|
|
||||||
cl 2> NUL 1>&2
|
|
||||||
if errorlevel 1 (
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% C/C++ Compiler not found
|
|
||||||
)
|
|
||||||
goto FAIL
|
|
||||||
)
|
|
||||||
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% C/C++ Compiler found
|
|
||||||
)
|
|
||||||
goto DetectionComplete
|
|
||||||
|
|
||||||
:FAIL
|
|
||||||
exit /b 1
|
|
||||||
|
|
||||||
:DetectionComplete
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo Visual Studio %BUILD_VS_YEAR% Detected successfuly
|
|
||||||
)
|
|
||||||
exit /b 0
|
|
@@ -1,13 +0,0 @@
|
|||||||
REM find all dependencies and set the corresponding environement variables.
|
|
||||||
for %%X in (svn.exe) do (set SVN=%%~$PATH:X)
|
|
||||||
for %%X in (cmake.exe) do (set CMAKE=%%~$PATH:X)
|
|
||||||
for %%X in (git.exe) do (set GIT=%%~$PATH:X)
|
|
||||||
if NOT "%verbose%" == "" (
|
|
||||||
echo svn : %SVN%
|
|
||||||
echo cmake : %CMAKE%
|
|
||||||
echo git : %GIT%
|
|
||||||
)
|
|
||||||
if "%CMAKE%" == "" (
|
|
||||||
echo Cmake not found in path, required for building, exiting...
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
@@ -1,88 +0,0 @@
|
|||||||
set BUILD_DIR=%BLENDER_DIR%..\build_windows
|
|
||||||
set BUILD_TYPE=Release
|
|
||||||
:argv_loop
|
|
||||||
if NOT "%1" == "" (
|
|
||||||
|
|
||||||
REM Help Message
|
|
||||||
if "%1" == "help" (
|
|
||||||
set SHOW_HELP=1
|
|
||||||
goto EOF
|
|
||||||
)
|
|
||||||
REM Build Types
|
|
||||||
if "%1" == "debug" (
|
|
||||||
set BUILD_TYPE=Debug
|
|
||||||
REM Build Configurations
|
|
||||||
) else if "%1" == "noge" (
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DWITH_GAMEENGINE=OFF -DWITH_PLAYER=OFF
|
|
||||||
set BUILD_NGE=_noge
|
|
||||||
) else if "%1" == "builddir" (
|
|
||||||
set BUILD_DIR_OVERRRIDE="%BLENDER_DIR%..\%2"
|
|
||||||
shift /1
|
|
||||||
) else if "%1" == "with_tests" (
|
|
||||||
set TESTS_CMAKE_ARGS=-DWITH_GTESTS=On
|
|
||||||
) else if "%1" == "full" (
|
|
||||||
set TARGET=Full
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% ^
|
|
||||||
-C"%BLENDER_DIR%\build_files\cmake\config\blender_full.cmake"
|
|
||||||
) else if "%1" == "lite" (
|
|
||||||
set TARGET=Lite
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\blender_lite.cmake"
|
|
||||||
) else if "%1" == "cycles" (
|
|
||||||
set TARGET=Cycles
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\cycles_standalone.cmake"
|
|
||||||
) else if "%1" == "headless" (
|
|
||||||
set TARGET=Headless
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\blender_headless.cmake"
|
|
||||||
) else if "%1" == "bpy" (
|
|
||||||
set TARGET=Bpy
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\bpy_module.cmake"
|
|
||||||
) else if "%1" == "clang" (
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS%
|
|
||||||
set WITH_CLANG=1
|
|
||||||
) else if "%1" == "release" (
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\blender_release.cmake"
|
|
||||||
set TARGET=Release
|
|
||||||
) else if "%1" == "asan" (
|
|
||||||
set WITH_ASAN=1
|
|
||||||
) else if "%1" == "x86" (
|
|
||||||
set BUILD_ARCH=x86
|
|
||||||
) else if "%1" == "x64" (
|
|
||||||
set BUILD_ARCH=x64
|
|
||||||
) else if "%1" == "2017" (
|
|
||||||
set BUILD_VS_YEAR=2017
|
|
||||||
) else if "%1" == "2017pre" (
|
|
||||||
set BUILD_VS_YEAR=2017
|
|
||||||
set VSWHERE_ARGS=-prerelease
|
|
||||||
set BUILD_VS_YEAR=2017
|
|
||||||
) else if "%1" == "2017b" (
|
|
||||||
set BUILD_VS_YEAR=2017
|
|
||||||
set VSWHERE_ARGS=-products Microsoft.VisualStudio.Product.BuildTools
|
|
||||||
) else if "%1" == "2015" (
|
|
||||||
set BUILD_VS_YEAR=2015
|
|
||||||
) else if "%1" == "2013" (
|
|
||||||
set BUILD_VS_YEAR=2013
|
|
||||||
) else if "%1" == "packagename" (
|
|
||||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DCPACK_OVERRIDE_PACKAGENAME="%2"
|
|
||||||
shift /1
|
|
||||||
) else if "%1" == "nobuild" (
|
|
||||||
set NOBUILD=1
|
|
||||||
) else if "%1" == "showhash" (
|
|
||||||
SET BUILD_SHOW_HASHES=1
|
|
||||||
REM Non-Build Commands
|
|
||||||
) else if "%1" == "update" (
|
|
||||||
SET BUILD_UPDATE=1
|
|
||||||
) else if "%1" == "ninja" (
|
|
||||||
SET BUILD_WITH_NINJA=1
|
|
||||||
) else if "%1" == "clean" (
|
|
||||||
set MUST_CLEAN=1
|
|
||||||
) else if "%1" == "verbose" (
|
|
||||||
set VERBOSE=1
|
|
||||||
) else (
|
|
||||||
echo Command "%1" unknown, aborting!
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
shift /1
|
|
||||||
goto argv_loop
|
|
||||||
)
|
|
||||||
:EOF
|
|
||||||
exit /b 0
|
|
@@ -1,27 +0,0 @@
|
|||||||
rem reset all variables so they do not get accidentally get carried over from previous builds
|
|
||||||
set BUILD_DIR_OVERRRIDE=
|
|
||||||
set BUILD_CMAKE_ARGS=
|
|
||||||
set BUILD_ARCH=
|
|
||||||
set BUILD_VS_VER=
|
|
||||||
set BUILD_VS_YEAR=
|
|
||||||
set BUILD_VS_LIBDIRPOST=
|
|
||||||
set BUILD_VS_LIBDIR=
|
|
||||||
set BUILD_VS_SVNDIR=
|
|
||||||
set BUILD_NGE=
|
|
||||||
set KEY_NAME=
|
|
||||||
set MSBUILD_PLATFORM=
|
|
||||||
set MUST_CLEAN=
|
|
||||||
set NOBUILD=
|
|
||||||
set TARGET=
|
|
||||||
set VERBOSE=
|
|
||||||
set WINDOWS_ARCH=
|
|
||||||
set TESTS_CMAKE_ARGS=
|
|
||||||
set VSWHERE_ARGS=
|
|
||||||
set BUILD_UPDATE=
|
|
||||||
set BUILD_SHOW_HASHES=
|
|
||||||
set SHOW_HELP=
|
|
||||||
set BUILD_WITH_NINJA=
|
|
||||||
set WITH_CLANG=
|
|
||||||
set WITH_ASAN=
|
|
||||||
set CLANG_CMAKE_ARGS=
|
|
||||||
set ASAN_CMAKE_ARGS=
|
|
@@ -1,4 +0,0 @@
|
|||||||
set BUILD_DIR=%BUILD_DIR%_%TARGET%%BUILD_NGE%_%BUILD_ARCH%_vc%BUILD_VS_VER%_%BUILD_TYPE%
|
|
||||||
if NOT "%BUILD_DIR_OVERRRIDE%"=="" (
|
|
||||||
set BUILD_DIR=%BUILD_DIR_OVERRRIDE%
|
|
||||||
)
|
|
@@ -1,12 +0,0 @@
|
|||||||
if "%GIT%" == "" (
|
|
||||||
echo Git not found, cannot show hashes.
|
|
||||||
goto EOF
|
|
||||||
)
|
|
||||||
cd "%BLENDER_DIR%"
|
|
||||||
for /f "delims=" %%i in ('"%GIT%" rev-parse HEAD') do echo Branch_hash=%%i
|
|
||||||
cd "%BLENDER_DIR%/release/datafiles/locale"
|
|
||||||
for /f "delims=" %%i in ('"%GIT%" rev-parse HEAD') do echo Locale_hash=%%i
|
|
||||||
cd "%BLENDER_DIR%/release/scripts/addons"
|
|
||||||
for /f "delims=" %%i in ('"%GIT%" rev-parse HEAD') do echo Addons_Hash=%%i
|
|
||||||
cd "%BLENDER_DIR%"
|
|
||||||
:EOF
|
|
@@ -1,35 +0,0 @@
|
|||||||
echo.
|
|
||||||
echo Convenience targets
|
|
||||||
echo - release ^(identical to the official blender.org builds^)
|
|
||||||
echo - full ^(same as release minus the cuda kernels^)
|
|
||||||
echo - lite
|
|
||||||
echo - headless
|
|
||||||
echo - cycles
|
|
||||||
echo - bpy
|
|
||||||
echo.
|
|
||||||
echo Utilities ^(not associated with building^)
|
|
||||||
echo - clean ^(Target must be set^)
|
|
||||||
echo - update
|
|
||||||
echo - nobuild ^(only generate project files^)
|
|
||||||
echo - showhash ^(Show git hashes of source tree^)
|
|
||||||
echo.
|
|
||||||
echo Configuration options
|
|
||||||
echo - verbose ^(enable diagnostic output during configuration^)
|
|
||||||
echo - with_tests ^(enable building unit tests^)
|
|
||||||
echo - noge ^(disable building game enginge and player^)
|
|
||||||
echo - debug ^(Build an unoptimized debuggable build^)
|
|
||||||
echo - packagename [newname] ^(override default cpack package name^)
|
|
||||||
echo - buildir [newdir] ^(override default build folder^)
|
|
||||||
echo - x86 ^(override host auto-detect and build 32 bit code^)
|
|
||||||
echo - x64 ^(override host auto-detect and build 64 bit code^)
|
|
||||||
echo - 2013 ^(build with visual studio 2013^)
|
|
||||||
echo.
|
|
||||||
echo Experimental options
|
|
||||||
echo - 2015 ^(build with visual studio 2015^)
|
|
||||||
echo - 2017 ^(build with visual studio 2017^)
|
|
||||||
echo - 2017pre ^(build with visual studio 2017 pre-release^)
|
|
||||||
echo - 2017b ^(build with visual studio 2017 Build Tools^)
|
|
||||||
echo - clang ^(enable building with clang^)
|
|
||||||
echo - asan ^(enable asan when building with clang^)
|
|
||||||
echo - ninja ^(enable building with ninja instead of msbuild^)
|
|
||||||
echo.
|
|
@@ -1,16 +0,0 @@
|
|||||||
if "%SVN%" == "" (
|
|
||||||
echo svn not found, cannot update libraries
|
|
||||||
goto UPDATE_GIT
|
|
||||||
)
|
|
||||||
"%SVN%" up "%BLENDER_DIR%/../lib/*"
|
|
||||||
|
|
||||||
:UPDATE_GIT
|
|
||||||
|
|
||||||
if "%GIT%" == "" (
|
|
||||||
echo Git not found, cannot update code
|
|
||||||
goto EOF
|
|
||||||
)
|
|
||||||
"%GIT%" pull --rebase
|
|
||||||
"%GIT%" submodule foreach git pull --rebase origin master
|
|
||||||
|
|
||||||
:EOF
|
|
@@ -36,6 +36,62 @@
|
|||||||
|
|
||||||
/* ================================ */
|
/* ================================ */
|
||||||
|
|
||||||
|
/** \defgroup bge Game Engine */
|
||||||
|
/** \defgroup gamelogic Game Logic
|
||||||
|
* \ingroup bge
|
||||||
|
*/
|
||||||
|
/** \defgroup bgeconv Converter
|
||||||
|
* \ingroup bge
|
||||||
|
*/
|
||||||
|
/** \defgroup blroutines Blender Routines
|
||||||
|
* \ingroup bge
|
||||||
|
*/
|
||||||
|
/** \defgroup expressions Expressions
|
||||||
|
* \ingroup bge
|
||||||
|
*/
|
||||||
|
/** \defgroup player Game Player
|
||||||
|
* \ingroup bge
|
||||||
|
*/
|
||||||
|
/** \defgroup ketsji Ketsji
|
||||||
|
* \ingroup bge
|
||||||
|
* \todo check all headers and code files for proper licenses
|
||||||
|
*/
|
||||||
|
/** \defgroup ketsjinet Ketsji Network
|
||||||
|
* \ingroup ketsji
|
||||||
|
*/
|
||||||
|
/** \defgroup bgenet Network
|
||||||
|
* \ingroup bge
|
||||||
|
*/
|
||||||
|
/** \defgroup bgenetlb Loopback Network
|
||||||
|
* \ingroup bgenet
|
||||||
|
*/
|
||||||
|
/** \defgroup phys Physics
|
||||||
|
* \ingroup bge
|
||||||
|
*/
|
||||||
|
/** \defgroup physbullet Bullet Physics
|
||||||
|
* \ingroup phys
|
||||||
|
*/
|
||||||
|
/** \defgroup physdummy Dummy Physics (none)
|
||||||
|
* \ingroup phys
|
||||||
|
*/
|
||||||
|
/** \defgroup bgerast Rasterizer
|
||||||
|
* \ingroup bge
|
||||||
|
*/
|
||||||
|
/** \defgroup bgerastoglfilters OpenGL Filters
|
||||||
|
* \ingroup bgerast
|
||||||
|
*/
|
||||||
|
/** \defgroup bgerastogl OpenGL Rasterizer
|
||||||
|
* \ingroup bgerast
|
||||||
|
*/
|
||||||
|
/** \defgroup bgesg BGE SceneGraph
|
||||||
|
* \ingroup bge
|
||||||
|
*/
|
||||||
|
/** \defgroup bgevideotex BGE Video Texture
|
||||||
|
* \ingroup bge
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* ================================ */
|
||||||
|
|
||||||
/** \defgroup blender Blender */
|
/** \defgroup blender Blender */
|
||||||
|
|
||||||
/** \defgroup blt BlenTranslation
|
/** \defgroup blt BlenTranslation
|
||||||
@@ -212,6 +268,10 @@
|
|||||||
* \ingroup editors
|
* \ingroup editors
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** \defgroup splogic game logic editor
|
||||||
|
* \ingroup editors
|
||||||
|
*/
|
||||||
|
|
||||||
/** \defgroup spnla NLA editor
|
/** \defgroup spnla NLA editor
|
||||||
* \ingroup editors
|
* \ingroup editors
|
||||||
*/
|
*/
|
||||||
|
37
doc/python_api/examples/bge.constraints.py
Normal file
37
doc/python_api/examples/bge.constraints.py
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
"""
|
||||||
|
Basic Physics Constraint
|
||||||
|
++++++++++++++++++++++++
|
||||||
|
Example of how to create a hinge Physics Constraint between two objects.
|
||||||
|
"""
|
||||||
|
from bge import logic
|
||||||
|
from bge import constraints
|
||||||
|
|
||||||
|
# get object list
|
||||||
|
objects = logic.getCurrentScene().objects
|
||||||
|
|
||||||
|
# get object named Object1 and Object 2
|
||||||
|
object_1 = objects["Object1"]
|
||||||
|
object_2 = objects["Object2"]
|
||||||
|
|
||||||
|
# want to use Edge constraint type
|
||||||
|
constraint_type = 2
|
||||||
|
|
||||||
|
# get Object1 and Object2 physics IDs
|
||||||
|
physics_id_1 = object_1.getPhysicsId()
|
||||||
|
physics_id_2 = object_2.getPhysicsId()
|
||||||
|
|
||||||
|
# use bottom right edge of Object1 for hinge position
|
||||||
|
edge_position_x = 1.0
|
||||||
|
edge_position_y = 0.0
|
||||||
|
edge_position_z = -1.0
|
||||||
|
|
||||||
|
# rotate the pivot z axis about 90 degrees
|
||||||
|
edge_angle_x = 0.0
|
||||||
|
edge_angle_y = 0.0
|
||||||
|
edge_angle_z = 90.0
|
||||||
|
|
||||||
|
# create an edge constraint
|
||||||
|
constraints.createConstraint(physics_id_1, physics_id_2,
|
||||||
|
constraint_type,
|
||||||
|
edge_position_x, edge_position_y, edge_position_z,
|
||||||
|
edge_angle_x, edge_angle_y, edge_angle_z)
|
40
doc/python_api/examples/bge.texture.1.py
Normal file
40
doc/python_api/examples/bge.texture.1.py
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
"""
|
||||||
|
Texture Replacement
|
||||||
|
+++++++++++++++++++
|
||||||
|
|
||||||
|
Example of how to replace a texture in game with an external image.
|
||||||
|
``createTexture()`` and ``removeTexture()`` are to be called from a
|
||||||
|
module Python Controller.
|
||||||
|
"""
|
||||||
|
from bge import logic
|
||||||
|
from bge import texture
|
||||||
|
|
||||||
|
|
||||||
|
def createTexture(cont):
|
||||||
|
"""Create a new Dynamic Texture"""
|
||||||
|
obj = cont.owner
|
||||||
|
|
||||||
|
# get the reference pointer (ID) of the internal texture
|
||||||
|
ID = texture.materialID(obj, 'IMoriginal.png')
|
||||||
|
|
||||||
|
# create a texture object
|
||||||
|
object_texture = texture.Texture(obj, ID)
|
||||||
|
|
||||||
|
# create a new source with an external image
|
||||||
|
url = logic.expandPath("//newtexture.jpg")
|
||||||
|
new_source = texture.ImageFFmpeg(url)
|
||||||
|
|
||||||
|
# the texture has to be stored in a permanent Python object
|
||||||
|
logic.texture = object_texture
|
||||||
|
|
||||||
|
# update/replace the texture
|
||||||
|
logic.texture.source = new_source
|
||||||
|
logic.texture.refresh(False)
|
||||||
|
|
||||||
|
|
||||||
|
def removeTexture(cont):
|
||||||
|
"""Delete the Dynamic Texture, reversing back the final to its original state."""
|
||||||
|
try:
|
||||||
|
del logic.texture
|
||||||
|
except:
|
||||||
|
pass
|
237
doc/python_api/examples/bge.texture.2.py
Normal file
237
doc/python_api/examples/bge.texture.2.py
Normal file
@@ -0,0 +1,237 @@
|
|||||||
|
"""
|
||||||
|
Video Capture with DeckLink
|
||||||
|
+++++++++++++++++++++++++++
|
||||||
|
Video frames captured with DeckLink cards have pixel formats that are generally not directly
|
||||||
|
usable by OpenGL, they must be processed by a shader. The three shaders presented here should
|
||||||
|
cover all common video capture cases.
|
||||||
|
|
||||||
|
This file reflects the current video transfer method implemented in the Decklink module:
|
||||||
|
whenever possible the video images are transferred as float texture because this is more
|
||||||
|
compatible with GPUs. Of course, only the pixel formats that have a correspondant GL format
|
||||||
|
can be transferred as float. Look for fg_shaders in this file for an exhaustive list.
|
||||||
|
|
||||||
|
Other pixel formats will be transferred as 32 bits integer red-channel texture but this
|
||||||
|
won't work with certain GPU (Intel GMA); the corresponding shaders are not shown here.
|
||||||
|
However, it should not be necessary to use any of them as the list below covers all practical
|
||||||
|
cases of video capture with all types of Decklink product.
|
||||||
|
|
||||||
|
In other words, only use one of the pixel format below and you will be fine. Note that depending
|
||||||
|
on the video stream, only certain pixel formats will be allowed (others will throw an exception).
|
||||||
|
For example, to capture a PAL video stream, you must use one of the YUV formats.
|
||||||
|
|
||||||
|
To find which pixel format is suitable for a particular video stream, use the 'Media Express'
|
||||||
|
utility that comes with the Decklink software : if you see the video in the 'Log and Capture'
|
||||||
|
Window, you have selected the right pixel format and you can use the same in Blender.
|
||||||
|
|
||||||
|
Notes: * these shaders only decode the RGB channel and set the alpha channel to a fixed
|
||||||
|
value (look for color.a = ). It's up to you to add postprocessing to the color.
|
||||||
|
* these shaders are compatible with 2D and 3D video stream
|
||||||
|
"""
|
||||||
|
import bge
|
||||||
|
from bge import logic
|
||||||
|
from bge import texture as vt
|
||||||
|
|
||||||
|
# The default vertex shader, because we need one
|
||||||
|
#
|
||||||
|
VertexShader = """
|
||||||
|
#version 130
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
|
||||||
|
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||||
|
}
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
# For use with RGB video stream: the pixel is directly usable
|
||||||
|
#
|
||||||
|
FragmentShader_R10l = """
|
||||||
|
#version 130
|
||||||
|
uniform sampler2D tex;
|
||||||
|
// stereo = 1.0 if 2D image, =0.5 if 3D (left eye below, right eye above)
|
||||||
|
uniform float stereo;
|
||||||
|
// eye = 0.0 for the left eye, 0.5 for the right eye
|
||||||
|
uniform float eye;
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
vec4 color;
|
||||||
|
float tx, ty;
|
||||||
|
tx = gl_TexCoord[0].x;
|
||||||
|
ty = eye+gl_TexCoord[0].y*stereo;
|
||||||
|
color = texture(tex, vec2(tx,ty));
|
||||||
|
color.a = 0.7;
|
||||||
|
gl_FragColor = color;
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
# For use with YUV video stream
|
||||||
|
#
|
||||||
|
FragmentShader_2vuy = """
|
||||||
|
#version 130
|
||||||
|
uniform sampler2D tex;
|
||||||
|
// stereo = 1.0 if 2D image, =0.5 if 3D (left eye below, right eye above)
|
||||||
|
uniform float stereo;
|
||||||
|
// eye = 0.0 for the left eye, 0.5 for the right eye
|
||||||
|
uniform float eye;
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
vec4 color;
|
||||||
|
float tx, ty, width, Y, Cb, Cr;
|
||||||
|
int px;
|
||||||
|
tx = gl_TexCoord[0].x;
|
||||||
|
ty = eye+gl_TexCoord[0].y*stereo;
|
||||||
|
width = float(textureSize(tex, 0).x);
|
||||||
|
color = texture(tex, vec2(tx, ty));
|
||||||
|
px = int(floor(fract(tx*width)*2.0));
|
||||||
|
switch (px) {
|
||||||
|
case 0:
|
||||||
|
Y = color.g;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
Y = color.a;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
Y = (Y - 0.0625) * 1.168949772;
|
||||||
|
Cb = (color.b - 0.0625) * 1.142857143 - 0.5;
|
||||||
|
Cr = (color.r - 0.0625) * 1.142857143 - 0.5;
|
||||||
|
color.r = Y + 1.5748 * Cr;
|
||||||
|
color.g = Y - 0.1873 * Cb - 0.4681 * Cr;
|
||||||
|
color.b = Y + 1.8556 * Cb;
|
||||||
|
color.a = 0.7;
|
||||||
|
gl_FragColor = color;
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
# For use with high resolution YUV
|
||||||
|
#
|
||||||
|
FragmentShader_v210 = """
|
||||||
|
#version 130
|
||||||
|
uniform sampler2D tex;
|
||||||
|
// stereo = 1.0 if 2D image, =0.5 if 3D (left eye below, right eye above)
|
||||||
|
uniform float stereo;
|
||||||
|
// eye = 0.0 for the left eye, 0.5 for the right eye
|
||||||
|
uniform float eye;
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
vec4 color, color1, color2, color3;
|
||||||
|
int px;
|
||||||
|
float tx, ty, width, sx, dx, bx, Y, Cb, Cr;
|
||||||
|
tx = gl_TexCoord[0].x;
|
||||||
|
ty = eye+gl_TexCoord[0].y*stereo;
|
||||||
|
width = float(textureSize(tex, 0).x);
|
||||||
|
// to sample macro pixels (6 pixels in 4 words)
|
||||||
|
sx = tx*width*0.25+0.01;
|
||||||
|
// index of display pixel in the macro pixel 0..5
|
||||||
|
px = int(floor(fract(sx)*6.0));
|
||||||
|
// increment as we sample the macro pixel
|
||||||
|
dx = 1.0/width;
|
||||||
|
// base x coord of macro pixel
|
||||||
|
bx = (floor(sx)+0.01)*dx*4.0;
|
||||||
|
color = texture(tex, vec2(bx, ty));
|
||||||
|
color1 = texture(tex, vec2(bx+dx, ty));
|
||||||
|
color2 = texture(tex, vec2(bx+dx*2.0, ty));
|
||||||
|
color3 = texture(tex, vec2(bx+dx*3.0, ty));
|
||||||
|
switch (px) {
|
||||||
|
case 0:
|
||||||
|
case 1:
|
||||||
|
Cb = color.b;
|
||||||
|
Cr = color.r;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
case 3:
|
||||||
|
Cb = color1.g;
|
||||||
|
Cr = color2.b;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Cb = color2.r;
|
||||||
|
Cr = color3.g;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
switch (px) {
|
||||||
|
case 0:
|
||||||
|
Y = color.g;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
Y = color1.b;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
Y = color1.r;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
Y = color2.g;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
Y = color3.b;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Y = color3.r;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
Y = (Y - 0.0625) * 1.168949772;
|
||||||
|
Cb = (Cb - 0.0625) * 1.142857143 - 0.5;
|
||||||
|
Cr = (Cr - 0.0625) * 1.142857143 - 0.5;
|
||||||
|
color.r = Y + 1.5748 * Cr;
|
||||||
|
color.g = Y - 0.1873 * Cb - 0.4681 * Cr;
|
||||||
|
color.b = Y + 1.8556 * Cb;
|
||||||
|
color.a = 0.7;
|
||||||
|
gl_FragColor = color;
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
# The exhausitve list of pixel formats that are transferred as float texture
|
||||||
|
# Only use those for greater efficiency and compatiblity.
|
||||||
|
#
|
||||||
|
fg_shaders = {
|
||||||
|
'2vuy' :FragmentShader_2vuy,
|
||||||
|
'8BitYUV' :FragmentShader_2vuy,
|
||||||
|
'v210' :FragmentShader_v210,
|
||||||
|
'10BitYUV' :FragmentShader_v210,
|
||||||
|
'8BitBGRA' :FragmentShader_R10l,
|
||||||
|
'BGRA' :FragmentShader_R10l,
|
||||||
|
'8BitARGB' :FragmentShader_R10l,
|
||||||
|
'10BitRGBXLE':FragmentShader_R10l,
|
||||||
|
'R10l' :FragmentShader_R10l
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Helper function to attach a pixel shader to the material that receives the video frame.
|
||||||
|
#
|
||||||
|
|
||||||
|
def config_video(obj, format, pixel, is3D=False, mat=0, card=0):
|
||||||
|
if pixel not in fg_shaders:
|
||||||
|
raise('Unsuported shader')
|
||||||
|
shader = obj.meshes[0].materials[mat].getShader()
|
||||||
|
if shader is not None and not shader.isValid():
|
||||||
|
shader.setSource(VertexShader, fg_shaders[pixel], True)
|
||||||
|
shader.setSampler('tex', 0)
|
||||||
|
shader.setUniformEyef("eye")
|
||||||
|
shader.setUniform1f("stereo", 0.5 if is3D else 1.0)
|
||||||
|
tex = vt.Texture(obj, mat)
|
||||||
|
tex.source = vt.VideoDeckLink(format + "/" + pixel + ("/3D" if is3D else ""), card)
|
||||||
|
print("frame rate: ", tex.source.framerate)
|
||||||
|
tex.source.play()
|
||||||
|
obj["video"] = tex
|
||||||
|
|
||||||
|
#
|
||||||
|
# Attach this function to an object that has a material with texture
|
||||||
|
# and call it once to initialize the object
|
||||||
|
#
|
||||||
|
def init(cont):
|
||||||
|
# config_video(cont.owner, 'HD720p5994', '8BitBGRA')
|
||||||
|
# config_video(cont.owner, 'HD720p5994', '8BitYUV')
|
||||||
|
# config_video(cont.owner, 'pal ', '10BitYUV')
|
||||||
|
config_video(cont.owner, 'pal ', '8BitYUV')
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# To be called on every frame
|
||||||
|
#
|
||||||
|
def play(cont):
|
||||||
|
obj = cont.owner
|
||||||
|
video = obj.get("video")
|
||||||
|
if video is not None:
|
||||||
|
video.refresh(True)
|
46
doc/python_api/examples/bge.texture.py
Normal file
46
doc/python_api/examples/bge.texture.py
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
"""
|
||||||
|
Basic Video Playback
|
||||||
|
++++++++++++++++++++
|
||||||
|
Example of how to replace a texture in game with a video.
|
||||||
|
It needs to run everyframe.
|
||||||
|
To avoid any confusion with the location of the file,
|
||||||
|
we will use ``GameLogic.expandPath()`` to build an absolute file name,
|
||||||
|
assuming the video file is in the same directory as the blend-file.
|
||||||
|
"""
|
||||||
|
import bge
|
||||||
|
from bge import texture
|
||||||
|
from bge import logic
|
||||||
|
|
||||||
|
cont = logic.getCurrentController()
|
||||||
|
obj = cont.owner
|
||||||
|
|
||||||
|
# the creation of the texture must be done once: save the
|
||||||
|
# texture object in an attribute of bge.logic module makes it persistent
|
||||||
|
if not hasattr(logic, 'video'):
|
||||||
|
|
||||||
|
# identify a static texture by name
|
||||||
|
matID = texture.materialID(obj, 'IMvideo.png')
|
||||||
|
|
||||||
|
# create a dynamic texture that will replace the static texture
|
||||||
|
logic.video = texture.Texture(obj, matID)
|
||||||
|
|
||||||
|
# define a source of image for the texture, here a movie
|
||||||
|
movie = logic.expandPath('//trailer_400p.ogg')
|
||||||
|
logic.video.source = texture.VideoFFmpeg(movie)
|
||||||
|
logic.video.source.scale = True
|
||||||
|
|
||||||
|
# Note that we can change the ``Texture`` source at any time.
|
||||||
|
# Suppose we want to switch between two movies during the game:
|
||||||
|
logic.mySources[0] = texture.VideoFFmpeg('movie1.avi')
|
||||||
|
logic.mySources[1] = texture.VideoFFmpeg('movie2.avi')
|
||||||
|
|
||||||
|
#And then assign (and reassign) the source during the game
|
||||||
|
logic.video.source = logic.mySources[movieSel]
|
||||||
|
|
||||||
|
# quick off the movie, but it wont play in the background
|
||||||
|
logic.video.source.play()
|
||||||
|
|
||||||
|
|
||||||
|
# Video playback is not a background process: it happens only when we refresh the texture.
|
||||||
|
# So you need to call this function every frame to ensure update of the texture.
|
||||||
|
logic.video.refresh(True)
|
@@ -2,45 +2,43 @@
|
|||||||
Hello World Text Example
|
Hello World Text Example
|
||||||
++++++++++++++++++++++++
|
++++++++++++++++++++++++
|
||||||
|
|
||||||
Example of using the blf module. For this module to work we
|
Blender Game Engine example of using the blf module. For this module to work we
|
||||||
need to use the OpenGL wrapper :class:`~bgl` as well.
|
need to use the OpenGL wrapper :class:`~bgl` as well.
|
||||||
"""
|
"""
|
||||||
|
# import game engine modules
|
||||||
|
from bge import render
|
||||||
|
from bge import logic
|
||||||
# import stand alone modules
|
# import stand alone modules
|
||||||
import bgl
|
import bgl
|
||||||
import blf
|
import blf
|
||||||
import bpy
|
|
||||||
|
|
||||||
font_info = {
|
|
||||||
"font_id": 0,
|
|
||||||
"handler": None,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
def init():
|
def init():
|
||||||
"""init function - runs once"""
|
"""init function - runs once"""
|
||||||
import os
|
# create a new font object, use external ttf file
|
||||||
# Create a new font object, use external ttf file.
|
font_path = logic.expandPath('//Zeyada.ttf')
|
||||||
font_path = bpy.path.abspath('//Zeyada.ttf')
|
# store the font indice - to use later
|
||||||
# Store the font indice - to use later.
|
logic.font_id = blf.load(font_path)
|
||||||
if os.path.exists(font_path):
|
|
||||||
font_info["font_id"] = blf.load(font_path)
|
|
||||||
else:
|
|
||||||
# Default font.
|
|
||||||
font_info["font_id"] = 0
|
|
||||||
|
|
||||||
# set the font drawing routine to run every frame
|
# set the font drawing routine to run every frame
|
||||||
font_info["handler"] = bpy.types.SpaceView3D.draw_handler_add(
|
scene = logic.getCurrentScene()
|
||||||
draw_callback_px, (None, None), 'WINDOW', 'POST_PIXEL')
|
scene.post_draw = [write]
|
||||||
|
|
||||||
|
|
||||||
def draw_callback_px(self, context):
|
def write():
|
||||||
"""Draw on the viewports"""
|
"""write on screen"""
|
||||||
|
width = render.getWindowWidth()
|
||||||
|
height = render.getWindowHeight()
|
||||||
|
|
||||||
|
# OpenGL setup
|
||||||
|
bgl.glMatrixMode(bgl.GL_PROJECTION)
|
||||||
|
bgl.glLoadIdentity()
|
||||||
|
bgl.gluOrtho2D(0, width, 0, height)
|
||||||
|
bgl.glMatrixMode(bgl.GL_MODELVIEW)
|
||||||
|
bgl.glLoadIdentity()
|
||||||
|
|
||||||
# BLF drawing routine
|
# BLF drawing routine
|
||||||
font_id = font_info["font_id"]
|
font_id = logic.font_id
|
||||||
blf.position(font_id, 2, 80, 0)
|
blf.position(font_id, (width * 0.2), (height * 0.3), 0)
|
||||||
blf.size(font_id, 50, 72)
|
blf.size(font_id, 50, 72)
|
||||||
blf.draw(font_id, "Hello World")
|
blf.draw(font_id, "Hello World")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
init()
|
|
||||||
|
@@ -10,22 +10,22 @@ bm = bmesh.new()
|
|||||||
|
|
||||||
# Add a circle XXX, should return all geometry created, not just verts.
|
# Add a circle XXX, should return all geometry created, not just verts.
|
||||||
bmesh.ops.create_circle(
|
bmesh.ops.create_circle(
|
||||||
bm,
|
bm,
|
||||||
cap_ends=False,
|
cap_ends=False,
|
||||||
radius=0.2,
|
radius=0.2,
|
||||||
segments=8)
|
segments=8)
|
||||||
|
|
||||||
|
|
||||||
# Spin and deal with geometry on side 'a'
|
# Spin and deal with geometry on side 'a'
|
||||||
edges_start_a = bm.edges[:]
|
edges_start_a = bm.edges[:]
|
||||||
geom_start_a = bm.verts[:] + edges_start_a
|
geom_start_a = bm.verts[:] + edges_start_a
|
||||||
ret = bmesh.ops.spin(
|
ret = bmesh.ops.spin(
|
||||||
bm,
|
bm,
|
||||||
geom=geom_start_a,
|
geom=geom_start_a,
|
||||||
angle=math.radians(180.0),
|
angle=math.radians(180.0),
|
||||||
steps=8,
|
steps=8,
|
||||||
axis=(1.0, 0.0, 0.0),
|
axis=(1.0, 0.0, 0.0),
|
||||||
cent=(0.0, 1.0, 0.0))
|
cent=(0.0, 1.0, 0.0))
|
||||||
edges_end_a = [ele for ele in ret["geom_last"]
|
edges_end_a = [ele for ele in ret["geom_last"]
|
||||||
if isinstance(ele, bmesh.types.BMEdge)]
|
if isinstance(ele, bmesh.types.BMEdge)]
|
||||||
del ret
|
del ret
|
||||||
@@ -33,8 +33,8 @@ del ret
|
|||||||
|
|
||||||
# Extrude and create geometry on side 'b'
|
# Extrude and create geometry on side 'b'
|
||||||
ret = bmesh.ops.extrude_edge_only(
|
ret = bmesh.ops.extrude_edge_only(
|
||||||
bm,
|
bm,
|
||||||
edges=edges_start_a)
|
edges=edges_start_a)
|
||||||
geom_extrude_mid = ret["geom"]
|
geom_extrude_mid = ret["geom"]
|
||||||
del ret
|
del ret
|
||||||
|
|
||||||
@@ -45,19 +45,19 @@ verts_extrude_b = [ele for ele in geom_extrude_mid
|
|||||||
edges_extrude_b = [ele for ele in geom_extrude_mid
|
edges_extrude_b = [ele for ele in geom_extrude_mid
|
||||||
if isinstance(ele, bmesh.types.BMEdge) and ele.is_boundary]
|
if isinstance(ele, bmesh.types.BMEdge) and ele.is_boundary]
|
||||||
bmesh.ops.translate(
|
bmesh.ops.translate(
|
||||||
bm,
|
bm,
|
||||||
verts=verts_extrude_b,
|
verts=verts_extrude_b,
|
||||||
vec=(0.0, 0.0, 1.0))
|
vec=(0.0, 0.0, 1.0))
|
||||||
|
|
||||||
|
|
||||||
# Create the circle on side 'b'
|
# Create the circle on side 'b'
|
||||||
ret = bmesh.ops.spin(
|
ret = bmesh.ops.spin(
|
||||||
bm,
|
bm,
|
||||||
geom=verts_extrude_b + edges_extrude_b,
|
geom=verts_extrude_b + edges_extrude_b,
|
||||||
angle=-math.radians(180.0),
|
angle=-math.radians(180.0),
|
||||||
steps=8,
|
steps=8,
|
||||||
axis=(1.0, 0.0, 0.0),
|
axis=(1.0, 0.0, 0.0),
|
||||||
cent=(0.0, 1.0, 1.0))
|
cent=(0.0, 1.0, 1.0))
|
||||||
edges_end_b = [ele for ele in ret["geom_last"]
|
edges_end_b = [ele for ele in ret["geom_last"]
|
||||||
if isinstance(ele, bmesh.types.BMEdge)]
|
if isinstance(ele, bmesh.types.BMEdge)]
|
||||||
del ret
|
del ret
|
||||||
@@ -65,30 +65,30 @@ del ret
|
|||||||
|
|
||||||
# Bridge the resulting edge loops of both spins 'a & b'
|
# Bridge the resulting edge loops of both spins 'a & b'
|
||||||
bmesh.ops.bridge_loops(
|
bmesh.ops.bridge_loops(
|
||||||
bm,
|
bm,
|
||||||
edges=edges_end_a + edges_end_b)
|
edges=edges_end_a + edges_end_b)
|
||||||
|
|
||||||
|
|
||||||
# Now we have made a links of the chain, make a copy and rotate it
|
# Now we have made a links of the chain, make a copy and rotate it
|
||||||
# (so this looks something like a chain)
|
# (so this looks something like a chain)
|
||||||
|
|
||||||
ret = bmesh.ops.duplicate(
|
ret = bmesh.ops.duplicate(
|
||||||
bm,
|
bm,
|
||||||
geom=bm.verts[:] + bm.edges[:] + bm.faces[:])
|
geom=bm.verts[:] + bm.edges[:] + bm.faces[:])
|
||||||
geom_dupe = ret["geom"]
|
geom_dupe = ret["geom"]
|
||||||
verts_dupe = [ele for ele in geom_dupe if isinstance(ele, bmesh.types.BMVert)]
|
verts_dupe = [ele for ele in geom_dupe if isinstance(ele, bmesh.types.BMVert)]
|
||||||
del ret
|
del ret
|
||||||
|
|
||||||
# position the new link
|
# position the new link
|
||||||
bmesh.ops.translate(
|
bmesh.ops.translate(
|
||||||
bm,
|
bm,
|
||||||
verts=verts_dupe,
|
verts=verts_dupe,
|
||||||
vec=(0.0, 0.0, 2.0))
|
vec=(0.0, 0.0, 2.0))
|
||||||
bmesh.ops.rotate(
|
bmesh.ops.rotate(
|
||||||
bm,
|
bm,
|
||||||
verts=verts_dupe,
|
verts=verts_dupe,
|
||||||
cent=(0.0, 1.0, 0.0),
|
cent=(0.0, 1.0, 0.0),
|
||||||
matrix=mathutils.Matrix.Rotation(math.radians(90.0), 3, 'Z'))
|
matrix=mathutils.Matrix.Rotation(math.radians(90.0), 3, 'Z'))
|
||||||
|
|
||||||
# Done with creating the mesh, simply link it into the scene so we can see it
|
# Done with creating the mesh, simply link it into the scene so we can see it
|
||||||
|
|
||||||
|
@@ -17,5 +17,4 @@ from bpy.app.handlers import persistent
|
|||||||
def load_handler(dummy):
|
def load_handler(dummy):
|
||||||
print("Load Handler:", bpy.data.filepath)
|
print("Load Handler:", bpy.data.filepath)
|
||||||
|
|
||||||
|
|
||||||
bpy.app.handlers.load_post.append(load_handler)
|
bpy.app.handlers.load_post.append(load_handler)
|
||||||
|
@@ -11,5 +11,4 @@ import bpy
|
|||||||
def my_handler(scene):
|
def my_handler(scene):
|
||||||
print("Frame Change", scene.frame_current)
|
print("Frame Change", scene.frame_current)
|
||||||
|
|
||||||
|
|
||||||
bpy.app.handlers.frame_change_pre.append(my_handler)
|
bpy.app.handlers.frame_change_pre.append(my_handler)
|
||||||
|
@@ -54,19 +54,19 @@ translations_tuple = (
|
|||||||
"Copyright (C) 2013 The Blender Foundation.",
|
"Copyright (C) 2013 The Blender Foundation.",
|
||||||
"This file is distributed under the same license as the Blender package.",
|
"This file is distributed under the same license as the Blender package.",
|
||||||
"FIRST AUTHOR <EMAIL@ADDRESS>, YEAR."))),
|
"FIRST AUTHOR <EMAIL@ADDRESS>, YEAR."))),
|
||||||
),
|
),
|
||||||
(("Operator", "Render: Copy Settings"),
|
(("Operator", "Render: Copy Settings"),
|
||||||
(("bpy.types.SCENE_OT_render_copy_settings",),
|
(("bpy.types.SCENE_OT_render_copy_settings",),
|
||||||
()),
|
()),
|
||||||
("fr_FR", "Rendu : copier réglages",
|
("fr_FR", "Rendu : copier réglages",
|
||||||
(False, ())),
|
(False, ())),
|
||||||
),
|
),
|
||||||
(("*", "Copy render settings from current scene to others"),
|
(("*", "Copy render settings from current scene to others"),
|
||||||
(("bpy.types.SCENE_OT_render_copy_settings",),
|
(("bpy.types.SCENE_OT_render_copy_settings",),
|
||||||
()),
|
()),
|
||||||
("fr_FR", "Copier les réglages de rendu depuis la scène courante vers d’autres",
|
("fr_FR", "Copier les réglages de rendu depuis la scène courante vers d’autres",
|
||||||
(False, ())),
|
(False, ())),
|
||||||
),
|
),
|
||||||
# ... etc, all messages from your addon.
|
# ... etc, all messages from your addon.
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -81,7 +81,6 @@ for msg in translations_tuple:
|
|||||||
|
|
||||||
# Define remaining addon (operators, UI...) here.
|
# Define remaining addon (operators, UI...) here.
|
||||||
|
|
||||||
|
|
||||||
def register():
|
def register():
|
||||||
# Usual operator/UI/etc. registration...
|
# Usual operator/UI/etc. registration...
|
||||||
|
|
||||||
|
@@ -20,6 +20,6 @@ The execution context is one of:
|
|||||||
'EXEC_SCREEN')
|
'EXEC_SCREEN')
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# collection add popup
|
# group add popup
|
||||||
import bpy
|
import bpy
|
||||||
bpy.ops.object.collection_instance_add('INVOKE_DEFAULT')
|
bpy.ops.object.group_instance_add('INVOKE_DEFAULT')
|
||||||
|
@@ -14,7 +14,6 @@ class MaterialSettings(bpy.types.PropertyGroup):
|
|||||||
my_float = bpy.props.FloatProperty()
|
my_float = bpy.props.FloatProperty()
|
||||||
my_string = bpy.props.StringProperty()
|
my_string = bpy.props.StringProperty()
|
||||||
|
|
||||||
|
|
||||||
bpy.utils.register_class(MaterialSettings)
|
bpy.utils.register_class(MaterialSettings)
|
||||||
|
|
||||||
bpy.types.Material.my_settings = \
|
bpy.types.Material.my_settings = \
|
||||||
|
@@ -14,7 +14,6 @@ class SceneSettingItem(bpy.types.PropertyGroup):
|
|||||||
name = bpy.props.StringProperty(name="Test Prop", default="Unknown")
|
name = bpy.props.StringProperty(name="Test Prop", default="Unknown")
|
||||||
value = bpy.props.IntProperty(name="Test Prop", default=22)
|
value = bpy.props.IntProperty(name="Test Prop", default=22)
|
||||||
|
|
||||||
|
|
||||||
bpy.utils.register_class(SceneSettingItem)
|
bpy.utils.register_class(SceneSettingItem)
|
||||||
|
|
||||||
bpy.types.Scene.my_settings = \
|
bpy.types.Scene.my_settings = \
|
||||||
|
@@ -14,7 +14,6 @@ import bpy
|
|||||||
def update_func(self, context):
|
def update_func(self, context):
|
||||||
print("my test function", self)
|
print("my test function", self)
|
||||||
|
|
||||||
|
|
||||||
bpy.types.Scene.testprop = bpy.props.FloatProperty(update=update_func)
|
bpy.types.Scene.testprop = bpy.props.FloatProperty(update=update_func)
|
||||||
|
|
||||||
bpy.context.scene.testprop = 11.0
|
bpy.context.scene.testprop = 11.0
|
||||||
|
@@ -19,7 +19,6 @@ def get_float(self):
|
|||||||
def set_float(self, value):
|
def set_float(self, value):
|
||||||
self["testprop"] = value
|
self["testprop"] = value
|
||||||
|
|
||||||
|
|
||||||
bpy.types.Scene.test_float = bpy.props.FloatProperty(get=get_float, set=set_float)
|
bpy.types.Scene.test_float = bpy.props.FloatProperty(get=get_float, set=set_float)
|
||||||
|
|
||||||
|
|
||||||
@@ -28,7 +27,6 @@ def get_date(self):
|
|||||||
import datetime
|
import datetime
|
||||||
return str(datetime.datetime.now())
|
return str(datetime.datetime.now())
|
||||||
|
|
||||||
|
|
||||||
bpy.types.Scene.test_date = bpy.props.StringProperty(get=get_date)
|
bpy.types.Scene.test_date = bpy.props.StringProperty(get=get_date)
|
||||||
|
|
||||||
|
|
||||||
@@ -42,7 +40,6 @@ def get_array(self):
|
|||||||
def set_array(self, values):
|
def set_array(self, values):
|
||||||
self["somebool"] = values[0] and values[1]
|
self["somebool"] = values[0] and values[1]
|
||||||
|
|
||||||
|
|
||||||
bpy.types.Scene.test_array = bpy.props.BoolVectorProperty(size=2, get=get_array, set=set_array)
|
bpy.types.Scene.test_array = bpy.props.BoolVectorProperty(size=2, get=get_array, set=set_array)
|
||||||
|
|
||||||
|
|
||||||
@@ -53,7 +50,7 @@ test_items = [
|
|||||||
("GREEN", "Green", "", 2),
|
("GREEN", "Green", "", 2),
|
||||||
("BLUE", "Blue", "", 3),
|
("BLUE", "Blue", "", 3),
|
||||||
("YELLOW", "Yellow", "", 4),
|
("YELLOW", "Yellow", "", 4),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def get_enum(self):
|
def get_enum(self):
|
||||||
@@ -64,7 +61,6 @@ def get_enum(self):
|
|||||||
def set_enum(self, value):
|
def set_enum(self, value):
|
||||||
print("setting value", value)
|
print("setting value", value)
|
||||||
|
|
||||||
|
|
||||||
bpy.types.Scene.test_enum = bpy.props.EnumProperty(items=test_items, get=get_enum, set=set_enum)
|
bpy.types.Scene.test_enum = bpy.props.EnumProperty(items=test_items, get=get_enum, set=set_enum)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@ bl_info = {
|
|||||||
"wiki_url": "",
|
"wiki_url": "",
|
||||||
"tracker_url": "",
|
"tracker_url": "",
|
||||||
"category": "Object",
|
"category": "Object",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
import bpy
|
import bpy
|
||||||
@@ -23,17 +23,17 @@ class ExampleAddonPreferences(AddonPreferences):
|
|||||||
bl_idname = __name__
|
bl_idname = __name__
|
||||||
|
|
||||||
filepath = StringProperty(
|
filepath = StringProperty(
|
||||||
name="Example File Path",
|
name="Example File Path",
|
||||||
subtype='FILE_PATH',
|
subtype='FILE_PATH',
|
||||||
)
|
)
|
||||||
number = IntProperty(
|
number = IntProperty(
|
||||||
name="Example Number",
|
name="Example Number",
|
||||||
default=4,
|
default=4,
|
||||||
)
|
)
|
||||||
boolean = BoolProperty(
|
boolean = BoolProperty(
|
||||||
name="Example Boolean",
|
name="Example Boolean",
|
||||||
default=False,
|
default=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
|
@@ -14,5 +14,4 @@ import bpy
|
|||||||
def menu_draw(self, context):
|
def menu_draw(self, context):
|
||||||
self.layout.operator("wm.save_homefile")
|
self.layout.operator("wm.save_homefile")
|
||||||
|
|
||||||
|
|
||||||
bpy.types.INFO_MT_file.append(menu_draw)
|
bpy.types.INFO_MT_file.append(menu_draw)
|
||||||
|
@@ -32,7 +32,7 @@ class AddPresetObjectDraw(AddPresetBase, Operator):
|
|||||||
# variable used for all preset values
|
# variable used for all preset values
|
||||||
preset_defines = [
|
preset_defines = [
|
||||||
"obj = bpy.context.object"
|
"obj = bpy.context.object"
|
||||||
]
|
]
|
||||||
|
|
||||||
# properties to store in the preset
|
# properties to store in the preset
|
||||||
preset_values = [
|
preset_values = [
|
||||||
@@ -42,7 +42,7 @@ class AddPresetObjectDraw(AddPresetBase, Operator):
|
|||||||
"obj.show_name",
|
"obj.show_name",
|
||||||
"obj.show_axis",
|
"obj.show_axis",
|
||||||
"obj.show_wire",
|
"obj.show_wire",
|
||||||
]
|
]
|
||||||
|
|
||||||
# where to store the preset
|
# where to store the preset
|
||||||
preset_subdir = "object/draw"
|
preset_subdir = "object/draw"
|
||||||
@@ -61,7 +61,7 @@ def panel_func(self, context):
|
|||||||
classes = (
|
classes = (
|
||||||
OBJECT_MT_draw_presets,
|
OBJECT_MT_draw_presets,
|
||||||
AddPresetObjectDraw,
|
AddPresetObjectDraw,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def register():
|
def register():
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user