2d12766e78
The oneApi support has bit rotten since it was first introduced. Update the support to function with the latest 2023.0.0 release and add a check to only support that version or newer for now. Versions before 2021.2.0 have linker script failures. Various fixes made: * In the 2023.0.0 release, various binaries are in a llvm-bin path so add support to search in that path. This replaces the python search path that much older versions needed. * newlib isn't supported with oneApi so set TOOLCHAIN_HAS_NEWLIB to OFF to match that. * 2023.0.0 doesn't back llvm-nm, so use binutils version. This is expected to be fixed in 2023.1.0 release so add a check to handle either case. * Update compiler flag check based on clang to also support CMAKE_C_COMPILER_ID of "IntelLLVM" as that is how the oneApi toolchain reports itself. Signed-off-by: Kumar Gala <kumar.gala@intel.com>
25 lines
723 B
CMake
25 lines
723 B
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Copyright (c) 2023 Intel Corporation
|
|
#
|
|
# FindoneApi module for locating oneAPI compiler, icx.
|
|
#
|
|
# The module defines the following variables:
|
|
#
|
|
# 'oneApi_FOUND', 'ONEAPI_FOUND'
|
|
# True if the oneApi toolchain/compiler, icx, was found.
|
|
#
|
|
# 'ONEAPI_VERSION'
|
|
# The version of the oneAPI toolchain.
|
|
|
|
if(CMAKE_C_COMPILER)
|
|
# Parse the 'clang --version' output to find the installed version.
|
|
execute_process(COMMAND ${CMAKE_C_COMPILER} --version OUTPUT_VARIABLE ONEAPI_VERSION)
|
|
string(REGEX REPLACE "[^0-9]*([0-9.]+) .*" "\\1" ONEAPI_VERSION ${ONEAPI_VERSION})
|
|
endif()
|
|
|
|
find_package_handle_standard_args(oneApi
|
|
REQUIRED_VARS CMAKE_C_COMPILER
|
|
VERSION_VAR ONEAPI_VERSION
|
|
)
|