IntelLLVM-DetermineCompiler.cmake 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. set(_compiler_id_pp_test "(defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)")
  2. set(_compiler_id_version_compute "
  3. /* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
  4. * later. Look for 6 digit vs. 8 digit version number to decide encoding.
  5. * VVVV is no smaller than the current year when a version is released.
  6. */
  7. #if __INTEL_LLVM_COMPILER < 1000000L
  8. # define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__INTEL_LLVM_COMPILER/100)
  9. # define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(__INTEL_LLVM_COMPILER/10 % 10)
  10. # define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@(__INTEL_LLVM_COMPILER % 10)
  11. #else
  12. # define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__INTEL_LLVM_COMPILER/10000)
  13. # define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(__INTEL_LLVM_COMPILER/100 % 100)
  14. # define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@(__INTEL_LLVM_COMPILER % 100)
  15. #endif
  16. #if defined(_MSC_VER)
  17. /* _MSC_VER = VVRR */
  18. # define @PREFIX@SIMULATE_VERSION_MAJOR @MACRO_DEC@(_MSC_VER / 100)
  19. # define @PREFIX@SIMULATE_VERSION_MINOR @MACRO_DEC@(_MSC_VER % 100)
  20. #endif
  21. #if defined(__GNUC__)
  22. # define @PREFIX@SIMULATE_VERSION_MAJOR @MACRO_DEC@(__GNUC__)
  23. #elif defined(__GNUG__)
  24. # define @PREFIX@SIMULATE_VERSION_MAJOR @MACRO_DEC@(__GNUG__)
  25. #endif
  26. #if defined(__GNUC_MINOR__)
  27. # define @PREFIX@SIMULATE_VERSION_MINOR @MACRO_DEC@(__GNUC_MINOR__)
  28. #endif
  29. #if defined(__GNUC_PATCHLEVEL__)
  30. # define @PREFIX@SIMULATE_VERSION_PATCH @MACRO_DEC@(__GNUC_PATCHLEVEL__)
  31. #endif")
  32. set(_compiler_id_simulate "
  33. #if defined(_MSC_VER)
  34. # define @PREFIX@SIMULATE_ID \"MSVC\"
  35. #endif
  36. #if defined(__GNUC__)
  37. # define @PREFIX@SIMULATE_ID \"GNU\"
  38. #endif")