Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2022-04-06 23:25:40 +0300
committerBrecht Van Lommel <brecht@blender.org>2022-04-07 20:52:53 +0300
commit0de0950ad5d1de5172cbd2b6b0e67fe319a420c1 (patch)
tree54a1a3e8abdb9733f5f9287496d03515c9ff5987
parent51a7e4b488a4df1ce6fec93ee599d70efdbf5e03 (diff)
Cycles: various Linux build fixes related to Hydra render delegate
* Add missing GLEW and hgiGL libraries for Hydra * Fix wrong case sensitive include * Fix link errors by adding external libs to static Hydra lib * Work around weird Hydra link error with MAX_SAMPLES * Use Embree by default for Hydra * Sync external libs code with standalone * Update version number to match Blender * Remove unneeded CLEW/GLEW from test executable None of this should affect Cycles in Blender. Ref T96731
-rw-r--r--intern/cycles/app/CMakeLists.txt28
-rw-r--r--intern/cycles/cmake/external_libs.cmake108
-rw-r--r--intern/cycles/cmake/macros.cmake41
-rw-r--r--intern/cycles/device/CMakeLists.txt1
-rw-r--r--intern/cycles/hydra/CMakeLists.txt18
-rw-r--r--intern/cycles/hydra/plugin.cpp2
-rw-r--r--intern/cycles/hydra/render_delegate.cpp3
-rw-r--r--intern/cycles/scene/scene.h2
-rw-r--r--intern/cycles/test/CMakeLists.txt9
-rw-r--r--intern/cycles/util/system.cpp1
-rw-r--r--intern/cycles/util/version.h8
11 files changed, 141 insertions, 80 deletions
diff --git a/intern/cycles/app/CMakeLists.txt b/intern/cycles/app/CMakeLists.txt
index 484d99c5ca7..872a95ed5a6 100644
--- a/intern/cycles/app/CMakeLists.txt
+++ b/intern/cycles/app/CMakeLists.txt
@@ -11,7 +11,7 @@ set(INC
set(INC_SYS
)
-set(LIBRARIES
+set(LIB
cycles_device
cycles_kernel
cycles_scene
@@ -33,27 +33,23 @@ if(WITH_ALEMBIC)
endif()
if(WITH_CYCLES_OSL)
- list(APPEND LIBRARIES cycles_kernel_osl)
+ list(APPEND LIB cycles_kernel_osl)
endif()
if(CYCLES_STANDALONE_REPOSITORY)
- list(APPEND LIBRARIES extern_sky)
+ list(APPEND LIB extern_sky)
else()
- list(APPEND LIBRARIES bf_intern_sky)
+ list(APPEND LIB bf_intern_sky)
endif()
if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI)
add_definitions(${GL_DEFINITIONS})
- list(APPEND INC_SYS
- ${GLEW_INCLUDE_DIR}
- ${SDL2_INCLUDE_DIRS}
- )
- list(APPEND LIBRARIES
- ${CYCLES_GL_LIBRARIES}
- ${SDL2_LIBRARIES}
- )
+ list(APPEND INC_SYS ${GLEW_INCLUDE_DIR} ${SDL2_INCLUDE_DIRS})
+ list(APPEND LIB ${CYCLES_GL_LIBRARIES} ${CYCLES_GLEW_LIBRARIES} ${SDL2_LIBRARIES})
endif()
+cycles_external_libraries_append(LIB)
+
# Common configuration.
include_directories(${INC})
@@ -84,8 +80,7 @@ if(WITH_CYCLES_STANDALONE)
add_executable(cycles ${SRC} ${INC} ${INC_SYS})
unset(SRC)
- target_link_libraries(cycles ${LIBRARIES})
- cycles_target_link_libraries(cycles)
+ target_link_libraries(cycles PRIVATE ${LIB})
if(APPLE)
if(WITH_OPENCOLORIO)
@@ -128,9 +123,12 @@ if(WITH_CYCLES_CUBIN_COMPILER)
set(INC
../../../extern/cuew/include
)
+ set(LIB
+ )
+ cycles_external_libraries_append(LIB)
add_executable(cycles_cubin_cc ${SRC})
include_directories(${INC})
- cycles_target_link_libraries(cycles_cubin_cc)
+ target_link_libraries(cycles_cubin_cc PRIVATE ${LIB})
unset(SRC)
unset(INC)
endif()
diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake
index 3ee92b7be88..0924b83201f 100644
--- a/intern/cycles/cmake/external_libs.cmake
+++ b/intern/cycles/cmake/external_libs.cmake
@@ -19,7 +19,11 @@ endmacro()
if(CYCLES_STANDALONE_REPOSITORY)
if(APPLE)
- set(_cycles_lib_dir "${CMAKE_SOURCE_DIR}/../lib/darwin")
+ if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64")
+ set(_cycles_lib_dir "${CMAKE_SOURCE_DIR}/../lib/darwin")
+ else()
+ set(_cycles_lib_dir "${CMAKE_SOURCE_DIR}/../lib/darwin_arm64")
+ endif()
elseif(WIN32)
if(CMAKE_CL_64)
set(_cycles_lib_dir "${CMAKE_SOURCE_DIR}/../lib/win64_vc15")
@@ -48,18 +52,24 @@ if(CYCLES_STANDALONE_REPOSITORY)
endif()
endif()
+ if(DEFINED _cycles_lib_dir)
+ message(STATUS "Using precompiled libraries at ${_cycles_lib_dir}")
+ endif()
+
# Avoid namespace pollustion.
unset(LIBDIR_NATIVE_ABI)
unset(LIBDIR_CENTOS7_ABI)
endif()
if(EXISTS ${_cycles_lib_dir})
+ _set_default(ALEMBIC_ROOT_DIR "${_cycles_lib_dir}/alembic")
_set_default(BOOST_ROOT "${_cycles_lib_dir}/boost")
_set_default(BLOSC_ROOT_DIR "${_cycles_lib_dir}/blosc")
_set_default(EMBREE_ROOT_DIR "${_cycles_lib_dir}/embree")
_set_default(GLEW_ROOT_DIR "${_cycles_lib_dir}/glew")
_set_default(JPEG_ROOT "${_cycles_lib_dir}/jpeg")
_set_default(LLVM_ROOT_DIR "${_cycles_lib_dir}/llvm")
+ _set_default(CLANG_ROOT_DIR "${_cycles_lib_dir}/llvm")
_set_default(OPENCOLORIO_ROOT_DIR "${_cycles_lib_dir}/opencolorio")
_set_default(OPENEXR_ROOT_DIR "${_cycles_lib_dir}/openexr")
_set_default(OPENIMAGEDENOISE_ROOT_DIR "${_cycles_lib_dir}/openimagedenoise")
@@ -110,7 +120,7 @@ if(CYCLES_STANDALONE_REPOSITORY)
set(ZLIB_LIBRARY ${_cycles_lib_dir}/zlib/lib/libz_st.lib)
set(ZLIB_DIR ${_cycles_lib_dir}/zlib)
set(ZLIB_FOUND ON)
- else()
+ elseif(NOT APPLE)
find_package(ZLIB REQUIRED)
endif()
endif()
@@ -179,6 +189,10 @@ if(CYCLES_STANDALONE_REPOSITORY)
find_package(JPEG REQUIRED)
find_package(TIFF REQUIRED)
+
+ if(EXISTS ${_cycles_lib_dir})
+ set(PNG_NAMES png16 libpng16 png libpng)
+ endif()
find_package(PNG REQUIRED)
endif()
@@ -252,6 +266,7 @@ if(CYCLES_STANDALONE_REPOSITORY AND WITH_CYCLES_OSL)
else()
find_package(OSL REQUIRED)
find_package(LLVM REQUIRED)
+ find_package(Clang REQUIRED)
endif()
endif()
@@ -312,12 +327,14 @@ if(CYCLES_STANDALONE_REPOSITORY)
set(BOOST_DEBUG_POSTFIX "vc141-mt-gd-x64-${BOOST_VERSION}.lib")
set(BOOST_LIBRARIES
optimized ${BOOST_ROOT}/lib/libboost_date_time-${BOOST_POSTFIX}
+ optimized ${BOOST_ROOT}/lib/libboost_iostreams-${BOOST_POSTFIX}
optimized ${BOOST_ROOT}/lib/libboost_filesystem-${BOOST_POSTFIX}
optimized ${BOOST_ROOT}/lib/libboost_regex-${BOOST_POSTFIX}
optimized ${BOOST_ROOT}/lib/libboost_system-${BOOST_POSTFIX}
optimized ${BOOST_ROOT}/lib/libboost_thread-${BOOST_POSTFIX}
optimized ${BOOST_ROOT}/lib/libboost_chrono-${BOOST_POSTFIX}
debug ${BOOST_ROOT}/lib/libboost_date_time-${BOOST_DEBUG_POSTFIX}
+ debug ${BOOST_ROOT}/lib/libboost_iostreams-${BOOST_DEBUG_POSTFIX}
debug ${BOOST_ROOT}/lib/libboost_filesystem-${BOOST_DEBUG_POSTFIX}
debug ${BOOST_ROOT}/lib/libboost_regex-${BOOST_DEBUG_POSTFIX}
debug ${BOOST_ROOT}/lib/libboost_system-${BOOST_DEBUG_POSTFIX}
@@ -330,7 +347,7 @@ if(CYCLES_STANDALONE_REPOSITORY)
debug ${BOOST_ROOT}/lib/libboost_wave-${BOOST_DEBUG_POSTFIX})
endif()
else()
- set(__boost_packages filesystem regex system thread date_time)
+ set(__boost_packages iostreams filesystem regex system thread date_time)
if(WITH_CYCLES_OSL)
list(APPEND __boost_packages wave)
endif()
@@ -517,17 +534,42 @@ endif()
# GLEW
###########################################################################
-if(CYCLES_STANDALONE_REPOSITORY)
- if(MSVC AND EXISTS ${_cycles_lib_dir})
- set(GLEW_LIBRARY "${_cycles_lib_dir}/opengl/lib/glew.lib")
- set(GLEW_INCLUDE_DIR "${_cycles_lib_dir}/opengl/include")
- add_definitions(-DGLEW_STATIC)
+if((WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI) OR
+ WITH_CYCLES_HYDRA_RENDER_DELEGATE)
+ if(CYCLES_STANDALONE_REPOSITORY)
+ if(MSVC AND EXISTS ${_cycles_lib_dir})
+ set(GLEW_LIBRARY "${_cycles_lib_dir}/opengl/lib/glew.lib")
+ set(GLEW_INCLUDE_DIR "${_cycles_lib_dir}/opengl/include")
+ add_definitions(-DGLEW_STATIC)
+ else()
+ find_package(GLEW REQUIRED)
+ endif()
+
+ set(CYCLES_GLEW_LIBRARIES ${GLEW_LIBRARY})
else()
- find_package(GLEW REQUIRED)
+ # Workaround for unconventional variable name use in Blender.
+ set(GLEW_INCLUDE_DIR "${GLEW_INCLUDE_PATH}")
+ set(CYCLES_GLEW_LIBRARIES bf_intern_glew_mx ${BLENDER_GLEW_LIBRARIES})
+ endif()
+endif()
+
+###########################################################################
+# Alembic
+###########################################################################
+
+if(WITH_CYCLES_ALEMBIC)
+ if(CYCLES_STANDALONE_REPOSITORY)
+ if(MSVC AND EXISTS ${_cycles_lib_dir})
+ set(ALEMBIC_INCLUDE_DIRS ${_cycles_lib_dir}/alembic/include)
+ set(ALEMBIC_LIBRARIES
+ optimized ${_cycles_lib_dir}/alembic/lib/Alembic.lib
+ debug ${_cycles_lib_dir}/alembic/lib/Alembic_d.lib)
+ else()
+ find_package(Alembic REQUIRED)
+ endif()
+
+ set(WITH_ALEMBIC ON)
endif()
-else()
- # Workaround for unconventional variable name use in Blender.
- set(GLEW_INCLUDE_DIR "${GLEW_INCLUDE_PATH}")
endif()
###########################################################################
@@ -537,29 +579,25 @@ endif()
# Detect system libraries again
if(EXISTS ${_cycles_lib_dir})
unset(CMAKE_IGNORE_PATH)
+ unset(_cycles_lib_dir)
endif()
###########################################################################
# OpenGL
###########################################################################
-if(CYCLES_STANDALONE_REPOSITORY)
- if(NOT DEFINED OpenGL_GL_PREFERENCE)
- set(OpenGL_GL_PREFERENCE "LEGACY")
- endif()
+if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI)
+ if(CYCLES_STANDALONE_REPOSITORY)
+ if(NOT DEFINED OpenGL_GL_PREFERENCE)
+ set(OpenGL_GL_PREFERENCE "LEGACY")
+ endif()
- find_package(OpenGL REQUIRED)
+ find_package(OpenGL REQUIRED)
- set(CYCLES_GL_LIBRARIES
- ${OPENGL_gl_LIBRARY}
- ${OPENGL_glu_LIBRARY}
- ${GLEW_LIBRARY}
- )
-else()
- set(CYCLES_GL_LIBRARIES
- bf_intern_glew_mx
- ${BLENDER_GL_LIBRARIES}
- ${BLENDER_GLEW_LIBRARIES})
+ set(CYCLES_GL_LIBRARIES ${OPENGL_gl_LIBRARY})
+ else()
+ set(CYCLES_GL_LIBRARIES ${BLENDER_GL_LIBRARIES})
+ endif()
endif()
###########################################################################
@@ -569,7 +607,7 @@ endif()
if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI)
# We can't use the version from the Blender precompiled libraries because
# it does not include the video subsystem.
- find_package(SDL2)
+ find_package(SDL2 REQUIRED)
if(NOT SDL2_FOUND)
set(WITH_CYCLES_STANDALONE_GUI OFF)
@@ -600,7 +638,6 @@ if(WITH_CYCLES_CUDA_BINARIES OR NOT WITH_CUDA_DYNLOAD)
endif()
endif()
-
###########################################################################
# HIP
###########################################################################
@@ -638,4 +675,15 @@ if(WITH_CYCLES_DEVICE_METAL)
endif()
endif()
-unset(_cycles_lib_dir)
+###########################################################################
+# macOS
+###########################################################################
+
+if(CYCLES_STANDALONE_REPOSITORY)
+ # On macOS, always use zlib from system.
+ if(APPLE)
+ set(ZLIB_ROOT /usr)
+ find_package(ZLIB REQUIRED)
+ find_package(PNG REQUIRED)
+ endif()
+endif()
diff --git a/intern/cycles/cmake/macros.cmake b/intern/cycles/cmake/macros.cmake
index 7c14fd87518..cd1db8e95a9 100644
--- a/intern/cycles/cmake/macros.cmake
+++ b/intern/cycles/cmake/macros.cmake
@@ -73,30 +73,39 @@ macro(cycles_add_library target library_deps)
cycles_set_solution_folder(${target})
endmacro()
-macro(cycles_target_link_libraries target)
+macro(cycles_external_libraries_append libraries)
if(WITH_CYCLES_LOGGING)
- target_link_libraries(${target} ${GLOG_LIBRARIES} ${GFLAGS_LIBRARIES})
+ list(APPEND ${libraries} ${GLOG_LIBRARIES} ${GFLAGS_LIBRARIES})
endif()
if(WITH_CYCLES_OSL)
- target_link_libraries(${target} ${OSL_LIBRARIES} ${LLVM_LIBRARY})
+ list(APPEND ${libraries} ${OSL_LIBRARIES} ${CLANG_LIBRARIES} ${LLVM_LIBRARY})
endif()
if(WITH_CYCLES_EMBREE)
- target_link_libraries(${target} ${EMBREE_LIBRARIES})
+ list(APPEND ${libraries} ${EMBREE_LIBRARIES})
endif()
if(WITH_OPENSUBDIV)
- target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
+ list(APPEND ${libraries} ${OPENSUBDIV_LIBRARIES})
endif()
if(WITH_OPENCOLORIO)
- target_link_libraries(${target} ${OPENCOLORIO_LIBRARIES})
+ list(APPEND ${libraries} ${OPENCOLORIO_LIBRARIES})
+ if(APPLE)
+ list(APPEND ${libraries} "-framework IOKit")
+ endif()
endif()
if(WITH_OPENVDB)
- target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${BLOSC_LIBRARIES})
+ list(APPEND ${libraries} ${OPENVDB_LIBRARIES} ${BLOSC_LIBRARIES})
endif()
if(WITH_OPENIMAGEDENOISE)
- target_link_libraries(${target} ${OPENIMAGEDENOISE_LIBRARIES})
+ list(APPEND ${libraries} ${OPENIMAGEDENOISE_LIBRARIES})
+ if(APPLE AND "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
+ list(APPEND ${libraries} "-framework Accelerate")
+ endif()
endif()
- target_link_libraries(
- ${target}
+ if(WITH_ALEMBIC)
+ list(APPEND ${libraries} ${ALEMBIC_LIBRARIES})
+ endif()
+
+ list(APPEND ${libraries}
${OPENIMAGEIO_LIBRARIES}
${PNG_LIBRARIES}
${JPEG_LIBRARIES}
@@ -115,26 +124,26 @@ macro(cycles_target_link_libraries target)
if(WITH_CYCLES_DEVICE_CUDA OR WITH_CYCLES_DEVICE_OPTIX)
if(WITH_CUDA_DYNLOAD)
- target_link_libraries(${target} extern_cuew)
+ list(APPEND ${libraries} extern_cuew)
else()
- target_link_libraries(${target} ${CUDA_CUDA_LIBRARY})
+ list(APPEND ${libraries} ${CUDA_CUDA_LIBRARY})
endif()
endif()
if(WITH_CYCLES_DEVICE_HIP AND WITH_HIP_DYNLOAD)
- target_link_libraries(${target} extern_hipew)
+ list(APPEND ${libraries} extern_hipew)
endif()
if(UNIX AND NOT APPLE)
if(CYCLES_STANDALONE_REPOSITORY)
- target_link_libraries(${target} extern_libc_compat)
+ list(APPEND ${libraries} extern_libc_compat)
else()
- target_link_libraries(${target} bf_intern_libc_compat)
+ list(APPEND ${libraries} bf_intern_libc_compat)
endif()
endif()
if(NOT CYCLES_STANDALONE_REPOSITORY)
- target_link_libraries(${target} bf_intern_guardedalloc)
+ list(APPEND ${libraries} bf_intern_guardedalloc)
endif()
endmacro()
diff --git a/intern/cycles/device/CMakeLists.txt b/intern/cycles/device/CMakeLists.txt
index d4e128093fa..6205775260a 100644
--- a/intern/cycles/device/CMakeLists.txt
+++ b/intern/cycles/device/CMakeLists.txt
@@ -8,7 +8,6 @@ set(INC
set(INC_SYS
${GLEW_INCLUDE_DIR}
- ../../../extern/clew/include
)
if(WITH_CYCLES_DEVICE_OPTIX OR WITH_CYCLES_DEVICE_CUDA)
diff --git a/intern/cycles/hydra/CMakeLists.txt b/intern/cycles/hydra/CMakeLists.txt
index d632cd01a02..72d5d0e3bf7 100644
--- a/intern/cycles/hydra/CMakeLists.txt
+++ b/intern/cycles/hydra/CMakeLists.txt
@@ -13,6 +13,14 @@ set(INC_SYS
${GLEW_INCLUDE_DIR}
)
+set(LIB
+ cycles_scene
+ cycles_session
+ cycles_graph
+ ${CYCLES_GLEW_LIBRARIES}
+)
+cycles_external_libraries_append(LIB)
+
set(INC_HD_CYCLES
attribute.h
camera.h
@@ -63,9 +71,6 @@ if(WITH_OPENVDB)
list(APPEND INC_SYS
${OPENVDB_INCLUDE_DIRS}
)
- list(APPEND LIB
- ${OPENVDB_LIBRARIES}
- )
endif()
include_directories(${INC})
@@ -94,10 +99,9 @@ target_link_libraries(hdCyclesStatic
PUBLIC
hd
hgi
+ hgiGL
PRIVATE
- cycles_scene
- cycles_session
- cycles_graph
+ ${LIB}
)
set(HdCyclesPluginName hdCycles)
@@ -124,8 +128,6 @@ target_link_libraries(${HdCyclesPluginName}
hdCyclesStatic
)
-cycles_target_link_libraries(${HdCyclesPluginName})
-
if(WITH_CYCLES_BLENDER)
set(CYCLES_HYDRA_INSTALL_PATH "../")
else()
diff --git a/intern/cycles/hydra/plugin.cpp b/intern/cycles/hydra/plugin.cpp
index 8caca3068df..2cbe232334a 100644
--- a/intern/cycles/hydra/plugin.cpp
+++ b/intern/cycles/hydra/plugin.cpp
@@ -7,7 +7,7 @@
#include "util/log.h"
#include "util/path.h"
-#include <pxr/base/arch/filesystem.h>
+#include <pxr/base/arch/fileSystem.h>
#include <pxr/base/plug/plugin.h>
#include <pxr/base/plug/thisPlugin.h>
#include <pxr/base/tf/envSetting.h>
diff --git a/intern/cycles/hydra/render_delegate.cpp b/intern/cycles/hydra/render_delegate.cpp
index 748b6a66e1e..a954c3e4d72 100644
--- a/intern/cycles/hydra/render_delegate.cpp
+++ b/intern/cycles/hydra/render_delegate.cpp
@@ -457,8 +457,9 @@ void HdCyclesDelegate::SetRenderSetting(const PXR_NS::TfToken &key, const PXR_NS
VtValue::Cast<double>(value).GetWithDefault(session->params.time_limit));
}
else if (key == HdCyclesRenderSettingsTokens->samples) {
+ static const int max_samples = Integrator::MAX_SAMPLES;
int samples = VtValue::Cast<int>(value).GetWithDefault(session->params.samples);
- samples = std::min(std::max(1, samples), Integrator::MAX_SAMPLES);
+ samples = std::min(std::max(1, samples), max_samples);
session->set_samples(samples);
}
else if (key == HdCyclesRenderSettingsTokens->sample_offset) {
diff --git a/intern/cycles/scene/scene.h b/intern/cycles/scene/scene.h
index 9e3e8d61b80..54c7d9d93ea 100644
--- a/intern/cycles/scene/scene.h
+++ b/intern/cycles/scene/scene.h
@@ -159,7 +159,7 @@ class SceneParams {
SceneParams()
{
shadingsystem = SHADINGSYSTEM_SVM;
- bvh_layout = BVH_LAYOUT_BVH2;
+ bvh_layout = BVH_LAYOUT_AUTO;
bvh_type = BVH_TYPE_DYNAMIC;
use_bvh_spatial_split = false;
use_bvh_compact_structure = true;
diff --git a/intern/cycles/test/CMakeLists.txt b/intern/cycles/test/CMakeLists.txt
index a2a51dc47fd..3f64febf4df 100644
--- a/intern/cycles/test/CMakeLists.txt
+++ b/intern/cycles/test/CMakeLists.txt
@@ -12,7 +12,7 @@ set(INC
..
)
-set(ALL_CYCLES_LIBRARIES
+set(LIB
cycles_kernel
cycles_integrator
cycles_scene
@@ -22,9 +22,9 @@ set(ALL_CYCLES_LIBRARIES
cycles_subd
cycles_device
cycles_util
- extern_clew
- ${CYCLES_GL_LIBRARIES}
)
+cycles_external_libraries_append(LIB)
+
include_directories(${INC})
set(SRC
@@ -59,6 +59,5 @@ if(NOT APPLE)
endif()
if(WITH_GTESTS)
- BLENDER_SRC_GTEST(cycles "${SRC}" "${ALL_CYCLES_LIBRARIES}")
- cycles_target_link_libraries(cycles_test)
+ BLENDER_SRC_GTEST(cycles "${SRC}" "${LIB}")
endif()
diff --git a/intern/cycles/util/system.cpp b/intern/cycles/util/system.cpp
index 3241601d048..a13ad95b9fe 100644
--- a/intern/cycles/util/system.cpp
+++ b/intern/cycles/util/system.cpp
@@ -20,6 +20,7 @@ OIIO_NAMESPACE_USING
# include <sys/ioctl.h>
# include <sys/sysctl.h>
# include <sys/types.h>
+# include <unistd.h>
#else
# include <sys/ioctl.h>
# include <unistd.h>
diff --git a/intern/cycles/util/version.h b/intern/cycles/util/version.h
index f13ba637424..8260dd4f55d 100644
--- a/intern/cycles/util/version.h
+++ b/intern/cycles/util/version.h
@@ -8,8 +8,8 @@
CCL_NAMESPACE_BEGIN
-#define CYCLES_VERSION_MAJOR 1
-#define CYCLES_VERSION_MINOR 13
+#define CYCLES_VERSION_MAJOR 3
+#define CYCLES_VERSION_MINOR 2
#define CYCLES_VERSION_PATCH 0
#define CYCLES_MAKE_VERSION_STRING2(a, b, c) #a "." #b "." #c
@@ -17,6 +17,10 @@ CCL_NAMESPACE_BEGIN
#define CYCLES_VERSION_STRING \
CYCLES_MAKE_VERSION_STRING(CYCLES_VERSION_MAJOR, CYCLES_VERSION_MINOR, CYCLES_VERSION_PATCH)
+/* Blender libraries version compatible with this version */
+
+#define CYCLES_BLENDER_LIBRARIES_VERSION 3.1
+
CCL_NAMESPACE_END
#endif /* __UTIL_VERSION_H__ */