summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Maynard <rmaynard@nvidia.com>2021-05-18 11:30:36 -0400
committerRobert Maynard <rmaynard@nvidia.com>2021-05-18 12:56:46 -0400
commit364f6af1d753bacf7a007033b30ebf2d6e15fe24 (patch)
tree81bb51ed76e33b39c2a9f8ba1858cd3268a3f591
parent521cfc38a3faa9239015ceb8281800aa14a215cb (diff)
downloadcmake-364f6af1d753bacf7a007033b30ebf2d6e15fe24.tar.gz
NVHPC: Support Ninja dependency scanning
Fixes: #22168
-rw-r--r--Modules/Compiler/NVHPC-C.cmake5
-rw-r--r--Modules/Compiler/NVHPC-CXX.cmake5
2 files changed, 10 insertions, 0 deletions
diff --git a/Modules/Compiler/NVHPC-C.cmake b/Modules/Compiler/NVHPC-C.cmake
index 72c26563f4..a734edf198 100644
--- a/Modules/Compiler/NVHPC-C.cmake
+++ b/Modules/Compiler/NVHPC-C.cmake
@@ -4,4 +4,9 @@ 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)
diff --git a/Modules/Compiler/NVHPC-CXX.cmake b/Modules/Compiler/NVHPC-CXX.cmake
index ac75b53a40..98d0022576 100644
--- a/Modules/Compiler/NVHPC-CXX.cmake
+++ b/Modules/Compiler/NVHPC-CXX.cmake
@@ -4,4 +4,9 @@ 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)