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:
Diffstat (limited to 'intern/cycles/cmake/external_libs.cmake')
-rw-r--r--intern/cycles/cmake/external_libs.cmake69
1 files changed, 39 insertions, 30 deletions
diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake
index d2f30fe764b..aaeb85f700d 100644
--- a/intern/cycles/cmake/external_libs.cmake
+++ b/intern/cycles/cmake/external_libs.cmake
@@ -91,6 +91,8 @@ if(CYCLES_STANDALONE_REPOSITORY)
_set_default(USD_ROOT_DIR "${_cycles_lib_dir}/usd")
_set_default(WEBP_ROOT_DIR "${_cycles_lib_dir}/webp")
_set_default(ZLIB_ROOT "${_cycles_lib_dir}/zlib")
+ _set_default(LEVEL_ZERO_ROOT_DIR "${_cycles_lib_dir}/level-zero")
+ _set_default(SYCL_ROOT_DIR "${_cycles_lib_dir}/dpcpp")
# Ignore system libraries
set(CMAKE_IGNORE_PATH "${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES};${CMAKE_SYSTEM_INCLUDE_PATH};${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES};${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}")
@@ -503,26 +505,19 @@ if(CYCLES_STANDALONE_REPOSITORY)
endif()
###########################################################################
-# GLEW
+# Epoxy
###########################################################################
if(CYCLES_STANDALONE_REPOSITORY)
if((WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI) OR
WITH_CYCLES_HYDRA_RENDER_DELEGATE)
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)
+ set(Epoxy_LIBRARIES "${_cycles_lib_dir}/epoxy/lib/epoxy.lib")
+ set(Epoxy_INCLUDE_DIRS "${_cycles_lib_dir}/epoxy/include")
else()
- find_package(GLEW REQUIRED)
+ find_package(Epoxy REQUIRED)
endif()
-
- set(CYCLES_GLEW_LIBRARIES ${GLEW_LIBRARY})
endif()
-else()
- # 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()
###########################################################################
@@ -555,25 +550,6 @@ if(EXISTS ${_cycles_lib_dir})
endif()
###########################################################################
-# OpenGL
-###########################################################################
-
-if((WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI) OR
- WITH_CYCLES_HYDRA_RENDER_DELEGATE)
- if(CYCLES_STANDALONE_REPOSITORY)
- if(NOT DEFINED OpenGL_GL_PREFERENCE)
- set(OpenGL_GL_PREFERENCE "LEGACY")
- endif()
-
- find_package(OpenGL REQUIRED)
-
- set(CYCLES_GL_LIBRARIES ${OPENGL_gl_LIBRARY})
- else()
- set(CYCLES_GL_LIBRARIES ${BLENDER_GL_LIBRARIES})
- endif()
-endif()
-
-###########################################################################
# SDL
###########################################################################
@@ -647,3 +623,36 @@ if(WITH_CYCLES_DEVICE_METAL)
message(STATUS "Found Metal: ${METAL_LIBRARY}")
endif()
endif()
+
+###########################################################################
+# oneAPI
+###########################################################################
+
+if(WITH_CYCLES_DEVICE_ONEAPI)
+ find_package(SYCL)
+ find_package(LevelZero)
+
+ if(SYCL_FOUND AND LEVEL_ZERO_FOUND)
+ message(STATUS "Found oneAPI: ${SYCL_LIBRARY}")
+ message(STATUS "Found Level Zero: ${LEVEL_ZERO_LIBRARY}")
+
+ if(WITH_CYCLES_ONEAPI_BINARIES)
+ if(NOT OCLOC_INSTALL_DIR)
+ get_filename_component(_sycl_compiler_root ${SYCL_COMPILER} DIRECTORY)
+ get_filename_component(OCLOC_INSTALL_DIR "${_sycl_compiler_root}/../lib/ocloc" ABSOLUTE)
+ unset(_sycl_compiler_root)
+ endif()
+
+ if(NOT EXISTS ${OCLOC_INSTALL_DIR})
+ message(STATUS "oneAPI ocloc not found in ${OCLOC_INSTALL_DIR}, disabling WITH_CYCLES_ONEAPI_BINARIES."
+ " A different ocloc directory can be set using OCLOC_INSTALL_DIR cmake variable.")
+ set(WITH_CYCLES_ONEAPI_BINARIES OFF)
+ endif()
+ endif()
+ else()
+ message(STATUS "oneAPI or Level Zero not found, disabling WITH_CYCLES_DEVICE_ONEAPI")
+ set(WITH_CYCLES_DEVICE_ONEAPI OFF)
+ endif()
+endif()
+
+unset(_cycles_lib_dir)