summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/project/LanguagesDuplicate.cmake
diff options
context:
space:
mode:
authorfriendlyanon <friendlyanon_@hotmail.com>2022-06-30 18:51:18 (GMT)
committerfriendlyanon <friendlyanon_@hotmail.com>2022-06-30 21:37:05 (GMT)
commitb4fd385c9b467182d3572854168e2afa037210bc (patch)
treecb60099c2540550c09f2023ac5663e4a733a0e10 /Tests/RunCMake/project/LanguagesDuplicate.cmake
parent66bfe14309e9e8968a159d1eda7ed00322d5559d (diff)
downloadCMake-b4fd385c9b467182d3572854168e2afa037210bc.zip
CMake-b4fd385c9b467182d3572854168e2afa037210bc.tar.gz
CMake-b4fd385c9b467182d3572854168e2afa037210bc.tar.bz2
cmMakefile: Dedupe languages when enabling them
cmMakefile::EnableLanguage() now deduplicates the languages argument and emits an author warning listing the languages that were defined multiple times in a single call. Fixes: #23596
Diffstat (limited to 'Tests/RunCMake/project/LanguagesDuplicate.cmake')
-rw-r--r--Tests/RunCMake/project/LanguagesDuplicate.cmake11
1 files changed, 11 insertions, 0 deletions
diff --git a/Tests/RunCMake/project/LanguagesDuplicate.cmake b/Tests/RunCMake/project/LanguagesDuplicate.cmake
new file mode 100644
index 0000000..97a79d0
--- /dev/null
+++ b/Tests/RunCMake/project/LanguagesDuplicate.cmake
@@ -0,0 +1,11 @@
+cmake_policy(SET CMP0057 NEW)
+
+project(ProjectA C C C)
+project(ProjectB C C CXX CXX)
+
+get_property(langs GLOBAL PROPERTY ENABLED_LANGUAGES)
+foreach(lang C CXX)
+ if(NOT lang IN_LIST langs)
+ message(FATAL_ERROR "Expected language '${lang}' to be enabled.")
+ endif()
+endforeach()