@@ -20,7 +20,7 @@ macro(ov_disable_deprecated_warnings)
20
20
else ()
21
21
set (ov_c_cxx_deprecated "-diag-disable=1478,1786" )
22
22
endif ()
23
- elseif (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
23
+ elseif (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_INTEL_LLVM )
24
24
set (ov_c_cxx_deprecated "-Wno-deprecated-declarations" )
25
25
else ()
26
26
message (WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID} " )
@@ -48,7 +48,7 @@ macro(ov_deprecated_no_errors)
48
48
else ()
49
49
set (ov_c_cxx_deprecated_no_errors "-diag-warning=1478,1786" )
50
50
endif ()
51
- elseif (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
51
+ elseif (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_INTEL_LLVM )
52
52
set (ov_c_cxx_deprecated_no_errors "-Wno-error=deprecated-declarations" )
53
53
# Suppress #warning messages
54
54
set (ov_c_cxx_deprecated_no_errors "${ov_c_cxx_deprecated_no_errors} -Wno-cpp" )
@@ -68,7 +68,7 @@ endmacro()
68
68
# Exports flags for 3rdparty modules, but without errors
69
69
#
70
70
macro (ov_dev_package_no_errors)
71
- if (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
71
+ if (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_INTEL_LLVM )
72
72
set (ov_c_cxx_dev_no_errors "-Wno-all" )
73
73
if (SUGGEST_OVERRIDE_SUPPORTED)
74
74
set (ov_cxx_dev_no_errors "-Wno-error=suggest-override" )
@@ -100,7 +100,7 @@ endmacro()
100
100
macro (ov_sse42_optimization_flags flags )
101
101
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" )
102
102
# No such option for MSVC 2019
103
- elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" )
103
+ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" OR OV_COMPILER_IS_INTEL_LLVM )
104
104
if (WIN32 )
105
105
set (${flags} /QxSSE4.2)
106
106
else ()
@@ -130,7 +130,7 @@ macro(ov_avx2_optimization_flags flags)
130
130
else ()
131
131
set (${flags} -xCORE-AVX2)
132
132
endif ()
133
- elseif (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
133
+ elseif (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_INTEL_LLVM )
134
134
set (${flags} -mavx2 -mfma -mf16c)
135
135
else ()
136
136
message (WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID} " )
@@ -152,7 +152,7 @@ macro(ov_avx512_optimization_flags flags)
152
152
else ()
153
153
set (${flags} -xCOMMON-AVX512)
154
154
endif ()
155
- elseif (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
155
+ elseif (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_INTEL_LLVM )
156
156
set (${flags} -mavx512f -mavx512bw -mavx512vl -mfma -mf16c)
157
157
else ()
158
158
message (WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID} " )
@@ -200,7 +200,7 @@ function(ov_disable_all_warnings)
200
200
201
201
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" )
202
202
target_compile_options (${target} PRIVATE /WX-)
203
- elseif (CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
203
+ elseif (CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG OR OV_COMPILER_IS_INTEL_LLVM )
204
204
target_compile_options (${target} PRIVATE -w)
205
205
# required for LTO
206
206
set (link_interface INTERFACE_LINK_OPTIONS)
@@ -239,7 +239,7 @@ endmacro()
239
239
function (ov_force_include target scope header_file)
240
240
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" )
241
241
target_compile_options (${target} ${scope} /FI"${header_file} " )
242
- elseif (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
242
+ elseif (OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_INTEL_LLVM )
243
243
target_compile_options (${target} ${scope} -include "${header_file} " )
244
244
else ()
245
245
message (WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID} " )
@@ -314,7 +314,7 @@ set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
314
314
if (CMAKE_CL_64 )
315
315
# Default char Type Is unsigned
316
316
# ov_add_compiler_flags(/J)
317
- elseif (CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
317
+ elseif (CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG OR OV_COMPILER_IS_INTEL_LLVM )
318
318
ov_add_compiler_flags(-fsigned-char)
319
319
endif ()
320
320
@@ -449,21 +449,11 @@ else()
449
449
# To guarantee OpenVINO can be used with gcc versions 7 through 12
450
450
# - https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html
451
451
# - https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html
452
- if (CMAKE_COMPILER_IS_GNUCXX)
453
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "8" )
454
- # Enable __FILE__ trim only for release mode
455
- set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR} /= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH} /=" )
456
- set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR} /= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH} /=" )
457
- endif ()
458
- # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wabi=11")
459
- endif ()
460
-
461
- if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
462
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "10" )
463
- # Enable __FILE__ trim only for release mode
464
- set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR} /= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH} /=" )
465
- set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR} /= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH} /=" )
466
- endif ()
452
+ if ((CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8) OR
453
+ (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10) OR OV_COMPILER_IS_INTEL_LLVM)
454
+ # Enable __FILE__ trim only for release mode
455
+ set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR} /= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH} /=" )
456
+ set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR} /= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH} /=" )
467
457
endif ()
468
458
469
459
#
@@ -483,6 +473,10 @@ else()
483
473
ov_add_compiler_flags(-diag-disable=remark,177,2196)
484
474
endif ()
485
475
476
+ if (OV_COMPILER_IS_INTEL_LLVM)
477
+ ov_add_compiler_flags(-Wno-tautological-constant-compare)
478
+ endif ()
479
+
486
480
#
487
481
# Linker flags
488
482
#
@@ -507,6 +501,11 @@ else()
507
501
endif ()
508
502
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections" )
509
503
endif ()
504
+
505
+ if (OV_COMPILER_IS_INTEL_LLVM)
506
+ set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-intel" )
507
+ set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-intel" )
508
+ endif ()
510
509
endif ()
511
510
512
511
add_compile_definitions (
0 commit comments