From 740c223928d585cf07e1ed6c9e8ceaa88ec0c1ac Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Tue, 18 May 2021 11:30:01 -0400 Subject: [PATCH 1/2] NVHPC: Support explicit language flags --- Modules/Compiler/NVHPC-C.cmake | 4 ++++ Modules/Compiler/NVHPC-CXX.cmake | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/Modules/Compiler/NVHPC-C.cmake b/Modules/Compiler/NVHPC-C.cmake index d16c72b76e..72c26563f4 100644 --- a/Modules/Compiler/NVHPC-C.cmake +++ b/Modules/Compiler/NVHPC-C.cmake @@ -1,3 +1,7 @@ include(Compiler/PGI-C) include(Compiler/NVHPC) + +# Needed so that we support `LANGUAGE` property correctly +set(CMAKE_C_COMPILE_OPTIONS_EXPLICIT_LANGUAGE -x c) + __compiler_nvhpc(C) diff --git a/Modules/Compiler/NVHPC-CXX.cmake b/Modules/Compiler/NVHPC-CXX.cmake index 18ace8bfe6..ac75b53a40 100644 --- a/Modules/Compiler/NVHPC-CXX.cmake +++ b/Modules/Compiler/NVHPC-CXX.cmake @@ -1,3 +1,7 @@ include(Compiler/PGI-CXX) include(Compiler/NVHPC) + +# Needed so that we support `LANGUAGE` property correctly +set(CMAKE_CXX_COMPILE_OPTIONS_EXPLICIT_LANGUAGE -x c++) + __compiler_nvhpc(CXX) From a897ebe2c703a4d196ed648510dcbcb6ae8ab2ca Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Tue, 18 May 2021 11:30:36 -0400 Subject: [PATCH 2/2] NVHPC: Support Ninja dependency scanning Fixes: #22168 --- Modules/Compiler/NVHPC-C.cmake | 5 +++++ Modules/Compiler/NVHPC-CXX.cmake | 5 +++++ 2 files changed, 10 insertions(+) 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 " -x c -M -MT -MD") + __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 " -x c++ -M -MT -MD") + __compiler_nvhpc(CXX)