1include(Compiler/IntelLLVM)
2__compiler_intel_llvm(CXX)
3
4if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC")
5  set(CMAKE_CXX_COMPILE_OPTIONS_EXPLICIT_LANGUAGE -TP)
6  set(CMAKE_CXX_CLANG_TIDY_DRIVER_MODE "cl")
7  set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE_DRIVER_MODE "cl")
8  if((NOT DEFINED CMAKE_DEPENDS_USE_COMPILER OR CMAKE_DEPENDS_USE_COMPILER)
9      AND CMAKE_GENERATOR MATCHES "Makefiles|WMake"
10      AND CMAKE_DEPFILE_FLAGS_CXX)
11    set(CMAKE_CXX_DEPENDS_USE_COMPILER TRUE)
12  endif()
13else()
14  set(CMAKE_CXX_COMPILE_OPTIONS_EXPLICIT_LANGUAGE -x c++)
15  if((NOT DEFINED CMAKE_DEPENDS_USE_COMPILER OR CMAKE_DEPENDS_USE_COMPILER)
16      AND CMAKE_GENERATOR MATCHES "Makefiles|WMake"
17      AND CMAKE_DEPFILE_FLAGS_CXX)
18    # dependencies are computed by the compiler itself
19    set(CMAKE_CXX_DEPFILE_FORMAT gcc)
20    set(CMAKE_CXX_DEPENDS_USE_COMPILER TRUE)
21  endif()
22
23  set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
24
25  string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -DNDEBUG")
26  string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -DNDEBUG")
27  string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT " -DNDEBUG")
28endif()
29
30set(CMAKE_CXX98_STANDARD__HAS_FULL_SUPPORT ON)
31set(CMAKE_CXX11_STANDARD__HAS_FULL_SUPPORT ON)
32set(CMAKE_CXX14_STANDARD__HAS_FULL_SUPPORT ON)
33
34if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
35  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION  "-std=c++98")
36  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
37
38  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION  "-std=c++11")
39  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
40
41  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION  "-std=c++14")
42  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14")
43
44  set(CMAKE_CXX17_STANDARD_COMPILE_OPTION  "-std=c++17")
45  set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++17")
46
47  set(CMAKE_CXX20_STANDARD_COMPILE_OPTION  "-std=c++20")
48  set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-std=gnu++20")
49else()
50  set(CMAKE_CXX98_STANDARD_COMPILE_OPTION  "")
51  set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "")
52
53  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION  "-Qstd=c++11")
54  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-Qstd=c++11")
55
56  set(CMAKE_CXX14_STANDARD_COMPILE_OPTION  "-Qstd=c++14")
57  set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-Qstd=c++14")
58
59  set(CMAKE_CXX17_STANDARD_COMPILE_OPTION  "-Qstd=c++17")
60  set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-Qstd=c++17")
61
62  set(CMAKE_CXX20_STANDARD_COMPILE_OPTION  "-Qstd=c++20")
63  set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-Qstd=c++20")
64endif()
65
66__compiler_check_default_language_standard(CXX 2020 14)
67