summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-05-05 09:31:21 -0400
committerBrad King <brad.king@kitware.com>2020-05-05 09:50:29 -0400
commit5b304a75033905a33841a396773d356349930030 (patch)
tree098105d02ec089c4eda0b59b835b01180ea2624f
parent4c82f309c59d02899145bc25c0e9efc91a6f64ed (diff)
downloadcmake-5b304a75033905a33841a396773d356349930030.tar.gz
CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILER
Fix the condition added by commit fada8cbfd6 (CheckLanguage: Report CMAKE_CUDA_HOST_COMPILER if needed for compilation, 2019-05-31, v3.15.0-rc1~12^2) to activate CUDA-specific logic. The old condition had worked in our test suite only by accident because the loop variable used in the test happened to be the name and value that the old condition used! Update the test to use a different name. Fixes: #19013
-rw-r--r--Modules/CheckLanguage.cmake2
-rw-r--r--Tests/CMakeOnly/CheckLanguage/CMakeLists.txt18
2 files changed, 10 insertions, 10 deletions
diff --git a/Modules/CheckLanguage.cmake b/Modules/CheckLanguage.cmake
index a1a3a7aaca..95e4fbe2e3 100644
--- a/Modules/CheckLanguage.cmake
+++ b/Modules/CheckLanguage.cmake
@@ -43,7 +43,7 @@ macro(check_language lang)
file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang})
set(extra_compiler_variables)
- if(lang STREQUAL CUDA)
+ if(${lang} STREQUAL CUDA)
set(extra_compiler_variables "set(CMAKE_CUDA_HOST_COMPILER \\\"\${CMAKE_CUDA_HOST_COMPILER}\\\")")
endif()
diff --git a/Tests/CMakeOnly/CheckLanguage/CMakeLists.txt b/Tests/CMakeOnly/CheckLanguage/CMakeLists.txt
index 90aa921f57..1570c37896 100644
--- a/Tests/CMakeOnly/CheckLanguage/CMakeLists.txt
+++ b/Tests/CMakeOnly/CheckLanguage/CMakeLists.txt
@@ -18,16 +18,16 @@ if(APPLE)
list(APPEND LANGUAGES OBJC OBJCXX)
endif()
-foreach(lang ${LANGUAGES})
- check_language(${lang})
- if(NOT DEFINED CMAKE_${lang}_COMPILER)
- message(FATAL_ERROR "check_language(${lang}) did not set result")
+foreach(test_lang ${LANGUAGES})
+ check_language(${test_lang})
+ if(NOT DEFINED CMAKE_${test_lang}_COMPILER)
+ message(FATAL_ERROR "check_language(${test_lang}) did not set result")
endif()
- if(DEFINED expect_${lang})
- if(expect_${lang} AND NOT CMAKE_${lang}_COMPILER)
- message(FATAL_ERROR "check_language(${lang}) should not fail!")
- elseif(NOT expect_${lang} AND CMAKE_${lang}_COMPILER)
- message(FATAL_ERROR "check_language(${lang}) should not succeed!")
+ if(DEFINED expect_${test_lang})
+ if(expect_${test_lang} AND NOT CMAKE_${test_lang}_COMPILER)
+ message(FATAL_ERROR "check_language(${test_lang}) should not fail!")
+ elseif(NOT expect_${test_lang} AND CMAKE_${test_lang}_COMPILER)
+ message(FATAL_ERROR "check_language(${test_lang}) should not succeed!")
endif()
endif()
endforeach()