NVHPC-C.cmake 944 B

12345678910111213141516171819202122232425
  1. include(Compiler/PGI-C)
  2. include(Compiler/NVHPC)
  3. # Needed so that we support `LANGUAGE` property correctly
  4. set(CMAKE_C_COMPILE_OPTIONS_EXPLICIT_LANGUAGE -x c)
  5. set(CMAKE_C_COMPILE_OPTIONS_VISIBILITY "-fvisibility=")
  6. if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 20.11)
  7. set(CMAKE_C17_STANDARD_COMPILE_OPTION -std=c17)
  8. set(CMAKE_C17_EXTENSION_COMPILE_OPTION -std=gnu17)
  9. set(CMAKE_C_STANDARD_LATEST 17)
  10. endif()
  11. if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 21.07)
  12. set(CMAKE_DEPFILE_FLAGS_C "-MD -MT <DEP_TARGET> -MF <DEP_FILE>")
  13. set(CMAKE_C_DEPFILE_FORMAT gcc)
  14. set(CMAKE_C_DEPENDS_USE_COMPILER TRUE)
  15. else()
  16. # Before NVHPC 21.07 the `-MD` flag implicitly
  17. # implies `-E` and therefore compilation and dependency generation
  18. # can't occur in the same invocation
  19. set(CMAKE_C_DEPENDS_EXTRA_COMMANDS "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -x c -M <SOURCE> -MT <OBJECT> -MD<DEP_FILE>")
  20. endif()
  21. __compiler_nvhpc(C)