summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-05-19 11:54:30 (GMT)
committerKitware Robot <kwrobot@kitware.com>2021-05-19 11:54:42 (GMT)
commitb78ba8bd31d59fb654108bb8f847176dd027757a (patch)
tree622c2e06980b49348711f9d67d65b5fcabb0b89f /Modules/Compiler
parent4b12aa6e6c193139feb55e865fa7c6783ffdccea (diff)
parent364f6af1d753bacf7a007033b30ebf2d6e15fe24 (diff)
downloadCMake-b78ba8bd31d59fb654108bb8f847176dd027757a.zip
CMake-b78ba8bd31d59fb654108bb8f847176dd027757a.tar.gz
CMake-b78ba8bd31d59fb654108bb8f847176dd027757a.tar.bz2
Merge topic 'nvhpc-ninja-depfile'
364f6af1d7 NVHPC: Support Ninja dependency scanning 521cfc38a3 NVHPC: Support explicit language flags Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6136
Diffstat (limited to 'Modules/Compiler')
-rw-r--r--Modules/Compiler/NVHPC-C.cmake9
-rw-r--r--Modules/Compiler/NVHPC-CXX.cmake9
2 files changed, 18 insertions, 0 deletions
diff --git a/Modules/Compiler/NVHPC-C.cmake b/Modules/Compiler/NVHPC-C.cmake
index d16c72b..a734edf 100644
--- a/Modules/Compiler/NVHPC-C.cmake
+++ b/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)
diff --git a/Modules/Compiler/NVHPC-CXX.cmake b/Modules/Compiler/NVHPC-CXX.cmake
index 18ace8b..98d0022 100644
--- a/Modules/Compiler/NVHPC-CXX.cmake
+++ b/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)