diff options
author | Brad King <brad.king@kitware.com> | 2021-08-02 18:05:16 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-08-02 18:05:34 (GMT) |
commit | d14a1ae8593e5a2c312edd44e0b0055405b92107 (patch) | |
tree | f39b6c5ffa4a020ebc53a533e1b30f7fc9014109 | |
parent | 00535bab00e8dc4f447d462c6c665ed7a4cdb9b4 (diff) | |
parent | 7ce718376cb6853793a75ee9a6e22ecff04e75fe (diff) | |
download | CMake-d14a1ae8593e5a2c312edd44e0b0055405b92107.zip CMake-d14a1ae8593e5a2c312edd44e0b0055405b92107.tar.gz CMake-d14a1ae8593e5a2c312edd44e0b0055405b92107.tar.bz2 |
Merge topic 'nvhpc-MD-flag' into release-3.21
7ce718376c NVHPC: Support 21.07 change to '-MD' where it behaves like gcc
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6408
-rw-r--r-- | Modules/Compiler/NVHPC-C.cmake | 5 | ||||
-rw-r--r-- | Modules/Compiler/NVHPC-CXX.cmake | 5 | ||||
-rw-r--r-- | Modules/Compiler/NVHPC.cmake | 12 |
3 files changed, 12 insertions, 10 deletions
diff --git a/Modules/Compiler/NVHPC-C.cmake b/Modules/Compiler/NVHPC-C.cmake index a734edf..72c2656 100644 --- a/Modules/Compiler/NVHPC-C.cmake +++ b/Modules/Compiler/NVHPC-C.cmake @@ -4,9 +4,4 @@ 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 98d0022..ac75b53 100644 --- a/Modules/Compiler/NVHPC-CXX.cmake +++ b/Modules/Compiler/NVHPC-CXX.cmake @@ -4,9 +4,4 @@ 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) diff --git a/Modules/Compiler/NVHPC.cmake b/Modules/Compiler/NVHPC.cmake index 7048670..a85df71 100644 --- a/Modules/Compiler/NVHPC.cmake +++ b/Modules/Compiler/NVHPC.cmake @@ -12,4 +12,16 @@ include(Compiler/PGI) macro(__compiler_nvhpc lang) # Logic specific to NVHPC. + + if(CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 21.07) + set(CMAKE_DEPFILE_FLAGS_${lang} "-MD -MT <DEP_TARGET> -MF <DEP_FILE>") + set(CMAKE_${lang}_DEPFILE_FORMAT gcc) + set(CMAKE_${lang}_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_${lang}_DEPENDS_EXTRA_COMMANDS "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> ${CMAKE_${lang}_COMPILE_OPTIONS_EXPLICIT_LANGUAGE} -M <SOURCE> -MT <OBJECT> -MD<DEP_FILE>") + endif() + endmacro() |