diff options
Diffstat (limited to 'intern/cycles/cmake/external_libs.cmake')
-rw-r--r-- | intern/cycles/cmake/external_libs.cmake | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index d2f30fe764b..51830250f2e 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}") @@ -647,3 +649,22 @@ 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}") + else() + message(STATUS "oneAPI or Level Zero not found, disabling oneAPI device from Cycles") + set(WITH_CYCLES_DEVICE_ONEAPI OFF) + endif() +endif() + +unset(_cycles_lib_dir) |