annotate openmp/cmake/config-ix.cmake @ 236:c4bab56944e8 llvm-original

LLVM 16
author kono
date Wed, 09 Nov 2022 17:45:10 +0900
parents 1d019706d866
children 1f2b6ac9f198
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 include(CheckCXXCompilerFlag)
236
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
2 include(CheckCXXSourceCompiles)
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
3
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
4 # Check for oneAPI compiler (some older CMake versions detect as Clang)
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
5 if (CMAKE_C_COMPILER_ID STREQUAL "Clang")
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
6 check_cxx_source_compiles("#if (defined(__INTEL_CLANG_COMPILER) || defined(__INTEL_LLVM_COMPILER))
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
7 int main() { return 0; }
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
8 #else
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
9 not oneAPI
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
10 #endif" OPENMP_HAVE_ONEAPI_COMPILER)
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
11 if (OPENMP_HAVE_ONEAPI_COMPILER)
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
12 # According to CMake documentation, the compiler id should
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
13 # be IntelLLVM when detected oneAPI
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
14 set(CMAKE_C_COMPILER_ID "IntelLLVM")
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
15 set(CMAKE_CXX_COMPILER_ID "IntelLLVM")
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
16 endif()
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
17 endif()
150
anatofuz
parents:
diff changeset
18
anatofuz
parents:
diff changeset
19 check_cxx_compiler_flag(-Wall OPENMP_HAVE_WALL_FLAG)
anatofuz
parents:
diff changeset
20 check_cxx_compiler_flag(-Werror OPENMP_HAVE_WERROR_FLAG)
anatofuz
parents:
diff changeset
21
anatofuz
parents:
diff changeset
22 # Additional warnings that are not enabled by -Wall.
anatofuz
parents:
diff changeset
23 check_cxx_compiler_flag(-Wcast-qual OPENMP_HAVE_WCAST_QUAL_FLAG)
anatofuz
parents:
diff changeset
24 check_cxx_compiler_flag(-Wformat-pedantic OPENMP_HAVE_WFORMAT_PEDANTIC_FLAG)
anatofuz
parents:
diff changeset
25 check_cxx_compiler_flag(-Wimplicit-fallthrough OPENMP_HAVE_WIMPLICIT_FALLTHROUGH_FLAG)
anatofuz
parents:
diff changeset
26 check_cxx_compiler_flag(-Wsign-compare OPENMP_HAVE_WSIGN_COMPARE_FLAG)
anatofuz
parents:
diff changeset
27
anatofuz
parents:
diff changeset
28 # Warnings that we want to disable because they are too verbose or fragile.
236
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
29 check_cxx_compiler_flag(-Wno-enum-constexpr-conversion OPENMP_HAVE_WNO_ENUM_CONSTEXPR_CONVERSION_FLAG)
150
anatofuz
parents:
diff changeset
30 check_cxx_compiler_flag(-Wno-extra OPENMP_HAVE_WNO_EXTRA_FLAG)
anatofuz
parents:
diff changeset
31 check_cxx_compiler_flag(-Wno-pedantic OPENMP_HAVE_WNO_PEDANTIC_FLAG)
anatofuz
parents:
diff changeset
32 check_cxx_compiler_flag(-Wno-maybe-uninitialized OPENMP_HAVE_WNO_MAYBE_UNINITIALIZED_FLAG)
anatofuz
parents:
diff changeset
33
236
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
34 check_cxx_compiler_flag(-std=c++17 OPENMP_HAVE_STD_CPP17_FLAG)