File: IntelCompileFeatures.cmake

package info (click to toggle)
vecgeom 1.2.8%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 24,016 kB
  • sloc: cpp: 88,803; ansic: 6,888; python: 1,035; sh: 582; sql: 538; makefile: 23
file content (29 lines) | stat: -rw-r--r-- 1,401 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# - CXX compile features for Intel to support C++14/17 on CMake from 3.8
#
#-----------------------------------------------------------------------
# Add compile features for Intel - should eventually be placed
# into a module, as it will need exporting for use by clients
if(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
  # CMake 3.8,3.9,3.10 support up to 16.0, c++14
  #       3.11,3,12,3.13,3.14,3.15,3.16,3.17 support up to 18.0, c++17
  #       3.18... supports 19.0, c++20
  # So need to provide addons to provide c++17 on 3.8-3.10
  if(CMAKE_VERSION VERSION_LESS 3.11)
    if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
      if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0.0)
        set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-Qstd=c++17")
        set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-Qstd=c++17")

        list(APPEND CMAKE_CXX17_COMPILE_FEATURES cxx_std_17)
        set(CMAKE_CXX_COMPILE_FEATURES ${CMAKE_CXX_COMPILE_FEATURES} "${CMAKE_CXX17_COMPILE_FEATURES}")
      endif()
    else()
      if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0.0)
        set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std=c++17")
        set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++17")
        list(APPEND CMAKE_CXX17_COMPILE_FEATURES cxx_std_17)
        set(CMAKE_CXX_COMPILE_FEATURES ${CMAKE_CXX_COMPILE_FEATURES} "${CMAKE_CXX17_COMPILE_FEATURES}")
      endif()
    endif()
  endif()
endif()