This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, master has been updated
       via  4b68baa776bf8ccc2911057fc79b558515438900 (commit)
       via  d4108f5585ae4e0ab79c9b192f9d6a0614f868cd (commit)
       via  99b9b01c020a0b20c0eefa73a39138471c01a053 (commit)
       via  e591e22d4c7d2b4d4806cf47923e54269644b2a2 (commit)
       via  7561fcda0918abf71b7fb0cfe67dd70fafe577ae (commit)
       via  f263650f95bdf87e2c50ada4a28d4fb729ac6f1c (commit)
       via  fada8cbfd6ae13d15b015f667a85096b15dc07b1 (commit)
       via  162555d7ecd510a84fb26a2ebc90f0a3e9eabc1a (commit)
       via  808b8180632aef06e7a3644fb4d3957722abc3f3 (commit)
       via  9fd602bfd33479b1acecd40e5c1b76ce37d59798 (commit)
       via  ec66af2026e085e7b648b222794f0f213183ea1e (commit)
       via  2d4787fc4ddc077e1d8fcb807768d1ecc7902a73 (commit)
       via  3475e2728bad16899b50131785a61f43083e8ba9 (commit)
       via  619416f8a30c99f87869559cf3829ce6d3431dca (commit)
      from  99496f57769a45fb664f6865bd6935d37fe45467 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4b68baa776bf8ccc2911057fc79b558515438900
commit 4b68baa776bf8ccc2911057fc79b558515438900
Merge: d4108f5 162555d
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Jun 4 12:32:11 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Tue Jun 4 08:32:19 2019 -0400

    Merge topic 'compiler_id_gen_exp_supports_multiple_ids'
    
    162555d7ec Help: Add release notes for updated generator expressions
    808b818063 Genex: CompileLang and CompileLangAndId now match against a list 
of ids
    9fd602bfd3 Genex: PlatformId now can match against a list of ids.
    ec66af2026 Genex: CompilerId now can match against a list of ids.
    2d4787fc4d Genex: Add more extensive support for an unbounded number of 
parameters
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3405


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d4108f5585ae4e0ab79c9b192f9d6a0614f868cd
commit d4108f5585ae4e0ab79c9b192f9d6a0614f868cd
Merge: 99b9b01 fada8cb
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Jun 4 12:30:18 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Tue Jun 4 08:30:26 2019 -0400

    Merge topic 'check_language_respects_cuda_host_compiler'
    
    fada8cbfd6 CheckLanguage: Report CMAKE_CUDA_HOST_COMPILER if needed for 
compilation
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3407


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=99b9b01c020a0b20c0eefa73a39138471c01a053
commit 99b9b01c020a0b20c0eefa73a39138471c01a053
Merge: e591e22 3475e27
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Jun 4 12:27:58 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Tue Jun 4 08:28:09 2019 -0400

    Merge topic 'print-correct-line-number'
    
    3475e2728b cmListFileCache: When missing ending ) print starting line 
instead of last one
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3398


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e591e22d4c7d2b4d4806cf47923e54269644b2a2
commit e591e22d4c7d2b4d4806cf47923e54269644b2a2
Merge: 7561fcd 619416f
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Jun 4 12:25:38 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Tue Jun 4 08:25:47 2019 -0400

    Merge topic 'better_error_message_for_visibility_preset_property'
    
    619416f8a3 The error message for VISIBILITY_PRESET now documents valid 
options.
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3409


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7561fcda0918abf71b7fb0cfe67dd70fafe577ae
commit 7561fcda0918abf71b7fb0cfe67dd70fafe577ae
Merge: 99496f5 f263650
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Jun 4 12:24:18 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Tue Jun 4 08:24:29 2019 -0400

    Merge topic 'test-explicit-dirs'
    
    f263650f95 Tests: Fix RunCMake.CommandLine test to use generator in no-S-B 
case
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3414


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f263650f95bdf87e2c50ada4a28d4fb729ac6f1c
commit f263650f95bdf87e2c50ada4a28d4fb729ac6f1c
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Mon Jun 3 14:57:19 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Jun 3 14:57:19 2019 -0400

    Tests: Fix RunCMake.CommandLine test to use generator in no-S-B case
    
    Apply the fix from commit baed22c4b0 (Tests: Fix RunCMake.CommandLine
    test to use generator with -S and -B, 2019-04-10) to the `no-S-B` case
    too.  It also generates a build system and should use the generator
    being tested.

diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake 
b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index cee996c..7798b62 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -68,6 +68,9 @@ run_cmake_command(cache-empty-entry
   ${CMAKE_COMMAND} --build ${RunCMake_SOURCE_DIR}/cache-empty-entry/)
 
 function(run_ExplicitDirs)
+  set(RunCMake_TEST_NO_CLEAN 1)
+  set(RunCMake_TEST_NO_SOURCE_DIR 1)
+
   set(source_dir ${RunCMake_BINARY_DIR}/ExplicitDirsMissing)
 
   file(REMOVE_RECURSE "${source_dir}")
@@ -76,16 +79,15 @@ function(run_ExplicitDirs)
 cmake_minimum_required(VERSION 3.13)
 project(ExplicitDirsMissing LANGUAGES NONE)
 ]=])
-  run_cmake_command(no-S-B ${CMAKE_COMMAND} -E chdir ${source_dir}
-    ${CMAKE_COMMAND} -DFOO=BAR)
+  set(RunCMake_TEST_SOURCE_DIR "${source_dir}")
+  set(RunCMake_TEST_BINARY_DIR "${source_dir}")
+  run_cmake_with_options(no-S-B -DFOO=BAR)
 
   set(source_dir ${RunCMake_SOURCE_DIR}/ExplicitDirs)
   set(binary_dir ${RunCMake_BINARY_DIR}/ExplicitDirs-build)
 
   set(RunCMake_TEST_SOURCE_DIR "${source_dir}")
   set(RunCMake_TEST_BINARY_DIR "${binary_dir}")
-  set(RunCMake_TEST_NO_CLEAN 1)
-  set(RunCMake_TEST_NO_SOURCE_DIR 1)
 
   file(REMOVE_RECURSE "${binary_dir}")
   run_cmake_with_options(S-arg -S ${source_dir} ${binary_dir})

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fada8cbfd6ae13d15b015f667a85096b15dc07b1
commit fada8cbfd6ae13d15b015f667a85096b15dc07b1
Author:     Robert Maynard <robert.mayn...@kitware.com>
AuthorDate: Fri May 31 08:39:16 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Jun 3 10:36:06 2019 -0400

    CheckLanguage: Report CMAKE_CUDA_HOST_COMPILER if needed for compilation
    
    Fixes: #19013

diff --git a/Modules/CheckLanguage.cmake b/Modules/CheckLanguage.cmake
index d096849..a1a3a7a 100644
--- a/Modules/CheckLanguage.cmake
+++ b/Modules/CheckLanguage.cmake
@@ -18,7 +18,9 @@ such as ``Fortran``.  If :variable:`CMAKE_<LANG>_COMPILER` is 
already defined
 the check does nothing.  Otherwise it tries enabling the language in a
 test project.  The result is cached in :variable:`CMAKE_<LANG>_COMPILER`
 as the compiler that was found, or ``NOTFOUND`` if the language cannot be
-enabled.
+enabled. For CUDA which can have an explicit host compiler, the cache
+:variable:`CMAKE_CUDA_HOST_COMPILER` variable will be set if it was required
+for compilation.
 
 Example:
 
@@ -39,13 +41,23 @@ macro(check_language lang)
     set(_desc "Looking for a ${lang} compiler")
     message(STATUS ${_desc})
     file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang})
-    file(WRITE 
"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang}/CMakeLists.txt"
+
+    set(extra_compiler_variables)
+    if(lang STREQUAL CUDA)
+      set(extra_compiler_variables "set(CMAKE_CUDA_HOST_COMPILER 
\\\"\${CMAKE_CUDA_HOST_COMPILER}\\\")")
+    endif()
+
+    set(content
       "cmake_minimum_required(VERSION ${CMAKE_VERSION})
 project(Check${lang} ${lang})
 file(WRITE \"\${CMAKE_CURRENT_BINARY_DIR}/result.cmake\"
   \"set(CMAKE_${lang}_COMPILER \\\"\${CMAKE_${lang}_COMPILER}\\\")\\n\"
-  )
-")
+  \"${extra_compiler_variables}\\n\"
+  )"
+    )
+
+    file(WRITE 
"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Check${lang}/CMakeLists.txt"
+      "${content}")
     if(CMAKE_GENERATOR_INSTANCE)
       set(_D_CMAKE_GENERATOR_INSTANCE 
"-DCMAKE_GENERATOR_INSTANCE:INTERNAL=${CMAKE_GENERATOR_INSTANCE}")
     else()
@@ -75,5 +87,12 @@ file(WRITE \"\${CMAKE_CURRENT_BINARY_DIR}/result.cmake\"
     message(STATUS "${_desc} - ${CMAKE_${lang}_COMPILER}")
     set(CMAKE_${lang}_COMPILER "${CMAKE_${lang}_COMPILER}" CACHE FILEPATH 
"${lang} compiler")
     mark_as_advanced(CMAKE_${lang}_COMPILER)
+
+    if(CMAKE_${lang}_HOST_COMPILER)
+      message(STATUS "Looking for a ${lang} host compiler - 
${CMAKE_${lang}_HOST_COMPILER}")
+      set(CMAKE_${lang}_HOST_COMPILER "${CMAKE_${lang}_HOST_COMPILER}" CACHE 
FILEPATH "${lang} host compiler")
+      mark_as_advanced(CMAKE_${lang}_HOST_COMPILER)
+    endif()
+
   endif()
 endmacro()
diff --git a/Tests/CMakeOnly/CheckLanguage/CMakeLists.txt 
b/Tests/CMakeOnly/CheckLanguage/CMakeLists.txt
index f5336dc..ca4becb 100644
--- a/Tests/CMakeOnly/CheckLanguage/CMakeLists.txt
+++ b/Tests/CMakeOnly/CheckLanguage/CMakeLists.txt
@@ -7,7 +7,8 @@ set(expect_C 1)
 set(expect_CXX 1)
 unset(expect_Fortran)
 set(expect_NoSuchLanguage 0)
-foreach(lang C CXX Fortran NoSuchLanguage)
+
+foreach(lang C CXX Fortran CUDA NoSuchLanguage)
   check_language(${lang})
   if(NOT DEFINED CMAKE_${lang}_COMPILER)
     message(FATAL_ERROR "check_language(${lang}) did not set result")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=162555d7ecd510a84fb26a2ebc90f0a3e9eabc1a
commit 162555d7ecd510a84fb26a2ebc90f0a3e9eabc1a
Author:     Robert Maynard <robert.mayn...@kitware.com>
AuthorDate: Thu May 30 16:46:22 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Jun 3 10:23:49 2019 -0400

    Help: Add release notes for updated generator expressions

diff --git a/Help/release/dev/genex-comma-separated.rst 
b/Help/release/dev/genex-comma-separated.rst
new file mode 100644
index 0000000..f27f781
--- /dev/null
+++ b/Help/release/dev/genex-comma-separated.rst
@@ -0,0 +1,8 @@
+genex-comma-separated
+---------------------
+
+* The :manual:`generator expressions <cmake-generator-expressions(7)>`
+  ``C_COMPILER_ID``, ``CXX_COMPILER_ID``, ``CUDA_COMPILER_ID``,
+  ``Fortran_COMPILER_ID``, ``COMPILE_LANGUAGE``, ``COMPILE_LANG_AND_ID``, and
+  ``PLATFORM_ID`` learned to support matching one value from a comma-separated
+  list.

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=808b8180632aef06e7a3644fb4d3957722abc3f3
commit 808b8180632aef06e7a3644fb4d3957722abc3f3
Author:     Robert Maynard <robert.mayn...@kitware.com>
AuthorDate: Thu May 30 10:00:19 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Jun 3 10:20:23 2019 -0400

    Genex: CompileLang and CompileLangAndId now match against a list of ids
    
    This allows for expressions such as:
    
     $<COMPILE_LANG_AND_ID, CXX, GNU, Clang>

diff --git a/Help/manual/cmake-generator-expressions.7.rst 
b/Help/manual/cmake-generator-expressions.7.rst
index 1136151..c0449fb 100644
--- a/Help/manual/cmake-generator-expressions.7.rst
+++ b/Help/manual/cmake-generator-expressions.7.rst
@@ -164,20 +164,20 @@ Variable Queries
 
 .. _`Boolean COMPILE_LANGUAGE Generator Expression`:
 
-``$<COMPILE_LANG_AND_ID:language,compiler_id>``
+``$<COMPILE_LANG_AND_ID:language,compiler_ids>``
   ``1`` when the language used for compilation unit matches ``language`` and
-  the CMake's compiler id of the language compiler matches ``compiler_id``,
-  otherwise ``0``. This expression is a short form for the combination of
-  ``$<COMPILE_LANGUAGE:language>`` and ``$<LANG_COMPILER_ID:compiler_id>``.
-  This expression may be used to specify compile options,
-  compile definitions, and include directories for source files of a
+  the CMake's compiler id of the language compiler matches any one of the
+  entries in ``compiler_ids``, otherwise ``0``. This expression is a short form
+  for the combination of ``$<COMPILE_LANGUAGE:language>`` and
+  ``$<LANG_COMPILER_ID:compiler_ids>``. This expression may be used to specify
+  compile options, compile definitions, and include directories for source 
files of a
   particular language and compiler combination in a target. For example:
 
   .. code-block:: cmake
 
     add_executable(myapp main.cpp foo.c bar.cpp zot.cu)
     target_compile_definitions(myapp
-      PRIVATE $<$<COMPILE_LANG_AND_ID:CXX,Clang>:COMPILING_CXX_WITH_CLANG>
+      PRIVATE 
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:COMPILING_CXX_WITH_CLANG>
               $<$<COMPILE_LANG_AND_ID:CXX,Intel>:COMPILING_CXX_WITH_INTEL>
               $<$<COMPILE_LANG_AND_ID:C,Clang>:COMPILING_C_WITH_CLANG>
     )
@@ -200,10 +200,10 @@ Variable Queries
               
$<$<AND:$<COMPILE_LANGUAGE:C>,$<C_COMPILER_ID:Clang>>:COMPILING_C_WITH_CLANG>
     )
 
-``$<COMPILE_LANGUAGE:language>``
-  ``1`` when the language used for compilation unit matches ``language``,
-  otherwise ``0``.  This expression may be used to specify compile options,
-  compile definitions, and include directories for source files of a
+``$<COMPILE_LANGUAGE:languages>``
+  ``1`` when the language used for compilation unit matches any of the entries
+  in ``languages``, otherwise ``0``.  This expression may be used to specify
+  compile options, compile definitions, and include directories for source 
files of a
   particular language in a target. For example:
 
   .. code-block:: cmake
@@ -217,7 +217,7 @@ Variable Queries
               $<$<COMPILE_LANGUAGE:CUDA>:COMPILING_CUDA>
     )
     target_include_directories(myapp
-      PRIVATE $<$<COMPILE_LANGUAGE:CXX>:/opt/foo/cxx_headers>
+      PRIVATE $<$<COMPILE_LANGUAGE:CXX,CUDA>:/opt/foo/headers>
     )
 
   This specifies the use of the ``-fno-exceptions`` compile option,
diff --git a/Source/cmGeneratorExpressionNode.cxx 
b/Source/cmGeneratorExpressionNode.cxx
index 4744309..a60c75c 100644
--- a/Source/cmGeneratorExpressionNode.cxx
+++ b/Source/cmGeneratorExpressionNode.cxx
@@ -951,7 +951,7 @@ static const struct CompileLanguageNode : public 
cmGeneratorExpressionNode
 {
   CompileLanguageNode() {} // NOLINT(modernize-use-equals-default)
 
-  int NumExpectedParameters() const override { return OneOrZeroParameters; }
+  int NumExpectedParameters() const override { return ZeroOrMoreParameters; }
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -982,7 +982,13 @@ static const struct CompileLanguageNode : public 
cmGeneratorExpressionNode
     if (parameters.empty()) {
       return context->Language;
     }
-    return context->Language == parameters.front() ? "1" : "0";
+
+    for (auto& param : parameters) {
+      if (context->Language == param) {
+        return "1";
+      }
+    }
+    return "0";
   }
 } languageNode;
 
@@ -990,7 +996,7 @@ static const struct CompileLanguageAndIdNode : public 
cmGeneratorExpressionNode
 {
   CompileLanguageAndIdNode() {} // NOLINT(modernize-use-equals-default)
 
-  int NumExpectedParameters() const override { return 2; }
+  int NumExpectedParameters() const override { return TwoOrMoreParameters; }
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -1023,7 +1029,8 @@ static const struct CompileLanguageAndIdNode : public 
cmGeneratorExpressionNode
 
     const std::string& lang = context->Language;
     if (lang == parameters.front()) {
-      std::vector<std::string> idParameter = { parameters[1] };
+      std::vector<std::string> idParameter((parameters.cbegin() + 1),
+                                           parameters.cend());
       return CompilerIdNode{ lang.c_str() }.EvaluateWithLanguage(
         idParameter, context, content, dagChecker, lang);
     }
diff --git a/Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt 
b/Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt
index 7dc7995..a5bc1e1 100644
--- a/Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt
@@ -34,6 +34,7 @@ target_compile_definitions(consumer
     CONSUMER_LANG_$<COMPILE_LANGUAGE>
     LANG_IS_CXX=$<COMPILE_LANGUAGE:CXX>
     LANG_IS_C=$<COMPILE_LANGUAGE:C>
+    LANG_IS_C_OR_CXX=$<COMPILE_LANGUAGE:C,CXX>
 )
 if(CMAKE_GENERATOR MATCHES "Visual Studio|Xcode")
   target_compile_definitions(consumer
diff --git a/Tests/CMakeCommands/target_compile_definitions/consumer.c 
b/Tests/CMakeCommands/target_compile_definitions/consumer.c
index bacd4c4..bb65e01 100644
--- a/Tests/CMakeCommands/target_compile_definitions/consumer.c
+++ b/Tests/CMakeCommands/target_compile_definitions/consumer.c
@@ -35,6 +35,10 @@
 #  endif
 #endif
 
+#if !LANG_IS_C_OR_CXX
+#  error Expected LANG_IS_C_OR_CXX
+#endif
+
 void consumer_c()
 {
 }
diff --git a/Tests/CMakeCommands/target_compile_options/CMakeLists.txt 
b/Tests/CMakeCommands/target_compile_options/CMakeLists.txt
index ee187f5..a7055b1 100644
--- a/Tests/CMakeCommands/target_compile_options/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_compile_options/CMakeLists.txt
@@ -9,6 +9,7 @@ add_executable(target_compile_options
 target_compile_options(target_compile_options
   PRIVATE $<$<CXX_COMPILER_ID:AppleClang,Clang,GNU>:-DMY_PRIVATE_DEFINE>
   PUBLIC $<$<COMPILE_LANG_AND_ID:CXX,GNU>:-DMY_PUBLIC_DEFINE>
+  PUBLIC 
$<$<COMPILE_LANG_AND_ID:CXX,GNU,Clang,AppleClang>:-DMY_MUTLI_COMP_PUBLIC_DEFINE>
   INTERFACE $<$<CXX_COMPILER_ID:GNU>:-DMY_INTERFACE_DEFINE>
   INTERFACE 
$<$<CXX_COMPILER_ID:GNU,Clang,AppleClang>:-DMY_MULTI_COMP_INTERFACE_DEFINE>
 )
diff --git a/Tests/CMakeCommands/target_compile_options/consumer.cpp 
b/Tests/CMakeCommands/target_compile_options/consumer.cpp
index 5cbe049..78928b4 100644
--- a/Tests/CMakeCommands/target_compile_options/consumer.cpp
+++ b/Tests/CMakeCommands/target_compile_options/consumer.cpp
@@ -17,6 +17,10 @@
 #    error Expected MY_MULTI_COMP_INTERFACE_DEFINE
 #  endif
 
+#  ifndef MY_MUTLI_COMP_PUBLIC_DEFINE
+#    error Expected MY_MUTLI_COMP_PUBLIC_DEFINE
+#  endif
+
 #endif
 
 #ifdef DO_CLANG_TESTS
@@ -29,6 +33,10 @@
 #    error Expected MY_MULTI_COMP_INTERFACE_DEFINE
 #  endif
 
+#  ifndef MY_MUTLI_COMP_PUBLIC_DEFINE
+#    error Expected MY_MUTLI_COMP_PUBLIC_DEFINE
+#  endif
+
 #endif
 
 #ifndef CONSUMER_LANG_CXX
diff --git a/Tests/CMakeCommands/target_compile_options/main.cpp 
b/Tests/CMakeCommands/target_compile_options/main.cpp
index edefdf2..7608400 100644
--- a/Tests/CMakeCommands/target_compile_options/main.cpp
+++ b/Tests/CMakeCommands/target_compile_options/main.cpp
@@ -9,6 +9,10 @@
 #    error Expected MY_PUBLIC_DEFINE
 #  endif
 
+#  ifndef MY_MUTLI_COMP_PUBLIC_DEFINE
+#    error Expected MY_MUTLI_COMP_PUBLIC_DEFINE
+#  endif
+
 #  ifdef MY_INTERFACE_DEFINE
 #    error Unexpected MY_INTERFACE_DEFINE
 #  endif
@@ -25,6 +29,10 @@
 #    error Unexpected MY_PUBLIC_DEFINE
 #  endif
 
+#  ifndef MY_MUTLI_COMP_PUBLIC_DEFINE
+#    error Expected MY_MUTLI_COMP_PUBLIC_DEFINE
+#  endif
+
 #endif
 
 int main()
diff --git 
a/Tests/RunCMake/GeneratorExpression/COMPILE_LANG_AND_ID-add_custom_command-stderr.txt
 
b/Tests/RunCMake/GeneratorExpression/COMPILE_LANG_AND_ID-add_custom_command-stderr.txt
index fc3c3de..2ee96ed 100644
--- 
a/Tests/RunCMake/GeneratorExpression/COMPILE_LANG_AND_ID-add_custom_command-stderr.txt
+++ 
b/Tests/RunCMake/GeneratorExpression/COMPILE_LANG_AND_ID-add_custom_command-stderr.txt
@@ -3,7 +3,6 @@ CMake Error at COMPILE_LANG_AND_ID-add_custom_command.cmake:2 
\(add_custom_comma
 
     \$<COMPILE_LANG_AND_ID>
 
-  \$<COMPILE_LANG_AND_ID> expression requires 2 comma separated parameters,
-  but got 0 instead.
+  \$<COMPILE_LANG_AND_ID> expression requires at least two parameters.
 Call Stack \(most recent call first\):
   CMakeLists.txt:3 \(include\)
diff --git 
a/Tests/RunCMake/GeneratorExpression/COMPILE_LANG_AND_ID-target_sources-stderr.txt
 
b/Tests/RunCMake/GeneratorExpression/COMPILE_LANG_AND_ID-target_sources-stderr.txt
index 44d8684..3ecbdc3 100644
--- 
a/Tests/RunCMake/GeneratorExpression/COMPILE_LANG_AND_ID-target_sources-stderr.txt
+++ 
b/Tests/RunCMake/GeneratorExpression/COMPILE_LANG_AND_ID-target_sources-stderr.txt
@@ -3,7 +3,6 @@ CMake Error at COMPILE_LANG_AND_ID-target_sources.cmake:2 
\(target_sources\):
 
     \$<COMPILE_LANG_AND_ID>
 
-  \$<COMPILE_LANG_AND_ID> expression requires 2 comma separated parameters,
-  but got 0 instead.
+  \$<COMPILE_LANG_AND_ID> expression requires at least two parameters.
 Call Stack \(most recent call first\):
   CMakeLists.txt:3 \(include\)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9fd602bfd33479b1acecd40e5c1b76ce37d59798
commit 9fd602bfd33479b1acecd40e5c1b76ce37d59798
Author:     Robert Maynard <robert.mayn...@kitware.com>
AuthorDate: Wed May 29 14:55:45 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Jun 3 10:20:23 2019 -0400

    Genex: PlatformId now can match against a list of ids.

diff --git a/Help/manual/cmake-generator-expressions.7.rst 
b/Help/manual/cmake-generator-expressions.7.rst
index c03e701..1136151 100644
--- a/Help/manual/cmake-generator-expressions.7.rst
+++ b/Help/manual/cmake-generator-expressions.7.rst
@@ -110,9 +110,10 @@ Variable Queries
   The mapping in :prop_tgt:`MAP_IMPORTED_CONFIG_<CONFIG>` is also considered by
   this expression when it is evaluated on a property on an :prop_tgt:`IMPORTED`
   target.
-``$<PLATFORM_ID:platform_id>``
-  ``1`` if the CMake's platform id matches ``platform_id``
-  otherwise ``0``.
+``$<PLATFORM_ID:platform_ids>``
+  where ``platform_ids`` is a comma-separated list.
+  ``1`` if the CMake's platform id matches any one of the entries in
+  ``platform_ids``, otherwise ``0``.
   See also the :variable:`CMAKE_SYSTEM_NAME` variable.
 ``$<C_COMPILER_ID:compiler_ids>``
   where ``compiler_ids`` is a comma-separated list.
diff --git a/Source/cmGeneratorExpressionNode.cxx 
b/Source/cmGeneratorExpressionNode.cxx
index 7fcd3f3..4744309 100644
--- a/Source/cmGeneratorExpressionNode.cxx
+++ b/Source/cmGeneratorExpressionNode.cxx
@@ -776,7 +776,7 @@ struct PlatformIdNode : public cmGeneratorExpressionNode
 {
   PlatformIdNode() {} // NOLINT(modernize-use-equals-default)
 
-  int NumExpectedParameters() const override { return OneOrZeroParameters; }
+  int NumExpectedParameters() const override { return ZeroOrMoreParameters; }
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -794,8 +794,10 @@ struct PlatformIdNode : public cmGeneratorExpressionNode
       return parameters.front().empty() ? "1" : "0";
     }
 
-    if (parameters.front() == platformId) {
-      return "1";
+    for (auto& param : parameters) {
+      if (param == platformId) {
+        return "1";
+      }
     }
     return "0";
   }
diff --git a/Tests/GeneratorExpression/CMakeLists.txt 
b/Tests/GeneratorExpression/CMakeLists.txt
index 5ba0dc0..3ff2b85 100644
--- a/Tests/GeneratorExpression/CMakeLists.txt
+++ b/Tests/GeneratorExpression/CMakeLists.txt
@@ -220,6 +220,7 @@ add_custom_target(check-part3 ALL
     -Dtest_early_termination_2=$<$<1:>:,
     -Dsystem_name=${CMAKE_HOST_SYSTEM_NAME}
     -Dtest_platform_id=$<PLATFORM_ID>
+    -Dtest_platform_id_supported=$<PLATFORM_ID:Linux,Windows,Darwin>
     -Dtest_platform_id_Linux=$<PLATFORM_ID:Linux>
     -Dtest_platform_id_Windows=$<PLATFORM_ID:Windows>
     -Dtest_platform_id_Darwin=$<PLATFORM_ID:Darwin>
diff --git a/Tests/GeneratorExpression/check-part3.cmake 
b/Tests/GeneratorExpression/check-part3.cmake
index 9014406..4fb7308 100644
--- a/Tests/GeneratorExpression/check-part3.cmake
+++ b/Tests/GeneratorExpression/check-part3.cmake
@@ -28,11 +28,16 @@ check(test_early_termination_2 "$<:,")
 check(test_platform_id "${system_name}")
 foreach(system Linux Windows Darwin)
   if(system_name STREQUAL system)
+    check(test_platform_id_supported 1)
     check(test_platform_id_${system} 1)
+    set(platform_supported 1)
   else()
     check(test_platform_id_${system} 0)
   endif()
 endforeach()
+if(NOT platform_supported)
+  check(test_platform_id_supported 0)
+endif()
 check(lower_case "mi,xed")
 check(upper_case "MIX,ED")
 check(make_c_identifier "_4f_oo__bar__")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ec66af2026e085e7b648b222794f0f213183ea1e
commit ec66af2026e085e7b648b222794f0f213183ea1e
Author:     Robert Maynard <robert.mayn...@kitware.com>
AuthorDate: Wed May 29 14:55:18 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Jun 3 10:20:23 2019 -0400

    Genex: CompilerId now can match against a list of ids.
    
    This allows for expressions like:
     $<$<CXX_COMPILER_ID:Clang,GNU>:-DMY_PRIVATE_DEFINE>

diff --git a/Help/manual/cmake-generator-expressions.7.rst 
b/Help/manual/cmake-generator-expressions.7.rst
index f2e6597..c03e701 100644
--- a/Help/manual/cmake-generator-expressions.7.rst
+++ b/Help/manual/cmake-generator-expressions.7.rst
@@ -114,20 +114,25 @@ Variable Queries
   ``1`` if the CMake's platform id matches ``platform_id``
   otherwise ``0``.
   See also the :variable:`CMAKE_SYSTEM_NAME` variable.
-``$<C_COMPILER_ID:compiler_id>``
-  ``1`` if the CMake's compiler id of the C compiler matches ``compiler_id``,
-  otherwise ``0``.
+``$<C_COMPILER_ID:compiler_ids>``
+  where ``compiler_ids`` is a comma-separated list.
+  ``1`` if the CMake's compiler id of the C compiler matches any one
+  of the entries in ``compiler_ids``, otherwise ``0``.
   See also the :variable:`CMAKE_<LANG>_COMPILER_ID` variable.
-``$<CXX_COMPILER_ID:compiler_id>``
-  ``1`` if the CMake's compiler id of the CXX compiler matches ``compiler_id``,
-  otherwise ``0``.
-``$<CUDA_COMPILER_ID:compiler_id>``
-  ``1`` if the CMake's compiler id of the CUDA compiler matches 
``compiler_id``,
-  otherwise ``0``.
+``$<CXX_COMPILER_ID:compiler_ids>``
+  where ``compiler_ids`` is a comma-separated list.
+  ``1`` if the CMake's compiler id of the CXX compiler matches any one
+  of the entries in ``compiler_ids``, otherwise ``0``.
   See also the :variable:`CMAKE_<LANG>_COMPILER_ID` variable.
-``$<Fortran_COMPILER_ID:compiler_id>``
-  ``1`` if the CMake's compiler id of the Fortran compiler matches 
``compiler_id``,
-  otherwise ``0``.
+``$<CUDA_COMPILER_ID:compiler_ids>``
+  where ``compiler_ids`` is a comma-separated list.
+  ``1`` if the CMake's compiler id of the CUDA compiler matches any one
+  of the entries in ``compiler_ids``, otherwise ``0``.
+  See also the :variable:`CMAKE_<LANG>_COMPILER_ID` variable.
+``$<Fortran_COMPILER_ID:compiler_ids>``
+  where ``compiler_ids`` is a comma-separated list.
+  ``1`` if the CMake's compiler id of the Fortran compiler matches any one
+  of the entries in ``compiler_ids``, otherwise ``0``.
   See also the :variable:`CMAKE_<LANG>_COMPILER_ID` variable.
 ``$<C_COMPILER_VERSION:version>``
   ``1`` if the version of the C compiler matches ``version``, otherwise ``0``.
diff --git a/Source/cmGeneratorExpressionNode.cxx 
b/Source/cmGeneratorExpressionNode.cxx
index 68ef170..7fcd3f3 100644
--- a/Source/cmGeneratorExpressionNode.cxx
+++ b/Source/cmGeneratorExpressionNode.cxx
@@ -632,7 +632,7 @@ struct CompilerIdNode : public cmGeneratorExpressionNode
   {
   }
 
-  int NumExpectedParameters() const override { return OneOrZeroParameters; }
+  int NumExpectedParameters() const override { return ZeroOrMoreParameters; }
 
   std::string Evaluate(
     const std::vector<std::string>& parameters,
@@ -664,36 +664,39 @@ struct CompilerIdNode : public cmGeneratorExpressionNode
     if (parameters.empty()) {
       return compilerId;
     }
-    static cmsys::RegularExpression compilerIdValidator("^[A-Za-z0-9_]*$");
-    if (!compilerIdValidator.find(parameters.front())) {
-      reportError(context, content->GetOriginalExpression(),
-                  "Expression syntax not recognized.");
-      return std::string();
-    }
     if (compilerId.empty()) {
       return parameters.front().empty() ? "1" : "0";
     }
+    static cmsys::RegularExpression compilerIdValidator("^[A-Za-z0-9_]*$");
 
-    if (strcmp(parameters.front().c_str(), compilerId.c_str()) == 0) {
-      return "1";
-    }
+    for (auto& param : parameters) {
 
-    if (cmsysString_strcasecmp(parameters.front().c_str(),
-                               compilerId.c_str()) == 0) {
-      switch (context->LG->GetPolicyStatus(cmPolicies::CMP0044)) {
-        case cmPolicies::WARN: {
-          std::ostringstream e;
-          e << cmPolicies::GetPolicyWarning(cmPolicies::CMP0044);
-          context->LG->GetCMakeInstance()->IssueMessage(
-            MessageType::AUTHOR_WARNING, e.str(), context->Backtrace);
-          CM_FALLTHROUGH;
+      if (!compilerIdValidator.find(param)) {
+        reportError(context, content->GetOriginalExpression(),
+                    "Expression syntax not recognized.");
+        return std::string();
+      }
+
+      if (strcmp(param.c_str(), compilerId.c_str()) == 0) {
+        return "1";
+      }
+
+      if (cmsysString_strcasecmp(param.c_str(), compilerId.c_str()) == 0) {
+        switch (context->LG->GetPolicyStatus(cmPolicies::CMP0044)) {
+          case cmPolicies::WARN: {
+            std::ostringstream e;
+            e << cmPolicies::GetPolicyWarning(cmPolicies::CMP0044);
+            context->LG->GetCMakeInstance()->IssueMessage(
+              MessageType::AUTHOR_WARNING, e.str(), context->Backtrace);
+            CM_FALLTHROUGH;
+          }
+          case cmPolicies::OLD:
+            return "1";
+          case cmPolicies::NEW:
+          case cmPolicies::REQUIRED_ALWAYS:
+          case cmPolicies::REQUIRED_IF_USED:
+            break;
         }
-        case cmPolicies::OLD:
-          return "1";
-        case cmPolicies::NEW:
-        case cmPolicies::REQUIRED_ALWAYS:
-        case cmPolicies::REQUIRED_IF_USED:
-          break;
       }
     }
     return "0";
diff --git a/Tests/CMakeCommands/target_compile_options/CMakeLists.txt 
b/Tests/CMakeCommands/target_compile_options/CMakeLists.txt
index a24cd53..ee187f5 100644
--- a/Tests/CMakeCommands/target_compile_options/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_compile_options/CMakeLists.txt
@@ -7,9 +7,10 @@ add_executable(target_compile_options
   "${CMAKE_CURRENT_SOURCE_DIR}/main.cpp"
 )
 target_compile_options(target_compile_options
-  PRIVATE $<$<CXX_COMPILER_ID:GNU>:-DMY_PRIVATE_DEFINE>
+  PRIVATE $<$<CXX_COMPILER_ID:AppleClang,Clang,GNU>:-DMY_PRIVATE_DEFINE>
   PUBLIC $<$<COMPILE_LANG_AND_ID:CXX,GNU>:-DMY_PUBLIC_DEFINE>
   INTERFACE $<$<CXX_COMPILER_ID:GNU>:-DMY_INTERFACE_DEFINE>
+  INTERFACE 
$<$<CXX_COMPILER_ID:GNU,Clang,AppleClang>:-DMY_MULTI_COMP_INTERFACE_DEFINE>
 )
 
 if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
@@ -17,6 +18,11 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
     PRIVATE
       "DO_GNU_TESTS"
   )
+elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+  target_compile_definitions(target_compile_options
+    PRIVATE
+      "DO_CLANG_TESTS"
+  )
 endif()
 
 add_executable(consumer
@@ -40,7 +46,7 @@ if(CMAKE_GENERATOR MATCHES "Visual Studio")
 endif()
 
 target_compile_options(consumer
-  PRIVATE 
$<$<CXX_COMPILER_ID:GNU>:$<TARGET_PROPERTY:target_compile_options,INTERFACE_COMPILE_OPTIONS>>
+  PRIVATE 
$<$<CXX_COMPILER_ID:GNU,Clang,AppleClang>:$<TARGET_PROPERTY:target_compile_options,INTERFACE_COMPILE_OPTIONS>>
 )
 
 if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
@@ -48,6 +54,11 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
     PRIVATE
       "DO_GNU_TESTS"
   )
+elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+  target_compile_definitions(consumer
+    PRIVATE
+      "DO_CLANG_TESTS"
+  )
 endif()
 
 # Test no items
diff --git a/Tests/CMakeCommands/target_compile_options/consumer.cpp 
b/Tests/CMakeCommands/target_compile_options/consumer.cpp
index fe79eb5..5cbe049 100644
--- a/Tests/CMakeCommands/target_compile_options/consumer.cpp
+++ b/Tests/CMakeCommands/target_compile_options/consumer.cpp
@@ -13,6 +13,22 @@
 #    error Expected MY_INTERFACE_DEFINE
 #  endif
 
+#  ifndef MY_MULTI_COMP_INTERFACE_DEFINE
+#    error Expected MY_MULTI_COMP_INTERFACE_DEFINE
+#  endif
+
+#endif
+
+#ifdef DO_CLANG_TESTS
+
+#  ifdef MY_PRIVATE_DEFINE
+#    error Unexpected MY_PRIVATE_DEFINE
+#  endif
+
+#  ifndef MY_MULTI_COMP_INTERFACE_DEFINE
+#    error Expected MY_MULTI_COMP_INTERFACE_DEFINE
+#  endif
+
 #endif
 
 #ifndef CONSUMER_LANG_CXX
diff --git a/Tests/CMakeCommands/target_compile_options/main.cpp 
b/Tests/CMakeCommands/target_compile_options/main.cpp
index 829a25e..edefdf2 100644
--- a/Tests/CMakeCommands/target_compile_options/main.cpp
+++ b/Tests/CMakeCommands/target_compile_options/main.cpp
@@ -15,6 +15,18 @@
 
 #endif
 
+#ifdef DO_CLANG_TESTS
+
+#  ifndef MY_PRIVATE_DEFINE
+#    error Expected MY_PRIVATE_DEFINE
+#  endif
+
+#  ifdef MY_PUBLIC_DEFINE
+#    error Unexpected MY_PUBLIC_DEFINE
+#  endif
+
+#endif
+
 int main()
 {
   return 0;
diff --git a/Tests/RunCMake/PolicyScope/dir1/CMakeLists.txt 
b/Tests/RunCMake/PolicyScope/dir1/CMakeLists.txt
index 16bcb36..66ff016 100644
--- a/Tests/RunCMake/PolicyScope/dir1/CMakeLists.txt
+++ b/Tests/RunCMake/PolicyScope/dir1/CMakeLists.txt
@@ -2,4 +2,4 @@
 
 add_library(foo STATIC foo.cpp)
 string(TOLOWER ${CMAKE_CXX_COMPILER_ID} compiler_id)
-target_compile_definitions(foo PRIVATE Foo=$<CXX_COMPILER_ID:${compiler_id}>)
+target_compile_definitions(foo PRIVATE 
Foo=$<CXX_COMPILER_ID:invalid,${compiler_id}>)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2d4787fc4ddc077e1d8fcb807768d1ecc7902a73
commit 2d4787fc4ddc077e1d8fcb807768d1ecc7902a73
Author:     Robert Maynard <robert.mayn...@kitware.com>
AuthorDate: Wed May 29 14:49:36 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Jun 3 10:20:22 2019 -0400

    Genex: Add more extensive support for an unbounded number of parameters
    
    Previously genex support for unbounded number of parameters required
    at least 1 parameter. We now support zero or more parameters, and two
    or more parameters.

diff --git a/Source/cmGeneratorExpressionEvaluator.cxx 
b/Source/cmGeneratorExpressionEvaluator.cxx
index 268de6f..7442018 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -166,9 +166,13 @@ std::string GeneratorExpressionContent::EvaluateParameters(
     reportError(context, this->GetOriginalExpression(),
                 "$<" + identifier +
                   "> expression requires at least one parameter.");
-  }
-  if (numExpected == cmGeneratorExpressionNode::OneOrZeroParameters &&
-      parameters.size() > 1) {
+  } else if (numExpected == cmGeneratorExpressionNode::TwoOrMoreParameters &&
+             parameters.size() < 2) {
+    reportError(context, this->GetOriginalExpression(),
+                "$<" + identifier +
+                  "> expression requires at least two parameters.");
+  } else if (numExpected == cmGeneratorExpressionNode::OneOrZeroParameters &&
+             parameters.size() > 1) {
     reportError(context, this->GetOriginalExpression(),
                 "$<" + identifier +
                   "> expression requires one or zero parameters.");
diff --git a/Source/cmGeneratorExpressionNode.h 
b/Source/cmGeneratorExpressionNode.h
index 3dbfc6e..7a36924 100644
--- a/Source/cmGeneratorExpressionNode.h
+++ b/Source/cmGeneratorExpressionNode.h
@@ -20,7 +20,9 @@ struct cmGeneratorExpressionNode
   {
     DynamicParameters = 0,
     OneOrMoreParameters = -1,
-    OneOrZeroParameters = -2
+    TwoOrMoreParameters = -2,
+    ZeroOrMoreParameters = -3,
+    OneOrZeroParameters = -4
   };
   virtual ~cmGeneratorExpressionNode() = default;
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3475e2728bad16899b50131785a61f43083e8ba9
commit 3475e2728bad16899b50131785a61f43083e8ba9
Author:     Bartosz Kosiorek <bartosz.kosio...@tomtom.com>
AuthorDate: Thu May 30 09:18:16 2019 +0200
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Jun 3 10:03:53 2019 -0400

    cmListFileCache: When missing ending ) print starting line instead of last 
one
    
    Fixes: #19301

diff --git a/Source/cmListFileCache.cxx b/Source/cmListFileCache.cxx
index f99caed..df0d00c 100644
--- a/Source/cmListFileCache.cxx
+++ b/Source/cmListFileCache.cxx
@@ -192,12 +192,9 @@ bool cmListFileParser::ParseFunction(const char* name, 
long line)
   }
 
   // Arguments.
-  unsigned long lastLine;
   unsigned long parenDepth = 0;
   this->Separation = SeparationOkay;
-  while (
-    (static_cast<void>(lastLine = cmListFileLexer_GetCurrentLine(this->Lexer)),
-     token = cmListFileLexer_Scan(this->Lexer))) {
+  while ((token = cmListFileLexer_Scan(this->Lexer))) {
     if (token->type == cmListFileLexer_Token_Space ||
         token->type == cmListFileLexer_Token_Newline) {
       this->Separation = SeparationOkay;
@@ -252,7 +249,7 @@ bool cmListFileParser::ParseFunction(const char* name, long 
line)
   std::ostringstream error;
   cmListFileContext lfc;
   lfc.FilePath = this->FileName;
-  lfc.Line = lastLine;
+  lfc.Line = line;
   cmListFileBacktrace lfbt = this->Backtrace;
   lfbt = lfbt.Push(lfc);
   error << "Parse error.  Function missing ending \")\".  "
diff --git a/Tests/RunCMake/Syntax/UnterminatedCall1-stderr.txt 
b/Tests/RunCMake/Syntax/UnterminatedCall1-stderr.txt
index 3f52244..f3ee895 100644
--- a/Tests/RunCMake/Syntax/UnterminatedCall1-stderr.txt
+++ b/Tests/RunCMake/Syntax/UnterminatedCall1-stderr.txt
@@ -1,4 +1,4 @@
-CMake Error at UnterminatedCall1.cmake:2:
+CMake Error at UnterminatedCall1.cmake:1:
   Parse error.  Function missing ending "\)".  End of file reached.
 Call Stack \(most recent call first\):
   CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/Syntax/UnterminatedCall1.cmake 
b/Tests/RunCMake/Syntax/UnterminatedCall1.cmake
index 1166109..e1d2118 100644
--- a/Tests/RunCMake/Syntax/UnterminatedCall1.cmake
+++ b/Tests/RunCMake/Syntax/UnterminatedCall1.cmake
@@ -1 +1,4 @@
 message(
+
+
+message("Additional message")
diff --git a/Tests/RunCMake/Syntax/UnterminatedCall2-stderr.txt 
b/Tests/RunCMake/Syntax/UnterminatedCall2-stderr.txt
index 18656f7..04216c3 100644
--- a/Tests/RunCMake/Syntax/UnterminatedCall2-stderr.txt
+++ b/Tests/RunCMake/Syntax/UnterminatedCall2-stderr.txt
@@ -1,4 +1,4 @@
-CMake Error at UnterminatedCall2.cmake:4:
+CMake Error at UnterminatedCall2.cmake:3:
   Parse error.  Function missing ending "\)".  End of file reached.
 Call Stack \(most recent call first\):
   CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/Syntax/UnterminatedCall2.cmake 
b/Tests/RunCMake/Syntax/UnterminatedCall2.cmake
index 26e9e62..8d4088d 100644
--- a/Tests/RunCMake/Syntax/UnterminatedCall2.cmake
+++ b/Tests/RunCMake/Syntax/UnterminatedCall2.cmake
@@ -1,3 +1,6 @@
 set(var "\
 ")
 message(
+
+
+message("Additional message")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=619416f8a30c99f87869559cf3829ce6d3431dca
commit 619416f8a30c99f87869559cf3829ce6d3431dca
Author:     Robert Maynard <robert.mayn...@kitware.com>
AuthorDate: Fri May 31 13:18:11 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Jun 3 09:56:03 2019 -0400

    The error message for VISIBILITY_PRESET now documents valid options.
    
    Rather than just state the value for VISIBILITY_PRESET was invalid,
    we additionally list the accepted values.

diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 87d2232..e20747f 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1914,7 +1914,9 @@ static void AddVisibilityCompileOption(std::string& flags,
       strcmp(prop, "protected") != 0 && strcmp(prop, "internal") != 0) {
     std::ostringstream e;
     e << "Target " << target->GetName() << " uses unsupported value \"" << prop
-      << "\" for " << flagDefine << ".";
+      << "\" for " << flagDefine << "."
+      << " The supported values are: default, hidden, protected, and "
+         "internal.";
     cmSystemTools::Error(e.str());
     return;
   }
diff --git a/Tests/RunCMake/VisibilityPreset/PropertyTypo-stderr.txt 
b/Tests/RunCMake/VisibilityPreset/PropertyTypo-stderr.txt
index ca8c33f..a63591f 100644
--- a/Tests/RunCMake/VisibilityPreset/PropertyTypo-stderr.txt
+++ b/Tests/RunCMake/VisibilityPreset/PropertyTypo-stderr.txt
@@ -1 +1 @@
-CMake Error: Target visibility_preset uses unsupported value \"hiden\" for 
CXX_VISIBILITY_PRESET
+CMake Error: Target visibility_preset uses unsupported value \"hiden\" for 
CXX_VISIBILITY_PRESET. The supported values are: default, hidden, protected, 
and internal.

-----------------------------------------------------------------------

Summary of changes:
 Help/manual/cmake-generator-expressions.7.rst      | 60 +++++++++--------
 Help/release/dev/genex-comma-separated.rst         |  8 +++
 Modules/CheckLanguage.cmake                        | 27 ++++++--
 Source/cmGeneratorExpressionEvaluator.cxx          | 10 ++-
 Source/cmGeneratorExpressionNode.cxx               | 76 +++++++++++++---------
 Source/cmGeneratorExpressionNode.h                 |  4 +-
 Source/cmListFileCache.cxx                         |  7 +-
 Source/cmLocalGenerator.cxx                        |  4 +-
 .../target_compile_definitions/CMakeLists.txt      |  1 +
 .../target_compile_definitions/consumer.c          |  4 ++
 .../target_compile_options/CMakeLists.txt          | 16 ++++-
 .../target_compile_options/consumer.cpp            | 24 +++++++
 .../CMakeCommands/target_compile_options/main.cpp  | 20 ++++++
 Tests/CMakeOnly/CheckLanguage/CMakeLists.txt       |  3 +-
 Tests/GeneratorExpression/CMakeLists.txt           |  1 +
 Tests/GeneratorExpression/check-part3.cmake        |  5 ++
 Tests/RunCMake/CommandLine/RunCMakeTest.cmake      | 10 +--
 ...MPILE_LANG_AND_ID-add_custom_command-stderr.txt |  3 +-
 .../COMPILE_LANG_AND_ID-target_sources-stderr.txt  |  3 +-
 Tests/RunCMake/PolicyScope/dir1/CMakeLists.txt     |  2 +-
 Tests/RunCMake/Syntax/UnterminatedCall1-stderr.txt |  2 +-
 Tests/RunCMake/Syntax/UnterminatedCall1.cmake      |  3 +
 Tests/RunCMake/Syntax/UnterminatedCall2-stderr.txt |  2 +-
 Tests/RunCMake/Syntax/UnterminatedCall2.cmake      |  3 +
 .../VisibilityPreset/PropertyTypo-stderr.txt       |  2 +-
 25 files changed, 212 insertions(+), 88 deletions(-)
 create mode 100644 Help/release/dev/genex-comma-separated.rst


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
https://cmake.org/mailman/listinfo/cmake-commits

Reply via email to