diff options
author | Robert Maynard <rmaynard@nvidia.com> | 2021-10-06 20:21:29 (GMT) |
---|---|---|
committer | Robert Maynard <rmaynard@nvidia.com> | 2021-10-06 20:21:29 (GMT) |
commit | 1a828043b76d12882bea266148af0e73bb1de9d7 (patch) | |
tree | 702bca4597ca55253c925dd6c011d96b72cb6364 /Modules/Compiler/NVHPC-CXX.cmake | |
parent | 7612abd52f192a13848a4d74191633a008892449 (diff) | |
download | CMake-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-CXX.cmake')
-rw-r--r-- | Modules/Compiler/NVHPC-CXX.cmake | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Modules/Compiler/NVHPC-CXX.cmake b/Modules/Compiler/NVHPC-CXX.cmake index 534e822..59ba7bf 100644 --- a/Modules/Compiler/NVHPC-CXX.cmake +++ b/Modules/Compiler/NVHPC-CXX.cmake @@ -9,4 +9,14 @@ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 20.11) set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION -std=gnu++20) endif() +if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 21.07) + set(CMAKE_DEPFILE_FLAGS_CXX "-MD -MT <DEP_TARGET> -MF <DEP_FILE>") + set(CMAKE_CXX_DEPFILE_FORMAT gcc) + set(CMAKE_CXX_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_CXX_DEPENDS_EXTRA_COMMANDS "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -x c++ -M <SOURCE> -MT <OBJECT> -MD<DEP_FILE>") +endif() __compiler_nvhpc(CXX) |