NVHPC-CXX.cmake 885 B

12345678910111213141516171819202122
  1. include(Compiler/PGI-CXX)
  2. include(Compiler/NVHPC)
  3. # Needed so that we support `LANGUAGE` property correctly
  4. set(CMAKE_CXX_COMPILE_OPTIONS_EXPLICIT_LANGUAGE -x c++)
  5. if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 20.11)
  6. set(CMAKE_CXX20_STANDARD_COMPILE_OPTION -std=c++20)
  7. set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION -std=gnu++20)
  8. endif()
  9. if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 21.07)
  10. set(CMAKE_DEPFILE_FLAGS_CXX "-MD -MT <DEP_TARGET> -MF <DEP_FILE>")
  11. set(CMAKE_CXX_DEPFILE_FORMAT gcc)
  12. set(CMAKE_CXX_DEPENDS_USE_COMPILER TRUE)
  13. else()
  14. # Before NVHPC 21.07 the `-MD` flag implicitly
  15. # implies `-E` and therefore compilation and dependency generation
  16. # can't occur in the same invocation
  17. set(CMAKE_CXX_DEPENDS_EXTRA_COMMANDS "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -x c++ -M <SOURCE> -MT <OBJECT> -MD<DEP_FILE>")
  18. endif()
  19. __compiler_nvhpc(CXX)