summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler/NVHPC-C.cmake
diff options
context:
space:
mode:
authorRobert Maynard <rmaynard@nvidia.com>2021-10-06 20:21:29 (GMT)
committerRobert Maynard <rmaynard@nvidia.com>2021-10-06 20:21:29 (GMT)
commit1a828043b76d12882bea266148af0e73bb1de9d7 (patch)
tree702bca4597ca55253c925dd6c011d96b72cb6364 /Modules/Compiler/NVHPC-C.cmake
parent7612abd52f192a13848a4d74191633a008892449 (diff)
downloadCMake-1a828043b76d12882bea266148af0e73bb1de9d7.zip
CMake-1a828043b76d12882bea266148af0e73bb1de9d7.tar.gz
CMake-1a828043b76d12882bea266148af0e73bb1de9d7.tar.bz2
NVHPC: only use '-MD' for the C and CXX languages
CMake shouldn't use '-MD' for nvfortran to generate dependency information. Fixes #22723
Diffstat (limited to 'Modules/Compiler/NVHPC-C.cmake')
-rw-r--r--Modules/Compiler/NVHPC-C.cmake11
1 files changed, 11 insertions, 0 deletions
diff --git a/Modules/Compiler/NVHPC-C.cmake b/Modules/Compiler/NVHPC-C.cmake
index e37aad5..9295abd 100644
--- a/Modules/Compiler/NVHPC-C.cmake
+++ b/Modules/Compiler/NVHPC-C.cmake
@@ -9,4 +9,15 @@ if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 20.11)
set(CMAKE_C17_EXTENSION_COMPILE_OPTION -std=gnu17)
endif()
+if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 21.07)
+ set(CMAKE_DEPFILE_FLAGS_C "-MD -MT <DEP_TARGET> -MF <DEP_FILE>")
+ set(CMAKE_C_DEPFILE_FORMAT gcc)
+ set(CMAKE_C_DEPENDS_USE_COMPILER TRUE)
+else()
+ # Before NVHPC 21.07 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>")
+endif()
+
__compiler_nvhpc(C)