Browse Source

Merge topic 'nvhpc-ninja-depfile' into release-3.20

364f6af1d7 NVHPC: Support Ninja dependency scanning
521cfc38a3 NVHPC: Support explicit language flags

Acked-by: Kitware Robot <[email protected]>
Merge-request: !6136
Brad King 4 years ago
parent
commit
c23e2fa0c5
2 changed files with 18 additions and 0 deletions
  1. 9 0
      Modules/Compiler/NVHPC-C.cmake
  2. 9 0
      Modules/Compiler/NVHPC-CXX.cmake

+ 9 - 0
Modules/Compiler/NVHPC-C.cmake

@@ -1,3 +1,12 @@
 include(Compiler/PGI-C)
 include(Compiler/NVHPC)
+
+# Needed so that we support `LANGUAGE` property correctly
+set(CMAKE_C_COMPILE_OPTIONS_EXPLICIT_LANGUAGE -x c)
+
+# Required since as of NVHPC 21.03 the `-MD` flag implicitly
+# implies `-E` and therefore compilation and dependency generation
+# can't occur in the same invocation
+set(CMAKE_C_DEPENDS_EXTRA_COMMANDS "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -x c -M <SOURCE> -MT <OBJECT> -MD<DEP_FILE>")
+
 __compiler_nvhpc(C)

+ 9 - 0
Modules/Compiler/NVHPC-CXX.cmake

@@ -1,3 +1,12 @@
 include(Compiler/PGI-CXX)
 include(Compiler/NVHPC)
+
+# Needed so that we support `LANGUAGE` property correctly
+set(CMAKE_CXX_COMPILE_OPTIONS_EXPLICIT_LANGUAGE -x c++)
+
+# Required since as of NVHPC 21.03 the `-MD` flag implicitly
+# implies `-E` and therefore compilation and dependency generation
+# can't occur in the same invocation
+set(CMAKE_CXX_DEPENDS_EXTRA_COMMANDS "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -x c++ -M <SOURCE> -MT <OBJECT> -MD<DEP_FILE>")
+
 __compiler_nvhpc(CXX)