Add Chromium-only Blender WebEngine parity work
This commit is contained in:
139
blender-5.2.0/build_files/cmake/Modules/FindSYCL.cmake
Normal file
139
blender-5.2.0/build_files/cmake/Modules/FindSYCL.cmake
Normal file
@@ -0,0 +1,139 @@
|
||||
# SPDX-FileCopyrightText: 2021-2022 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# - Find SYCL library
|
||||
# Find the native SYCL header and libraries needed by oneAPI implementation
|
||||
# This module defines
|
||||
# SYCL_COMPILER, compiler which will be used for compilation of SYCL code
|
||||
# SYCL_LIBRARY, libraries to link against in order to use SYCL.
|
||||
# SYCL_INCLUDE_DIR, directories where SYCL headers can be found
|
||||
# SYCL_ROOT_DIR, The base directory to search for SYCL files.
|
||||
# This can also be an environment variable.
|
||||
# SYCL_FOUND, If false, then don't try to use SYCL.
|
||||
|
||||
if(NOT (DEFINED SYCL_ROOT_DIR))
|
||||
set(SYCL_ROOT_DIR "")
|
||||
endif()
|
||||
|
||||
if(SYCL_ROOT_DIR)
|
||||
# Pass.
|
||||
elseif(DEFINED ENV{SYCL_ROOT_DIR} AND NOT $ENV{SYCL_ROOT_DIR} STREQUAL "")
|
||||
set(SYCL_ROOT_DIR $ENV{SYCL_ROOT_DIR})
|
||||
endif()
|
||||
|
||||
set(_sycl_SEARCH_DIRS
|
||||
${SYCL_ROOT_DIR}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/opt/intel/oneapi/compiler/latest/linux/
|
||||
C:/Program\ Files\ \(x86\)/Intel/oneAPI/compiler/latest/windows
|
||||
)
|
||||
|
||||
# Find DPC++ compiler.
|
||||
# Since the compiler name is possibly conflicting with the system-wide
|
||||
# CLang start with looking for either dpcpp or clang binary in the given
|
||||
# list of search paths only. If that fails, try to look for a system-wide
|
||||
# dpcpp binary.
|
||||
find_program(SYCL_COMPILER
|
||||
NAMES
|
||||
icpx
|
||||
dpcpp
|
||||
clang++
|
||||
HINTS
|
||||
${_sycl_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
bin
|
||||
NO_CMAKE_FIND_ROOT_PATH
|
||||
NAMES_PER_DIR
|
||||
)
|
||||
|
||||
# NOTE: No clang++ here so that we do not pick up a system-wide CLang
|
||||
# compiler.
|
||||
if(NOT SYCL_COMPILER)
|
||||
find_program(SYCL_COMPILER
|
||||
NAMES
|
||||
icpx
|
||||
dpcpp
|
||||
HINTS
|
||||
${_sycl_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
bin
|
||||
)
|
||||
endif()
|
||||
|
||||
find_library(SYCL_LIBRARY
|
||||
NAMES
|
||||
sycl10
|
||||
sycl9
|
||||
sycl8
|
||||
sycl7
|
||||
sycl6
|
||||
sycl
|
||||
HINTS
|
||||
${_sycl_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
lib64 lib
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
find_library(SYCL_LIBRARY_DEBUG
|
||||
NAMES
|
||||
sycl10d
|
||||
sycl9d
|
||||
sycl8d
|
||||
sycl7d
|
||||
sycl6d
|
||||
sycld
|
||||
HINTS
|
||||
${_sycl_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
lib64 lib
|
||||
)
|
||||
endif()
|
||||
|
||||
find_path(SYCL_INCLUDE_DIR
|
||||
NAMES
|
||||
sycl/sycl.hpp
|
||||
HINTS
|
||||
${_sycl_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
include
|
||||
)
|
||||
|
||||
if(EXISTS "${SYCL_INCLUDE_DIR}/sycl/version.hpp")
|
||||
file(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_major_version REGEX "^#define __LIBSYCL_MAJOR_VERSION[ \t].*$")
|
||||
string(REGEX MATCHALL "[0-9]+" _libsycl_major_version ${_libsycl_major_version})
|
||||
file(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_minor_version REGEX "^#define __LIBSYCL_MINOR_VERSION[ \t].*$")
|
||||
string(REGEX MATCHALL "[0-9]+" _libsycl_minor_version ${_libsycl_minor_version})
|
||||
file(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_patch_version REGEX "^#define __LIBSYCL_PATCH_VERSION[ \t].*$")
|
||||
string(REGEX MATCHALL "[0-9]+" _libsycl_patch_version ${_libsycl_patch_version})
|
||||
|
||||
set(SYCL_VERSION "${_libsycl_major_version}.${_libsycl_minor_version}.${_libsycl_patch_version}")
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_package_handle_standard_args(SYCL
|
||||
REQUIRED_VARS SYCL_LIBRARY SYCL_INCLUDE_DIR
|
||||
VERSION_VAR SYCL_VERSION
|
||||
)
|
||||
|
||||
if(SYCL_FOUND)
|
||||
set(SYCL_INCLUDE_DIR ${SYCL_INCLUDE_DIR} ${SYCL_INCLUDE_DIR}/sycl)
|
||||
if(WIN32 AND SYCL_LIBRARY_DEBUG)
|
||||
set(SYCL_LIBRARIES optimized ${SYCL_LIBRARY} debug ${SYCL_LIBRARY_DEBUG})
|
||||
else()
|
||||
set(SYCL_LIBRARIES ${SYCL_LIBRARY})
|
||||
endif()
|
||||
else()
|
||||
set(SYCL_FOUND FALSE)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
SYCL_COMPILER
|
||||
SYCL_INCLUDE_DIR
|
||||
SYCL_LIBRARY
|
||||
)
|
||||
|
||||
unset(_sycl_SEARCH_DIRS)
|
||||
Reference in New Issue
Block a user