[Cmake-commits] CMake branch, master, updated. v3.13.0-rc2-311-gbdc5618

Kitware Robot kwrobot at kitware.com
Fri Nov 2 08:05:13 EDT 2018


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  bdc5618e18b9868f46e48641cdd35f361199f28e (commit)
       via  a052479a5c75cc4e892fe68002bc0a4d97013a66 (commit)
       via  9578c3f0d18a5407a3106a6c487115947d1355e4 (commit)
       via  22ba9b6a328a0eea77559b2d607fe8d525445812 (commit)
       via  525ff0c3bc1f625756337c2ae724a58ec93ba4d1 (commit)
       via  87324b9b6a1f29a25c96149e165e99bebe750ef5 (commit)
       via  dfb3f58f79b05dfe7840373aa08a86204c94f33b (commit)
       via  bd9bfc644954a48b1bf7ea18fc260a1231840671 (commit)
       via  0033676796748bd8fe00f3f96d3470405cdb94fe (commit)
       via  02f566a5592ac0438f03a84d713bae6913a7e39a (commit)
       via  b601bb6f1c30c97e21ea893e8c84b05aab97fcb4 (commit)
       via  4babc9058a996e9cccd183eb25eda5faedd04591 (commit)
       via  45a49ae58abe835bc3ad446b054fa07035c33d60 (commit)
       via  9f64974f5eff103ceda107c362c66c2adc1997ba (commit)
       via  4201a11c2b5a5bdb442f99f88a5f17d6ae7c4a4c (commit)
       via  3eebe28ef41a298f9743db44a7265742891fc225 (commit)
      from  08da4f8d70cce97a9a6913d74e6c128ca6c0a40b (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=bdc5618e18b9868f46e48641cdd35f361199f28e
commit bdc5618e18b9868f46e48641cdd35f361199f28e
Merge: a052479 22ba9b6
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Nov 2 11:57:48 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Fri Nov 2 07:57:54 2018 -0400

    Merge topic 'FindGDAL-target'
    
    22ba9b6a32 FindGDAL: set the GDAL_VERSION
    525ff0c3bc Tests/FindGDAL: add a test for FindGDAL
    87324b9b6a FindGDAL: add an imported target
    dfb3f58f79 FindGDAL: Modernize documentation layout
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2552


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a052479a5c75cc4e892fe68002bc0a4d97013a66
commit a052479a5c75cc4e892fe68002bc0a4d97013a66
Merge: 9578c3f bd9bfc6
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Nov 2 11:56:57 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Fri Nov 2 07:57:06 2018 -0400

    Merge topic 'msvc-custom-rc-mt'
    
    bd9bfc6449 MSVC: Respect CMAKE_RC_COMPILER and CMAKE_MT in vs_link_{dll,exe}
    0033676796 CUDA: Enable RC language on Windows
    02f566a559 MSVC: Factor out enable_language(RC) call into helper macro
    b601bb6f1c CUDA: Find CMAKE_LINKER on Windows
    3eebe28ef4 cmLocalNinjaGenerator: Simplify CreateRulePlaceholderExpander
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2424


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9578c3f0d18a5407a3106a6c487115947d1355e4
commit 9578c3f0d18a5407a3106a6c487115947d1355e4
Merge: 08da4f8 4babc90
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Nov 2 11:55:06 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Fri Nov 2 07:55:14 2018 -0400

    Merge topic 'check-keywords-only-if-used'
    
    4babc9058a cmTargetPropCommandBase: check keywords after parsing
    45a49ae58a cmTargetPropCommandBase: simplify code path
    9f64974f5e cmTargetPropCommandBase: skip property setting if there's nothing to add
    4201a11c2b Tests: add tests for empty-value keyword arguments in target_*
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2514


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=22ba9b6a328a0eea77559b2d607fe8d525445812
commit 22ba9b6a328a0eea77559b2d607fe8d525445812
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Wed Oct 31 14:48:15 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Nov 1 13:16:37 2018 -0400

    FindGDAL: set the GDAL_VERSION

diff --git a/Modules/FindGDAL.cmake b/Modules/FindGDAL.cmake
index 5dd9335..8522f9b 100644
--- a/Modules/FindGDAL.cmake
+++ b/Modules/FindGDAL.cmake
@@ -24,6 +24,8 @@ This module will set the following variables in your project:
   Include directories for GDAL headers.
 ``GDAL_LIBRARIES``
   Libraries to link to GDAL.
+``GDAL_VERSION``
+  The version of GDAL found.
 
 Cache variables
 ^^^^^^^^^^^^^^^
@@ -138,8 +140,19 @@ find_library(GDAL_LIBRARY
   PATH_SUFFIXES lib
 )
 
+if (EXISTS "${GDAL_INCLUDE_DIR}/gdal_version.h")
+    file(STRINGS "${GDAL_INCLUDE_DIR}/gdal_version.h" _gdal_version
+        REGEX "GDAL_RELEASE_NAME")
+    string(REGEX REPLACE ".*\"\(.*\)\"" "\\1" GDAL_VERSION "${_gdal_version}")
+    unset(_gdal_version)
+else ()
+    set(GDAL_VERSION GDAL_VERSION-NOTFOUND)
+endif ()
+
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GDAL DEFAULT_MSG GDAL_LIBRARY GDAL_INCLUDE_DIR)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GDAL
+    VERSION_VAR GDAL_VERSION
+    REQUIRED_VARS GDAL_LIBRARY GDAL_INCLUDE_DIR)
 
 if (GDAL_FOUND AND NOT TARGET GDAL::GDAL)
     add_library(GDAL::GDAL UNKNOWN IMPORTED)
diff --git a/Tests/FindGDAL/Test/CMakeLists.txt b/Tests/FindGDAL/Test/CMakeLists.txt
index 20f4b84..8bdc57c 100644
--- a/Tests/FindGDAL/Test/CMakeLists.txt
+++ b/Tests/FindGDAL/Test/CMakeLists.txt
@@ -4,9 +4,7 @@ include(CTest)
 
 find_package(GDAL REQUIRED)
 
-# FindGDAL doesn't export a version number.
-#add_definitions(-DCMAKE_EXPECTED_GDAL_VERSION="${GDAL_VERSION}")
-add_definitions(-DCMAKE_EXPECTED_GDAL_VERSION="unknown")
+add_definitions(-DCMAKE_EXPECTED_GDAL_VERSION="${GDAL_VERSION}")
 
 add_executable(test_tgt main.c)
 target_link_libraries(test_tgt GDAL::GDAL)
diff --git a/Tests/FindGDAL/Test/main.c b/Tests/FindGDAL/Test/main.c
index 046eb99..7b31a13 100644
--- a/Tests/FindGDAL/Test/main.c
+++ b/Tests/FindGDAL/Test/main.c
@@ -1,12 +1,11 @@
 #include <gdal.h>
 #include <stdio.h>
-// #include <string.h>
+#include <string.h>
 
 int main()
 {
   printf("Found GDAL version %s, expected version %s\n", GDAL_RELEASE_NAME,
          CMAKE_EXPECTED_GDAL_VERSION);
   GDALAllRegister();
-  // return strcmp(GDAL_RELEASE_NAME, CMAKE_EXPECTED_GDAL_VERSION);
-  return 0;
+  return strcmp(GDAL_RELEASE_NAME, CMAKE_EXPECTED_GDAL_VERSION);
 }

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=525ff0c3bc1f625756337c2ae724a58ec93ba4d1
commit 525ff0c3bc1f625756337c2ae724a58ec93ba4d1
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Wed Oct 31 14:47:56 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Nov 1 13:16:37 2018 -0400

    Tests/FindGDAL: add a test for FindGDAL

diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index c7cfa86..1c49fea 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1384,6 +1384,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
     add_subdirectory(FindFreetype)
   endif()
 
+  if(CMake_TEST_FindGDAL)
+    add_subdirectory(FindGDAL)
+  endif()
+
   if(CMake_TEST_FindGSL)
     add_subdirectory(FindGSL)
   endif()
diff --git a/Tests/FindGDAL/CMakeLists.txt b/Tests/FindGDAL/CMakeLists.txt
new file mode 100644
index 0000000..12f95e1
--- /dev/null
+++ b/Tests/FindGDAL/CMakeLists.txt
@@ -0,0 +1,10 @@
+add_test(NAME FindGDAL.Test COMMAND
+  ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
+  --build-and-test
+  "${CMake_SOURCE_DIR}/Tests/FindGDAL/Test"
+  "${CMake_BINARY_DIR}/Tests/FindGDAL/Test"
+  ${build_generator_args}
+  --build-project TestFindGDAL
+  --build-options ${build_options}
+  --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
+  )
diff --git a/Tests/FindGDAL/Test/CMakeLists.txt b/Tests/FindGDAL/Test/CMakeLists.txt
new file mode 100644
index 0000000..20f4b84
--- /dev/null
+++ b/Tests/FindGDAL/Test/CMakeLists.txt
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 3.10)
+project(TestFindGDAL C)
+include(CTest)
+
+find_package(GDAL REQUIRED)
+
+# FindGDAL doesn't export a version number.
+#add_definitions(-DCMAKE_EXPECTED_GDAL_VERSION="${GDAL_VERSION}")
+add_definitions(-DCMAKE_EXPECTED_GDAL_VERSION="unknown")
+
+add_executable(test_tgt main.c)
+target_link_libraries(test_tgt GDAL::GDAL)
+add_test(NAME test_tgt COMMAND test_tgt)
+
+add_executable(test_var main.c)
+target_include_directories(test_var PRIVATE ${GDAL_INCLUDE_DIRS})
+target_link_libraries(test_var PRIVATE ${GDAL_LIBRARIES})
+add_test(NAME test_var COMMAND test_var)
diff --git a/Tests/FindGDAL/Test/main.c b/Tests/FindGDAL/Test/main.c
new file mode 100644
index 0000000..046eb99
--- /dev/null
+++ b/Tests/FindGDAL/Test/main.c
@@ -0,0 +1,12 @@
+#include <gdal.h>
+#include <stdio.h>
+// #include <string.h>
+
+int main()
+{
+  printf("Found GDAL version %s, expected version %s\n", GDAL_RELEASE_NAME,
+         CMAKE_EXPECTED_GDAL_VERSION);
+  GDALAllRegister();
+  // return strcmp(GDAL_RELEASE_NAME, CMAKE_EXPECTED_GDAL_VERSION);
+  return 0;
+}

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=87324b9b6a1f29a25c96149e165e99bebe750ef5
commit 87324b9b6a1f29a25c96149e165e99bebe750ef5
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Wed Oct 31 11:05:01 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Nov 1 13:16:36 2018 -0400

    FindGDAL: add an imported target

diff --git a/Help/release/dev/FindGDAL-target.rst b/Help/release/dev/FindGDAL-target.rst
new file mode 100644
index 0000000..b121a72
--- /dev/null
+++ b/Help/release/dev/FindGDAL-target.rst
@@ -0,0 +1,4 @@
+FindGDAL-target
+---------------
+
+* The :module:`FindGDAL` module now provides an imported target.
diff --git a/Modules/FindGDAL.cmake b/Modules/FindGDAL.cmake
index 9c989b8..5dd9335 100644
--- a/Modules/FindGDAL.cmake
+++ b/Modules/FindGDAL.cmake
@@ -7,6 +7,12 @@ FindGDAL
 
 Find GDAL.
 
+IMPORTED Targets
+^^^^^^^^^^^^^^^^
+
+This module defines :prop_tgt:`IMPORTED` target ``GDAL::GDAL``
+if GDAL has been found.
+
 Result Variables
 ^^^^^^^^^^^^^^^^
 
@@ -135,5 +141,12 @@ find_library(GDAL_LIBRARY
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(GDAL DEFAULT_MSG GDAL_LIBRARY GDAL_INCLUDE_DIR)
 
+if (GDAL_FOUND AND NOT TARGET GDAL::GDAL)
+    add_library(GDAL::GDAL UNKNOWN IMPORTED)
+    set_target_properties(GDAL::GDAL PROPERTIES
+        IMPORTED_LOCATION "${GDAL_LIBRARY}"
+        INTERFACE_INCLUDE_DIRECTORIES "${GDAL_INCLUDE_DIR}")
+endif ()
+
 set(GDAL_LIBRARIES ${GDAL_LIBRARY})
 set(GDAL_INCLUDE_DIRS ${GDAL_INCLUDE_DIR})

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dfb3f58f79b05dfe7840373aa08a86204c94f33b
commit dfb3f58f79b05dfe7840373aa08a86204c94f33b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Nov 1 13:12:18 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Nov 1 13:16:36 2018 -0400

    FindGDAL: Modernize documentation layout

diff --git a/Modules/FindGDAL.cmake b/Modules/FindGDAL.cmake
index 030553f..9c989b8 100644
--- a/Modules/FindGDAL.cmake
+++ b/Modules/FindGDAL.cmake
@@ -5,28 +5,37 @@
 FindGDAL
 --------
 
+Find GDAL.
 
+Result Variables
+^^^^^^^^^^^^^^^^
 
-Locate gdal
+This module will set the following variables in your project:
 
-This module accepts the following environment variables:
+``GDAL_FOUND``
+  True if GDAL is found.
+``GDAL_INCLUDE_DIRS``
+  Include directories for GDAL headers.
+``GDAL_LIBRARIES``
+  Libraries to link to GDAL.
 
-::
+Cache variables
+^^^^^^^^^^^^^^^
 
-    GDAL_DIR or GDAL_ROOT - Specify the location of GDAL
+The following cache variables may also be set:
 
+``GDAL_LIBRARY``
+  The libgdal library file.
+``GDAL_INCLUDE_DIR``
+  The directory containing ``gdal.h``.
 
+Hints
+^^^^^
 
-This module defines the following CMake variables:
-
-::
-
-    GDAL_FOUND - True if libgdal is found
-    GDAL_LIBRARY - A variable pointing to the GDAL library
-    GDAL_INCLUDE_DIR - Where to find the headers
+Set ``GDAL_DIR`` or ``GDAL_ROOT`` in the environment to specify the
+GDAL installation prefix.
 #]=======================================================================]
 
-#
 # $GDALDIR is an environment variable that would
 # correspond to the ./configure --prefix=$GDAL_DIR
 # used in building gdal.

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bd9bfc644954a48b1bf7ea18fc260a1231840671
commit bd9bfc644954a48b1bf7ea18fc260a1231840671
Author:     Mateusz Zych <mte.zych at gmail.com>
AuthorDate: Thu Oct 25 02:34:26 2018 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Oct 29 13:40:47 2018 -0400

    MSVC: Respect CMAKE_RC_COMPILER and CMAKE_MT in vs_link_{dll,exe}
    
    CMake commands vs_link_dll and vs_link_exe, performing linking on MSVC,
    are responsible for calling resource compiler and manifest tool.
    
    Before this commit, both of these tools were called directly, with the
    expectation that they are available in the `PATH`. This has been fixed
    by respecting CMake variables `CMAKE_RC_COMPILER` and `CMAKE_MT`
    defining paths to these tools.
    
    Fixes: #17804

diff --git a/Modules/CMakeASMCompiler.cmake.in b/Modules/CMakeASMCompiler.cmake.in
index a6465f6..b8e09fe 100644
--- a/Modules/CMakeASMCompiler.cmake.in
+++ b/Modules/CMakeASMCompiler.cmake.in
@@ -5,6 +5,7 @@ set(CMAKE_ASM at ASM_DIALECT@_COMPILER_AR "@_CMAKE_ASM_COMPILER_AR@")
 set(CMAKE_RANLIB "@CMAKE_RANLIB@")
 set(CMAKE_ASM at ASM_DIALECT@_COMPILER_RANLIB "@_CMAKE_ASM_COMPILER_RANLIB@")
 set(CMAKE_LINKER "@CMAKE_LINKER@")
+set(CMAKE_MT "@CMAKE_MT@")
 set(CMAKE_ASM at ASM_DIALECT@_COMPILER_LOADED 1)
 set(CMAKE_ASM at ASM_DIALECT@_COMPILER_ID "@_CMAKE_ASM_COMPILER_ID@")
 set(CMAKE_ASM at ASM_DIALECT@_COMPILER_VERSION "@_CMAKE_ASM_COMPILER_VERSION@")
diff --git a/Modules/CMakeCCompiler.cmake.in b/Modules/CMakeCCompiler.cmake.in
index 72144cf..e75c74e 100644
--- a/Modules/CMakeCCompiler.cmake.in
+++ b/Modules/CMakeCCompiler.cmake.in
@@ -21,6 +21,7 @@ set(CMAKE_C_COMPILER_AR "@CMAKE_C_COMPILER_AR@")
 set(CMAKE_RANLIB "@CMAKE_RANLIB@")
 set(CMAKE_C_COMPILER_RANLIB "@CMAKE_C_COMPILER_RANLIB@")
 set(CMAKE_LINKER "@CMAKE_LINKER@")
+set(CMAKE_MT "@CMAKE_MT@")
 set(CMAKE_COMPILER_IS_GNUCC @CMAKE_COMPILER_IS_GNUCC@)
 set(CMAKE_C_COMPILER_LOADED 1)
 set(CMAKE_C_COMPILER_WORKS @CMAKE_C_COMPILER_WORKS@)
diff --git a/Modules/CMakeCUDACompiler.cmake.in b/Modules/CMakeCUDACompiler.cmake.in
index e1e1d33..feb3e79 100644
--- a/Modules/CMakeCUDACompiler.cmake.in
+++ b/Modules/CMakeCUDACompiler.cmake.in
@@ -28,3 +28,4 @@ set(CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES "@CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES@
 set(CMAKE_CUDA_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_CUDA_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
 
 set(CMAKE_LINKER "@CMAKE_LINKER@")
+set(CMAKE_MT "@CMAKE_MT@")
diff --git a/Modules/CMakeCXXCompiler.cmake.in b/Modules/CMakeCXXCompiler.cmake.in
index 8da6a8c..5f52fd8 100644
--- a/Modules/CMakeCXXCompiler.cmake.in
+++ b/Modules/CMakeCXXCompiler.cmake.in
@@ -23,6 +23,7 @@ set(CMAKE_CXX_COMPILER_AR "@CMAKE_CXX_COMPILER_AR@")
 set(CMAKE_RANLIB "@CMAKE_RANLIB@")
 set(CMAKE_CXX_COMPILER_RANLIB "@CMAKE_CXX_COMPILER_RANLIB@")
 set(CMAKE_LINKER "@CMAKE_LINKER@")
+set(CMAKE_MT "@CMAKE_MT@")
 set(CMAKE_COMPILER_IS_GNUCXX @CMAKE_COMPILER_IS_GNUCXX@)
 set(CMAKE_CXX_COMPILER_LOADED 1)
 set(CMAKE_CXX_COMPILER_WORKS @CMAKE_CXX_COMPILER_WORKS@)
diff --git a/Modules/CMakeFindBinUtils.cmake b/Modules/CMakeFindBinUtils.cmake
index b805fa7..35f75c9 100644
--- a/Modules/CMakeFindBinUtils.cmake
+++ b/Modules/CMakeFindBinUtils.cmake
@@ -14,29 +14,48 @@
 #   CMAKE_AR
 #   CMAKE_RANLIB
 #   CMAKE_LINKER
+#   CMAKE_MT
 #   CMAKE_STRIP
 #   CMAKE_INSTALL_NAME_TOOL
 
 # on UNIX, cygwin and mingw
 
-if(CMAKE_LINKER)
-  # we only get here if CMAKE_LINKER was specified using -D or a pre-made CMakeCache.txt
-  # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
-  # find the linker in the PATH if necessary
-  get_filename_component(_CMAKE_USER_LINKER_PATH "${CMAKE_LINKER}" PATH)
-  if(NOT _CMAKE_USER_LINKER_PATH)
-    find_program(CMAKE_LINKER_WITH_PATH NAMES ${CMAKE_LINKER} HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
-    if(CMAKE_LINKER_WITH_PATH)
-      set(CMAKE_LINKER ${CMAKE_LINKER_WITH_PATH})
-      get_property(_CMAKE_LINKER_CACHED CACHE CMAKE_LINKER PROPERTY TYPE)
-      if(_CMAKE_LINKER_CACHED)
-        set(CMAKE_LINKER "${CMAKE_LINKER}" CACHE STRING "Default Linker" FORCE)
+# Resolve full path of CMAKE_TOOL from user-defined name and SEARCH_PATH.
+function(__resolve_tool_path CMAKE_TOOL SEARCH_PATH DOCSTRING)
+
+  if(${CMAKE_TOOL})
+    # We only get here if CMAKE_TOOL was
+    # specified using -D or a pre-made CMakeCache.txt (e.g. via ctest)
+    # or set in CMAKE_TOOLCHAIN_FILE.
+
+    get_filename_component(_CMAKE_USER_TOOL_PATH "${${CMAKE_TOOL}}" DIRECTORY)
+    # Is CMAKE_TOOL a user-defined name instead of a full path?
+    if(NOT _CMAKE_USER_TOOL_PATH)
+
+      # Find CMAKE_TOOL in the SEARCH_PATH directory by user-defined name.
+      find_program(_CMAKE_TOOL_WITH_PATH NAMES ${${CMAKE_TOOL}} HINTS ${SEARCH_PATH})
+      if(_CMAKE_TOOL_WITH_PATH)
+
+        # Overwrite CMAKE_TOOL with full path found in SEARCH_PATH.
+        set(${CMAKE_TOOL} ${_CMAKE_TOOL_WITH_PATH} PARENT_SCOPE)
+
+        get_property(_CMAKE_TOOL_CACHED CACHE ${CMAKE_TOOL} PROPERTY TYPE)
+        # If CMAKE_TOOL is present in the CMake Cache, then overwrit it as well.
+        if(_CMAKE_TOOL_CACHED)
+          set(${CMAKE_TOOL} "${_CMAKE_TOOL_WITH_PATH}" CACHE STRING ${DOCSTRING} FORCE)
+        endif()
+
       endif()
-      unset(_CMAKE_LINKER_CACHED)
+      unset(_CMAKE_TOOL_WITH_PATH CACHE)
+
     endif()
-    unset(CMAKE_LINKER_WITH_PATH CACHE)
+
   endif()
-endif()
+
+endfunction()
+
+__resolve_tool_path(CMAKE_LINKER "${_CMAKE_TOOLCHAIN_LOCATION}" "Default Linker")
+__resolve_tool_path(CMAKE_MT     "${_CMAKE_TOOLCHAIN_LOCATION}" "Default Manifest Tool")
 
 set(_CMAKE_TOOL_VARS "")
 
@@ -49,8 +68,9 @@ if("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_SIMULATE_ID}" STREQUAL "xMSVC"
        AND NOT CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android"))
 
   find_program(CMAKE_LINKER NAMES link HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+  find_program(CMAKE_MT     NAMES mt   HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
 
-  list(APPEND _CMAKE_TOOL_VARS CMAKE_LINKER)
+  list(APPEND _CMAKE_TOOL_VARS CMAKE_LINKER CMAKE_MT)
 
 # in all other cases search for ar, ranlib, etc.
 else()
diff --git a/Modules/Platform/Windows-MSVC.cmake b/Modules/Platform/Windows-MSVC.cmake
index 73906c6..2daf313 100644
--- a/Modules/Platform/Windows-MSVC.cmake
+++ b/Modules/Platform/Windows-MSVC.cmake
@@ -298,8 +298,8 @@ unset(_MACHINE_ARCH_FLAG)
 macro(__windows_compiler_msvc lang)
   if(NOT MSVC_VERSION LESS 1400)
     # for 2005 make sure the manifest is put in the dll with mt
-    set(_CMAKE_VS_LINK_DLL "<CMAKE_COMMAND> -E vs_link_dll --intdir=<OBJECT_DIR> --manifests <MANIFESTS> -- ")
-    set(_CMAKE_VS_LINK_EXE "<CMAKE_COMMAND> -E vs_link_exe --intdir=<OBJECT_DIR> --manifests <MANIFESTS> -- ")
+    set(_CMAKE_VS_LINK_DLL "<CMAKE_COMMAND> -E vs_link_dll --intdir=<OBJECT_DIR> --rc=<CMAKE_RC_COMPILER> --mt=<CMAKE_MT> --manifests <MANIFESTS> -- ")
+    set(_CMAKE_VS_LINK_EXE "<CMAKE_COMMAND> -E vs_link_exe --intdir=<OBJECT_DIR> --rc=<CMAKE_RC_COMPILER> --mt=<CMAKE_MT> --manifests <MANIFESTS> -- ")
   endif()
   set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
     "${_CMAKE_VS_LINK_DLL}<CMAKE_LINKER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /dll /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
diff --git a/Modules/Platform/Windows-NVIDIA-CUDA.cmake b/Modules/Platform/Windows-NVIDIA-CUDA.cmake
index 631a7de..6a2667a 100644
--- a/Modules/Platform/Windows-NVIDIA-CUDA.cmake
+++ b/Modules/Platform/Windows-NVIDIA-CUDA.cmake
@@ -17,8 +17,8 @@ endforeach()
 set(CMAKE_CUDA_LINK_EXECUTABLE
    "<CMAKE_CUDA_HOST_LINK_LAUNCHER> <LINK_FLAGS> <OBJECTS> /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <LINK_LIBRARIES>${__IMPLICT_LINKS}")
 
-set(_CMAKE_VS_LINK_DLL "<CMAKE_COMMAND> -E vs_link_dll --intdir=<OBJECT_DIR> --manifests <MANIFESTS> -- ")
-set(_CMAKE_VS_LINK_EXE "<CMAKE_COMMAND> -E vs_link_exe --intdir=<OBJECT_DIR> --manifests <MANIFESTS> -- ")
+set(_CMAKE_VS_LINK_DLL "<CMAKE_COMMAND> -E vs_link_dll --intdir=<OBJECT_DIR> --rc=<CMAKE_RC_COMPILER> --mt=<CMAKE_MT> --manifests <MANIFESTS> -- ")
+set(_CMAKE_VS_LINK_EXE "<CMAKE_COMMAND> -E vs_link_exe --intdir=<OBJECT_DIR> --rc=<CMAKE_RC_COMPILER> --mt=<CMAKE_MT> --manifests <MANIFESTS> -- ")
 set(CMAKE_CUDA_CREATE_SHARED_LIBRARY
   "${_CMAKE_VS_LINK_DLL}<CMAKE_LINKER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /dll /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <LINK_FLAGS> <LINK_LIBRARIES>${__IMPLICT_LINKS} ${CMAKE_END_TEMP_FILE}")
 
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 7030725..b07d504 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -65,6 +65,7 @@ static const char* ruleReplaceVars[] = {
   "CMAKE_CURRENT_BINARY_DIR",
   "CMAKE_RANLIB",
   "CMAKE_LINKER",
+  "CMAKE_MT",
   "CMAKE_CUDA_HOST_COMPILER",
   "CMAKE_CUDA_HOST_LINK_LAUNCHER",
   "CMAKE_CL_SHOWINCLUDES_PREFIX"
diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx
index 1d2f741..9f1618b 100644
--- a/Source/cmcmd.cxx
+++ b/Source/cmcmd.cxx
@@ -1517,6 +1517,8 @@ class cmVSLink
   std::string ManifestFileRC;
   std::string ManifestFileRes;
   std::string TargetFile;
+  std::string MtPath;
+  std::string RcPath;
 
 public:
   cmVSLink(int type, bool verbose)
@@ -1660,6 +1662,12 @@ bool cmVSLink::Parse(std::vector<std::string>::const_iterator argBeg,
     } else if (cmHasLiteralPrefix(*arg, "--intdir=")) {
       intDir = arg->substr(9);
       ++arg;
+    } else if (cmHasLiteralPrefix(*arg, "--rc=")) {
+      this->RcPath = arg->substr(5);
+      ++arg;
+    } else if (cmHasLiteralPrefix(*arg, "--mt=")) {
+      this->MtPath = arg->substr(5);
+      ++arg;
     } else {
       std::cerr << "unknown argument '" << *arg << "'\n";
       return false;
@@ -1799,7 +1807,7 @@ int cmVSLink::LinkIncremental()
 
   // Compile the resource file.
   std::vector<std::string> rcCommand;
-  rcCommand.push_back("rc");
+  rcCommand.push_back(this->RcPath.empty() ? "rc" : this->RcPath);
   rcCommand.push_back("/fo" + this->ManifestFileRes);
   rcCommand.push_back(this->ManifestFileRC);
   if (!RunCommand("RC Pass 1", rcCommand, this->Verbose, FORMAT_DECIMAL)) {
@@ -1858,7 +1866,7 @@ int cmVSLink::LinkNonIncremental()
 int cmVSLink::RunMT(std::string const& out, bool notify)
 {
   std::vector<std::string> mtCommand;
-  mtCommand.push_back("mt");
+  mtCommand.push_back(this->MtPath.empty() ? "mt" : this->MtPath);
   mtCommand.push_back("/nologo");
   mtCommand.push_back("/manifest");
   if (this->LinkGeneratesManifest) {

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0033676796748bd8fe00f3f96d3470405cdb94fe
commit 0033676796748bd8fe00f3f96d3470405cdb94fe
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Oct 29 13:32:07 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Oct 29 13:40:47 2018 -0400

    CUDA: Enable RC language on Windows
    
    We need the resource compiler to place manifests in binaries.
    Make sure it is available.

diff --git a/Modules/Platform/Windows-NVIDIA-CUDA.cmake b/Modules/Platform/Windows-NVIDIA-CUDA.cmake
index ba1638f..631a7de 100644
--- a/Modules/Platform/Windows-NVIDIA-CUDA.cmake
+++ b/Modules/Platform/Windows-NVIDIA-CUDA.cmake
@@ -67,3 +67,5 @@ string(APPEND CMAKE_CUDA_FLAGS_RELWITHDEBINFO_INIT " -Xcompiler=\"-MD -Zi -O2 -O
 string(APPEND CMAKE_CUDA_FLAGS_MINSIZEREL_INIT " -Xcompiler=\"-MD -O1 -Ob1\" -DNDEBUG")
 
 set(CMAKE_CUDA_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
+
+__windows_compiler_msvc_enable_rc("${_PLATFORM_DEFINES} ${_PLATFORM_DEFINES_CXX}")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=02f566a5592ac0438f03a84d713bae6913a7e39a
commit 02f566a5592ac0438f03a84d713bae6913a7e39a
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Oct 29 13:30:17 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Oct 29 13:40:47 2018 -0400

    MSVC: Factor out enable_language(RC) call into helper macro
    
    This will be useful to call from elsewhere later.

diff --git a/Modules/Platform/Windows-MSVC.cmake b/Modules/Platform/Windows-MSVC.cmake
index ae180ed..73906c6 100644
--- a/Modules/Platform/Windows-MSVC.cmake
+++ b/Modules/Platform/Windows-MSVC.cmake
@@ -366,12 +366,15 @@ macro(__windows_compiler_msvc lang)
   endif()
   set(CMAKE_${lang}_LINKER_SUPPORTS_PDB ON)
   set(CMAKE_NINJA_DEPTYPE_${lang} msvc)
+  __windows_compiler_msvc_enable_rc("${_PLATFORM_DEFINES} ${_PLATFORM_DEFINES_${lang}}")
+endmacro()
 
+macro(__windows_compiler_msvc_enable_rc flags)
   if(NOT CMAKE_RC_COMPILER_INIT)
     set(CMAKE_RC_COMPILER_INIT rc)
   endif()
   if(NOT CMAKE_RC_FLAGS_INIT)
-    string(APPEND CMAKE_RC_FLAGS_INIT " ${_PLATFORM_DEFINES} ${_PLATFORM_DEFINES_${lang}}")
+    string(APPEND CMAKE_RC_FLAGS_INIT " ${flags}")
   endif()
   if(NOT CMAKE_RC_FLAGS_DEBUG_INIT)
     string(APPEND CMAKE_RC_FLAGS_DEBUG_INIT " /D_DEBUG")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b601bb6f1c30c97e21ea893e8c84b05aab97fcb4
commit b601bb6f1c30c97e21ea893e8c84b05aab97fcb4
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Oct 29 13:25:49 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Oct 29 13:40:47 2018 -0400

    CUDA: Find CMAKE_LINKER on Windows
    
    We use this in `Modules/Platform/Windows-NVIDIA-CUDA.cmake`, so make
    sure it is available.

diff --git a/Modules/CMakeCUDACompiler.cmake.in b/Modules/CMakeCUDACompiler.cmake.in
index 9761d8c..e1e1d33 100644
--- a/Modules/CMakeCUDACompiler.cmake.in
+++ b/Modules/CMakeCUDACompiler.cmake.in
@@ -26,3 +26,5 @@ set(CMAKE_CUDA_HOST_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_CUDA_HOST_IMPLIC
 set(CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES "@CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES@")
 set(CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES "@CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES@")
 set(CMAKE_CUDA_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "@CMAKE_CUDA_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@")
+
+set(CMAKE_LINKER "@CMAKE_LINKER@")
diff --git a/Modules/CMakeFindBinUtils.cmake b/Modules/CMakeFindBinUtils.cmake
index 830639d..b805fa7 100644
--- a/Modules/CMakeFindBinUtils.cmake
+++ b/Modules/CMakeFindBinUtils.cmake
@@ -44,6 +44,7 @@ set(_CMAKE_TOOL_VARS "")
 if("x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_SIMULATE_ID}" STREQUAL "xMSVC"
    OR "x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID}" STREQUAL "xMSVC"
    OR (CMAKE_HOST_WIN32 AND "x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID}" STREQUAL "xPGI")
+   OR (CMAKE_HOST_WIN32 AND "x${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_ID}" STREQUAL "xNVIDIA")
    OR (CMAKE_GENERATOR MATCHES "Visual Studio"
        AND NOT CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android"))
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4babc9058a996e9cccd183eb25eda5faedd04591
commit 4babc9058a996e9cccd183eb25eda5faedd04591
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Mon Oct 22 16:48:28 2018 -0400
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Fri Oct 26 12:09:41 2018 -0400

    cmTargetPropCommandBase: check keywords after parsing
    
    The following was disallowed:
    
       add_library(iface INTERFACE)
       target_link_libraries(iface PUBLIC)
    
    just due to the mention of the `PUBLIC` keyword. Instead, only error if
    there are actually `PUBLIC` dependencies specified (and analogously for
    other restrictions).
    
    Update tests to expect this new behavior.

diff --git a/Source/cmTargetPropCommandBase.cxx b/Source/cmTargetPropCommandBase.cxx
index 48348f3..1b8ee81 100644
--- a/Source/cmTargetPropCommandBase.cxx
+++ b/Source/cmTargetPropCommandBase.cxx
@@ -84,15 +84,6 @@ bool cmTargetPropCommandBase::ProcessContentArgs(
     this->SetError("called with invalid arguments");
     return false;
   }
-  if (this->Target->GetType() == cmStateEnums::INTERFACE_LIBRARY &&
-      scope != "INTERFACE") {
-    this->SetError("may only set INTERFACE properties on INTERFACE targets");
-    return false;
-  }
-  if (this->Target->IsImported() && scope != "INTERFACE") {
-    this->SetError("may only set INTERFACE properties on IMPORTED targets");
-    return false;
-  }
 
   ++argIndex;
 
@@ -105,6 +96,17 @@ bool cmTargetPropCommandBase::ProcessContentArgs(
     }
     content.push_back(args[i]);
   }
+  if (!content.empty()) {
+    if (this->Target->GetType() == cmStateEnums::INTERFACE_LIBRARY &&
+        scope != "INTERFACE") {
+      this->SetError("may only set INTERFACE properties on INTERFACE targets");
+      return false;
+    }
+    if (this->Target->IsImported() && scope != "INTERFACE") {
+      this->SetError("may only set INTERFACE properties on IMPORTED targets");
+      return false;
+    }
+  }
   return this->PopulateTargetProperies(scope, content, prepend, system);
 }
 
diff --git a/Tests/RunCMake/target_compile_definitions/empty_keyword_args-result.txt b/Tests/RunCMake/target_compile_definitions/empty_keyword_args-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/target_compile_definitions/empty_keyword_args-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/target_compile_definitions/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_compile_definitions/empty_keyword_args-stderr.txt
deleted file mode 100644
index d8fb3ba..0000000
--- a/Tests/RunCMake/target_compile_definitions/empty_keyword_args-stderr.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-CMake Error at empty_keyword_args.cmake:2 \(target_compile_definitions\):
-  target_compile_definitions may only set INTERFACE properties on INTERFACE
-  targets
-Call Stack \(most recent call first\):
-  CMakeLists.txt:5 \(include\)
diff --git a/Tests/RunCMake/target_compile_features/empty_keyword_args-result.txt b/Tests/RunCMake/target_compile_features/empty_keyword_args-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/target_compile_features/empty_keyword_args-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/target_compile_features/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_compile_features/empty_keyword_args-stderr.txt
deleted file mode 100644
index eecd3cf..0000000
--- a/Tests/RunCMake/target_compile_features/empty_keyword_args-stderr.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-CMake Error at empty_keyword_args.cmake:2 \(target_compile_features\):
-  target_compile_features may only set INTERFACE properties on INTERFACE
-  targets
-Call Stack \(most recent call first\):
-  CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/target_compile_options/empty_keyword_args-result.txt b/Tests/RunCMake/target_compile_options/empty_keyword_args-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/target_compile_options/empty_keyword_args-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/target_compile_options/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_compile_options/empty_keyword_args-stderr.txt
deleted file mode 100644
index 381ff48..0000000
--- a/Tests/RunCMake/target_compile_options/empty_keyword_args-stderr.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-CMake Error at empty_keyword_args.cmake:2 \(target_compile_options\):
-  target_compile_options may only set INTERFACE properties on INTERFACE
-  targets
-Call Stack \(most recent call first\):
-  CMakeLists.txt:5 \(include\)
diff --git a/Tests/RunCMake/target_include_directories/empty_keyword_args-result.txt b/Tests/RunCMake/target_include_directories/empty_keyword_args-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/target_include_directories/empty_keyword_args-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/target_include_directories/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_include_directories/empty_keyword_args-stderr.txt
deleted file mode 100644
index 6200703..0000000
--- a/Tests/RunCMake/target_include_directories/empty_keyword_args-stderr.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-CMake Error at empty_keyword_args.cmake:2 \(target_include_directories\):
-  target_include_directories may only set INTERFACE properties on INTERFACE
-  targets
-Call Stack \(most recent call first\):
-  CMakeLists.txt:5 \(include\)
diff --git a/Tests/RunCMake/target_link_directories/empty_keyword_args-result.txt b/Tests/RunCMake/target_link_directories/empty_keyword_args-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/target_link_directories/empty_keyword_args-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/target_link_directories/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_link_directories/empty_keyword_args-stderr.txt
deleted file mode 100644
index 26ee9a1..0000000
--- a/Tests/RunCMake/target_link_directories/empty_keyword_args-stderr.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-CMake Error at empty_keyword_args.cmake:2 \(target_link_directories\):
-  target_link_directories may only set INTERFACE properties on INTERFACE
-  targets
-Call Stack \(most recent call first\):
-  CMakeLists.txt:5 \(include\)
diff --git a/Tests/RunCMake/target_link_options/empty_keyword_args-result.txt b/Tests/RunCMake/target_link_options/empty_keyword_args-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/target_link_options/empty_keyword_args-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/target_link_options/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_link_options/empty_keyword_args-stderr.txt
deleted file mode 100644
index 0103d00..0000000
--- a/Tests/RunCMake/target_link_options/empty_keyword_args-stderr.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-CMake Error at empty_keyword_args.cmake:2 \(target_link_options\):
-  target_link_options may only set INTERFACE properties on INTERFACE targets
-Call Stack \(most recent call first\):
-  CMakeLists.txt:5 \(include\)
diff --git a/Tests/RunCMake/target_sources/empty_keyword_args-result.txt b/Tests/RunCMake/target_sources/empty_keyword_args-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/target_sources/empty_keyword_args-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/target_sources/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_sources/empty_keyword_args-stderr.txt
deleted file mode 100644
index 9ff5bb0..0000000
--- a/Tests/RunCMake/target_sources/empty_keyword_args-stderr.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-CMake Error at empty_keyword_args.cmake:2 \(target_sources\):
-  target_sources may only set INTERFACE properties on INTERFACE targets
-Call Stack \(most recent call first\):
-  CMakeLists.txt:5 \(include\)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=45a49ae58abe835bc3ad446b054fa07035c33d60
commit 45a49ae58abe835bc3ad446b054fa07035c33d60
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Fri Oct 26 09:16:24 2018 -0400
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Fri Oct 26 12:08:45 2018 -0400

    cmTargetPropCommandBase: simplify code path
    
    The outside of the loop does the same return expression.

diff --git a/Source/cmTargetPropCommandBase.cxx b/Source/cmTargetPropCommandBase.cxx
index cd82299..48348f3 100644
--- a/Source/cmTargetPropCommandBase.cxx
+++ b/Source/cmTargetPropCommandBase.cxx
@@ -101,7 +101,7 @@ bool cmTargetPropCommandBase::ProcessContentArgs(
   for (unsigned int i = argIndex; i < args.size(); ++i, ++argIndex) {
     if (args[i] == "PUBLIC" || args[i] == "PRIVATE" ||
         args[i] == "INTERFACE") {
-      return this->PopulateTargetProperies(scope, content, prepend, system);
+      break;
     }
     content.push_back(args[i]);
   }

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9f64974f5eff103ceda107c362c66c2adc1997ba
commit 9f64974f5eff103ceda107c362c66c2adc1997ba
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Fri Oct 26 09:14:44 2018 -0400
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Fri Oct 26 12:08:16 2018 -0400

    cmTargetPropCommandBase: skip property setting if there's nothing to add
    
    Some target types don't allow setting certain properties even if there
    is no value being set there. Guard against this by avoiding property
    setting when there is nothing to add.

diff --git a/Source/cmTargetPropCommandBase.cxx b/Source/cmTargetPropCommandBase.cxx
index 9a8fd96..cd82299 100644
--- a/Source/cmTargetPropCommandBase.cxx
+++ b/Source/cmTargetPropCommandBase.cxx
@@ -112,6 +112,9 @@ bool cmTargetPropCommandBase::PopulateTargetProperies(
   const std::string& scope, const std::vector<std::string>& content,
   bool prepend, bool system)
 {
+  if (content.empty()) {
+    return true;
+  }
   if (scope == "PRIVATE" || scope == "PUBLIC") {
     if (!this->HandleDirectContent(this->Target, content, prepend, system)) {
       return false;

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4201a11c2b5a5bdb442f99f88a5f17d6ae7c4a4c
commit 4201a11c2b5a5bdb442f99f88a5f17d6ae7c4a4c
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Fri Oct 26 09:11:42 2018 -0400
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Fri Oct 26 12:08:05 2018 -0400

    Tests: add tests for empty-value keyword arguments in target_*
    
    Not all of these commands accept non-compilable (i.e., IMPORTED)
    targets, so those calls are currently just commented out. If they ever
    do start to accept them, the tests should be enabled.

diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 90681b9..b2880b6 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -342,11 +342,16 @@ endif()
 
 add_RunCMake_test(File_Generate)
 add_RunCMake_test(ExportWithoutLanguage)
+add_RunCMake_test(target_link_directories)
 add_RunCMake_test(target_link_libraries)
 add_RunCMake_test(add_link_options -DCMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID})
 add_RunCMake_test(target_link_options -DCMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID})
 
+add_RunCMake_test(target_compile_definitions)
 add_RunCMake_test(target_compile_features)
+add_RunCMake_test(target_compile_options)
+add_RunCMake_test(target_include_directories)
+add_RunCMake_test(target_sources)
 add_RunCMake_test(CheckModules)
 add_RunCMake_test(CheckIPOSupported)
 add_RunCMake_test(CommandLine -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME})
diff --git a/Tests/RunCMake/target_compile_definitions/CMakeLists.txt b/Tests/RunCMake/target_compile_definitions/CMakeLists.txt
new file mode 100644
index 0000000..14ef56e
--- /dev/null
+++ b/Tests/RunCMake/target_compile_definitions/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 3.11)
+
+project(${RunCMake_TEST} LANGUAGES NONE)
+
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/target_compile_definitions/RunCMakeTest.cmake b/Tests/RunCMake/target_compile_definitions/RunCMakeTest.cmake
new file mode 100644
index 0000000..b67c598
--- /dev/null
+++ b/Tests/RunCMake/target_compile_definitions/RunCMakeTest.cmake
@@ -0,0 +1,3 @@
+include(RunCMake)
+
+run_cmake(empty_keyword_args)
diff --git a/Tests/RunCMake/target_compile_definitions/empty_keyword_args-result.txt b/Tests/RunCMake/target_compile_definitions/empty_keyword_args-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/target_compile_definitions/empty_keyword_args-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/target_compile_definitions/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_compile_definitions/empty_keyword_args-stderr.txt
new file mode 100644
index 0000000..d8fb3ba
--- /dev/null
+++ b/Tests/RunCMake/target_compile_definitions/empty_keyword_args-stderr.txt
@@ -0,0 +1,5 @@
+CMake Error at empty_keyword_args.cmake:2 \(target_compile_definitions\):
+  target_compile_definitions may only set INTERFACE properties on INTERFACE
+  targets
+Call Stack \(most recent call first\):
+  CMakeLists.txt:5 \(include\)
diff --git a/Tests/RunCMake/target_compile_definitions/empty_keyword_args.cmake b/Tests/RunCMake/target_compile_definitions/empty_keyword_args.cmake
new file mode 100644
index 0000000..cb94e87
--- /dev/null
+++ b/Tests/RunCMake/target_compile_definitions/empty_keyword_args.cmake
@@ -0,0 +1,5 @@
+add_library(iface INTERFACE)
+target_compile_definitions(iface PUBLIC PRIVATE INTERFACE)
+# Cannot be called with non-compilable targets.
+#add_library(imported UNKNOWN IMPORTED)
+#target_compile_definitions(imported PUBLIC PRIVATE INTERFACE)
diff --git a/Tests/RunCMake/target_compile_features/RunCMakeTest.cmake b/Tests/RunCMake/target_compile_features/RunCMakeTest.cmake
index 1f67f11..f8b0809 100644
--- a/Tests/RunCMake/target_compile_features/RunCMakeTest.cmake
+++ b/Tests/RunCMake/target_compile_features/RunCMakeTest.cmake
@@ -12,3 +12,4 @@ run_cmake(no_matching_cxx_feature)
 run_cmake(not_a_c_feature)
 run_cmake(no_matching_c_feature)
 run_cmake(cxx_not_enabled)
+run_cmake(empty_keyword_args)
diff --git a/Tests/RunCMake/target_compile_features/empty_keyword_args-result.txt b/Tests/RunCMake/target_compile_features/empty_keyword_args-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/target_compile_features/empty_keyword_args-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/target_compile_features/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_compile_features/empty_keyword_args-stderr.txt
new file mode 100644
index 0000000..eecd3cf
--- /dev/null
+++ b/Tests/RunCMake/target_compile_features/empty_keyword_args-stderr.txt
@@ -0,0 +1,5 @@
+CMake Error at empty_keyword_args.cmake:2 \(target_compile_features\):
+  target_compile_features may only set INTERFACE properties on INTERFACE
+  targets
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)
diff --git a/Tests/RunCMake/target_compile_features/empty_keyword_args.cmake b/Tests/RunCMake/target_compile_features/empty_keyword_args.cmake
new file mode 100644
index 0000000..8d57c1c
--- /dev/null
+++ b/Tests/RunCMake/target_compile_features/empty_keyword_args.cmake
@@ -0,0 +1,5 @@
+add_library(iface INTERFACE)
+target_compile_features(iface PUBLIC PRIVATE INTERFACE)
+# Cannot be called with non-compilable targets.
+#add_library(imported UNKNOWN IMPORTED)
+#target_compile_features(imported PUBLIC PRIVATE INTERFACE)
diff --git a/Tests/RunCMake/target_compile_options/CMakeLists.txt b/Tests/RunCMake/target_compile_options/CMakeLists.txt
new file mode 100644
index 0000000..14ef56e
--- /dev/null
+++ b/Tests/RunCMake/target_compile_options/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 3.11)
+
+project(${RunCMake_TEST} LANGUAGES NONE)
+
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/target_compile_options/RunCMakeTest.cmake b/Tests/RunCMake/target_compile_options/RunCMakeTest.cmake
new file mode 100644
index 0000000..b67c598
--- /dev/null
+++ b/Tests/RunCMake/target_compile_options/RunCMakeTest.cmake
@@ -0,0 +1,3 @@
+include(RunCMake)
+
+run_cmake(empty_keyword_args)
diff --git a/Tests/RunCMake/target_compile_options/empty_keyword_args-result.txt b/Tests/RunCMake/target_compile_options/empty_keyword_args-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/target_compile_options/empty_keyword_args-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/target_compile_options/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_compile_options/empty_keyword_args-stderr.txt
new file mode 100644
index 0000000..381ff48
--- /dev/null
+++ b/Tests/RunCMake/target_compile_options/empty_keyword_args-stderr.txt
@@ -0,0 +1,5 @@
+CMake Error at empty_keyword_args.cmake:2 \(target_compile_options\):
+  target_compile_options may only set INTERFACE properties on INTERFACE
+  targets
+Call Stack \(most recent call first\):
+  CMakeLists.txt:5 \(include\)
diff --git a/Tests/RunCMake/target_compile_options/empty_keyword_args.cmake b/Tests/RunCMake/target_compile_options/empty_keyword_args.cmake
new file mode 100644
index 0000000..8b92fcf
--- /dev/null
+++ b/Tests/RunCMake/target_compile_options/empty_keyword_args.cmake
@@ -0,0 +1,5 @@
+add_library(iface INTERFACE)
+target_compile_options(iface PUBLIC PRIVATE INTERFACE)
+# Cannot be called with non-compilable targets.
+#add_library(imported UNKNOWN IMPORTED)
+#target_compile_options(imported PUBLIC PRIVATE INTERFACE)
diff --git a/Tests/RunCMake/target_include_directories/CMakeLists.txt b/Tests/RunCMake/target_include_directories/CMakeLists.txt
new file mode 100644
index 0000000..14ef56e
--- /dev/null
+++ b/Tests/RunCMake/target_include_directories/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 3.11)
+
+project(${RunCMake_TEST} LANGUAGES NONE)
+
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/target_include_directories/RunCMakeTest.cmake b/Tests/RunCMake/target_include_directories/RunCMakeTest.cmake
new file mode 100644
index 0000000..b67c598
--- /dev/null
+++ b/Tests/RunCMake/target_include_directories/RunCMakeTest.cmake
@@ -0,0 +1,3 @@
+include(RunCMake)
+
+run_cmake(empty_keyword_args)
diff --git a/Tests/RunCMake/target_include_directories/empty_keyword_args-result.txt b/Tests/RunCMake/target_include_directories/empty_keyword_args-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/target_include_directories/empty_keyword_args-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/target_include_directories/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_include_directories/empty_keyword_args-stderr.txt
new file mode 100644
index 0000000..6200703
--- /dev/null
+++ b/Tests/RunCMake/target_include_directories/empty_keyword_args-stderr.txt
@@ -0,0 +1,5 @@
+CMake Error at empty_keyword_args.cmake:2 \(target_include_directories\):
+  target_include_directories may only set INTERFACE properties on INTERFACE
+  targets
+Call Stack \(most recent call first\):
+  CMakeLists.txt:5 \(include\)
diff --git a/Tests/RunCMake/target_include_directories/empty_keyword_args.cmake b/Tests/RunCMake/target_include_directories/empty_keyword_args.cmake
new file mode 100644
index 0000000..08eaf91
--- /dev/null
+++ b/Tests/RunCMake/target_include_directories/empty_keyword_args.cmake
@@ -0,0 +1,5 @@
+add_library(iface INTERFACE)
+target_include_directories(iface PUBLIC PRIVATE INTERFACE)
+# Cannot be called with non-compilable targets.
+#add_library(imported UNKNOWN IMPORTED)
+#target_include_directories(imported PUBLIC PRIVATE INTERFACE)
diff --git a/Tests/RunCMake/target_link_directories/CMakeLists.txt b/Tests/RunCMake/target_link_directories/CMakeLists.txt
new file mode 100644
index 0000000..14ef56e
--- /dev/null
+++ b/Tests/RunCMake/target_link_directories/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 3.11)
+
+project(${RunCMake_TEST} LANGUAGES NONE)
+
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/target_link_directories/RunCMakeTest.cmake b/Tests/RunCMake/target_link_directories/RunCMakeTest.cmake
new file mode 100644
index 0000000..b67c598
--- /dev/null
+++ b/Tests/RunCMake/target_link_directories/RunCMakeTest.cmake
@@ -0,0 +1,3 @@
+include(RunCMake)
+
+run_cmake(empty_keyword_args)
diff --git a/Tests/RunCMake/target_link_directories/empty_keyword_args-result.txt b/Tests/RunCMake/target_link_directories/empty_keyword_args-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/target_link_directories/empty_keyword_args-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/target_link_directories/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_link_directories/empty_keyword_args-stderr.txt
new file mode 100644
index 0000000..26ee9a1
--- /dev/null
+++ b/Tests/RunCMake/target_link_directories/empty_keyword_args-stderr.txt
@@ -0,0 +1,5 @@
+CMake Error at empty_keyword_args.cmake:2 \(target_link_directories\):
+  target_link_directories may only set INTERFACE properties on INTERFACE
+  targets
+Call Stack \(most recent call first\):
+  CMakeLists.txt:5 \(include\)
diff --git a/Tests/RunCMake/target_link_directories/empty_keyword_args.cmake b/Tests/RunCMake/target_link_directories/empty_keyword_args.cmake
new file mode 100644
index 0000000..aadf80a
--- /dev/null
+++ b/Tests/RunCMake/target_link_directories/empty_keyword_args.cmake
@@ -0,0 +1,5 @@
+add_library(iface INTERFACE)
+target_link_directories(iface PUBLIC PRIVATE INTERFACE)
+# Cannot be called with non-compilable targets.
+#add_library(imported UNKNOWN IMPORTED)
+#target_link_directories(imported PUBLIC PRIVATE INTERFACE)
diff --git a/Tests/RunCMake/target_link_libraries/RunCMakeTest.cmake b/Tests/RunCMake/target_link_libraries/RunCMakeTest.cmake
index a041d6d..0152d4c 100644
--- a/Tests/RunCMake/target_link_libraries/RunCMakeTest.cmake
+++ b/Tests/RunCMake/target_link_libraries/RunCMakeTest.cmake
@@ -19,3 +19,4 @@ run_cmake(SharedDepNotTarget)
 run_cmake(StaticPrivateDepNotExported)
 run_cmake(StaticPrivateDepNotTarget)
 run_cmake(UNKNOWN-IMPORTED-GLOBAL)
+run_cmake(empty_keyword_args)
diff --git a/Tests/RunCMake/target_link_libraries/empty_keyword_args.cmake b/Tests/RunCMake/target_link_libraries/empty_keyword_args.cmake
new file mode 100644
index 0000000..440fa06
--- /dev/null
+++ b/Tests/RunCMake/target_link_libraries/empty_keyword_args.cmake
@@ -0,0 +1,4 @@
+add_library(iface INTERFACE)
+target_link_libraries(iface PUBLIC PRIVATE INTERFACE)
+add_library(imported UNKNOWN IMPORTED)
+target_link_libraries(imported PUBLIC PRIVATE INTERFACE)
diff --git a/Tests/RunCMake/target_link_options/RunCMakeTest.cmake b/Tests/RunCMake/target_link_options/RunCMakeTest.cmake
index 1eaa5d2..1d9ef8b 100644
--- a/Tests/RunCMake/target_link_options/RunCMakeTest.cmake
+++ b/Tests/RunCMake/target_link_options/RunCMakeTest.cmake
@@ -39,3 +39,5 @@ if(RunCMake_GENERATOR MATCHES "(Ninja|Makefile)")
   run_cmake_target(LINKER_expansion LINKER linker)
   run_cmake_target(LINKER_expansion LINKER_SHELL linker_shell)
 endif()
+
+run_cmake(empty_keyword_args)
diff --git a/Tests/RunCMake/target_link_options/empty_keyword_args-result.txt b/Tests/RunCMake/target_link_options/empty_keyword_args-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/target_link_options/empty_keyword_args-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/target_link_options/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_link_options/empty_keyword_args-stderr.txt
new file mode 100644
index 0000000..0103d00
--- /dev/null
+++ b/Tests/RunCMake/target_link_options/empty_keyword_args-stderr.txt
@@ -0,0 +1,4 @@
+CMake Error at empty_keyword_args.cmake:2 \(target_link_options\):
+  target_link_options may only set INTERFACE properties on INTERFACE targets
+Call Stack \(most recent call first\):
+  CMakeLists.txt:5 \(include\)
diff --git a/Tests/RunCMake/target_link_options/empty_keyword_args.cmake b/Tests/RunCMake/target_link_options/empty_keyword_args.cmake
new file mode 100644
index 0000000..a1a297e
--- /dev/null
+++ b/Tests/RunCMake/target_link_options/empty_keyword_args.cmake
@@ -0,0 +1,5 @@
+add_library(iface INTERFACE)
+target_link_options(iface PUBLIC PRIVATE INTERFACE)
+# Cannot be called with non-compilable targets.
+#add_library(imported UNKNOWN IMPORTED)
+#target_link_options(imported PUBLIC PRIVATE INTERFACE)
diff --git a/Tests/RunCMake/target_sources/CMakeLists.txt b/Tests/RunCMake/target_sources/CMakeLists.txt
new file mode 100644
index 0000000..14ef56e
--- /dev/null
+++ b/Tests/RunCMake/target_sources/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 3.11)
+
+project(${RunCMake_TEST} LANGUAGES NONE)
+
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/target_sources/RunCMakeTest.cmake b/Tests/RunCMake/target_sources/RunCMakeTest.cmake
new file mode 100644
index 0000000..b67c598
--- /dev/null
+++ b/Tests/RunCMake/target_sources/RunCMakeTest.cmake
@@ -0,0 +1,3 @@
+include(RunCMake)
+
+run_cmake(empty_keyword_args)
diff --git a/Tests/RunCMake/target_sources/empty_keyword_args-result.txt b/Tests/RunCMake/target_sources/empty_keyword_args-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/target_sources/empty_keyword_args-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/target_sources/empty_keyword_args-stderr.txt b/Tests/RunCMake/target_sources/empty_keyword_args-stderr.txt
new file mode 100644
index 0000000..9ff5bb0
--- /dev/null
+++ b/Tests/RunCMake/target_sources/empty_keyword_args-stderr.txt
@@ -0,0 +1,4 @@
+CMake Error at empty_keyword_args.cmake:2 \(target_sources\):
+  target_sources may only set INTERFACE properties on INTERFACE targets
+Call Stack \(most recent call first\):
+  CMakeLists.txt:5 \(include\)
diff --git a/Tests/RunCMake/target_sources/empty_keyword_args.cmake b/Tests/RunCMake/target_sources/empty_keyword_args.cmake
new file mode 100644
index 0000000..5cee451
--- /dev/null
+++ b/Tests/RunCMake/target_sources/empty_keyword_args.cmake
@@ -0,0 +1,5 @@
+add_library(iface INTERFACE)
+target_sources(iface PUBLIC PRIVATE INTERFACE)
+# Cannot be called with non-compilable targets.
+#add_library(imported UNKNOWN IMPORTED)
+#target_sources(imported PUBLIC PRIVATE INTERFACE)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3eebe28ef41a298f9743db44a7265742891fc225
commit 3eebe28ef41a298f9743db44a7265742891fc225
Author:     Mateusz Zych <mte.zych at gmail.com>
AuthorDate: Sat Oct 6 22:29:37 2018 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Oct 26 11:31:37 2018 -0400

    cmLocalNinjaGenerator: Simplify CreateRulePlaceholderExpander
    
    Re-use the derived class implementation instead of duplicating it.

diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx
index eb31478..66edc91 100644
--- a/Source/cmLocalNinjaGenerator.cxx
+++ b/Source/cmLocalNinjaGenerator.cxx
@@ -17,6 +17,7 @@
 #include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
 #include "cmGlobalNinjaGenerator.h"
+#include "cmLocalGenerator.h"
 #include "cmMakefile.h"
 #include "cmNinjaTargetGenerator.h"
 #include "cmRulePlaceholderExpander.h"
@@ -40,8 +41,7 @@ cmRulePlaceholderExpander*
 cmLocalNinjaGenerator::CreateRulePlaceholderExpander() const
 {
   cmRulePlaceholderExpander* ret =
-    new cmRulePlaceholderExpander(this->Compilers, this->VariableMappings,
-                                  this->CompilerSysroot, this->LinkerSysroot);
+    this->cmLocalGenerator::CreateRulePlaceholderExpander();
   ret->SetTargetImpLib("$TARGET_IMPLIB");
   return ret;
 }

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

Summary of changes:
 Help/release/dev/FindGDAL-target.rst               |  4 ++
 Modules/CMakeASMCompiler.cmake.in                  |  1 +
 Modules/CMakeCCompiler.cmake.in                    |  1 +
 Modules/CMakeCUDACompiler.cmake.in                 |  3 ++
 Modules/CMakeCXXCompiler.cmake.in                  |  1 +
 Modules/CMakeFindBinUtils.cmake                    | 53 ++++++++++++++------
 Modules/FindGDAL.cmake                             | 57 +++++++++++++++++-----
 Modules/Platform/Windows-MSVC.cmake                |  9 ++--
 Modules/Platform/Windows-NVIDIA-CUDA.cmake         |  6 ++-
 Source/cmLocalGenerator.cxx                        |  1 +
 Source/cmLocalNinjaGenerator.cxx                   |  4 +-
 Source/cmTargetPropCommandBase.cxx                 | 25 ++++++----
 Source/cmcmd.cxx                                   | 12 ++++-
 Tests/CMakeLists.txt                               |  4 ++
 Tests/FindGDAL/CMakeLists.txt                      | 10 ++++
 Tests/FindGDAL/Test/CMakeLists.txt                 | 16 ++++++
 Tests/FindGDAL/Test/main.c                         | 11 +++++
 Tests/RunCMake/CMakeLists.txt                      |  5 ++
 .../CMakeLists.txt                                 |  0
 .../target_compile_definitions/RunCMakeTest.cmake  |  3 ++
 .../empty_keyword_args.cmake                       |  5 ++
 .../target_compile_features/RunCMakeTest.cmake     |  1 +
 .../empty_keyword_args.cmake                       |  5 ++
 .../CMakeLists.txt                                 |  0
 .../target_compile_options/RunCMakeTest.cmake      |  3 ++
 .../empty_keyword_args.cmake                       |  5 ++
 .../CMakeLists.txt                                 |  0
 .../target_include_directories/RunCMakeTest.cmake  |  3 ++
 .../empty_keyword_args.cmake                       |  5 ++
 .../CMakeLists.txt                                 |  0
 .../target_link_directories/RunCMakeTest.cmake     |  3 ++
 .../empty_keyword_args.cmake                       |  5 ++
 .../target_link_libraries/RunCMakeTest.cmake       |  1 +
 .../target_link_libraries/empty_keyword_args.cmake |  4 ++
 .../target_link_options/RunCMakeTest.cmake         |  2 +
 .../target_link_options/empty_keyword_args.cmake   |  5 ++
 .../CMakeLists.txt                                 |  0
 Tests/RunCMake/target_sources/RunCMakeTest.cmake   |  3 ++
 .../target_sources/empty_keyword_args.cmake        |  5 ++
 39 files changed, 235 insertions(+), 46 deletions(-)
 create mode 100644 Help/release/dev/FindGDAL-target.rst
 create mode 100644 Tests/FindGDAL/CMakeLists.txt
 create mode 100644 Tests/FindGDAL/Test/CMakeLists.txt
 create mode 100644 Tests/FindGDAL/Test/main.c
 copy Tests/RunCMake/{target_link_options => target_compile_definitions}/CMakeLists.txt (100%)
 create mode 100644 Tests/RunCMake/target_compile_definitions/RunCMakeTest.cmake
 create mode 100644 Tests/RunCMake/target_compile_definitions/empty_keyword_args.cmake
 create mode 100644 Tests/RunCMake/target_compile_features/empty_keyword_args.cmake
 copy Tests/RunCMake/{target_link_options => target_compile_options}/CMakeLists.txt (100%)
 create mode 100644 Tests/RunCMake/target_compile_options/RunCMakeTest.cmake
 create mode 100644 Tests/RunCMake/target_compile_options/empty_keyword_args.cmake
 copy Tests/RunCMake/{target_link_options => target_include_directories}/CMakeLists.txt (100%)
 create mode 100644 Tests/RunCMake/target_include_directories/RunCMakeTest.cmake
 create mode 100644 Tests/RunCMake/target_include_directories/empty_keyword_args.cmake
 copy Tests/RunCMake/{target_link_options => target_link_directories}/CMakeLists.txt (100%)
 create mode 100644 Tests/RunCMake/target_link_directories/RunCMakeTest.cmake
 create mode 100644 Tests/RunCMake/target_link_directories/empty_keyword_args.cmake
 create mode 100644 Tests/RunCMake/target_link_libraries/empty_keyword_args.cmake
 create mode 100644 Tests/RunCMake/target_link_options/empty_keyword_args.cmake
 copy Tests/RunCMake/{target_link_options => target_sources}/CMakeLists.txt (100%)
 create mode 100644 Tests/RunCMake/target_sources/RunCMakeTest.cmake
 create mode 100644 Tests/RunCMake/target_sources/empty_keyword_args.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list