[Cmake-commits] CMake branch, master, updated. v3.11.1-604-ge5d1584

Kitware Robot kwrobot at kitware.com
Wed Apr 25 08:55:07 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  e5d15848ca6cdc52ff44edcde7689518793a5eb6 (commit)
       via  8fd76452a46b89450a1d3a5d5eb5c96541dc20a1 (commit)
       via  52c11e4f646404ea75e013c358196f64cb1a925e (commit)
       via  92eae6b72d5e57c8f42781b8c40545d6db348488 (commit)
       via  8d1ccbc693398b3ac67aa6f0cf222c6ed78fc9b8 (commit)
       via  7b1c5f9f05bb8f3b48a5284cc236f1b483b70cf9 (commit)
       via  bff4651f2e077350d1c8b691d9fce5dd57bb6f69 (commit)
       via  6dcd1bfa39684c952730904a43e268f42bf98301 (commit)
      from  7e4e14219dd93eae6fbe092fbe0cb403d4194abc (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=e5d15848ca6cdc52ff44edcde7689518793a5eb6
commit e5d15848ca6cdc52ff44edcde7689518793a5eb6
Merge: 8fd7645 8d1ccbc
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 25 12:53:49 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Apr 25 08:53:54 2018 -0400

    Merge topic 'vs-hlsl-object-name'
    
    8d1ccbc693 VS: Add VS_SHADER_OBJECT_FILE_NAME source file property
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1997


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8fd76452a46b89450a1d3a5d5eb5c96541dc20a1
commit 8fd76452a46b89450a1d3a5d5eb5c96541dc20a1
Merge: 52c11e4 7b1c5f9
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 25 12:52:53 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Apr 25 08:53:01 2018 -0400

    Merge topic 'testbigendian-cache-check-fix'
    
    7b1c5f9f05 TestBigEndian: Include CheckTypeSize outside macro
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1999


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=52c11e4f646404ea75e013c358196f64cb1a925e
commit 52c11e4f646404ea75e013c358196f64cb1a925e
Merge: 92eae6b 6dcd1bf
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 25 12:52:08 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Apr 25 08:52:15 2018 -0400

    Merge topic 'file_install_always_out_of_date_fix'
    
    6dcd1bfa39 file(INSTALL): Preserve file time when writing NTFS alternate stream
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1992


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=92eae6b72d5e57c8f42781b8c40545d6db348488
commit 92eae6b72d5e57c8f42781b8c40545d6db348488
Merge: 7e4e142 bff4651
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 25 12:50:52 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Apr 25 08:51:03 2018 -0400

    Merge topic 'cuda-no-cache-host-compiler'
    
    bff4651f2e CUDA: Do not create CMAKE_CUDA_HOST_COMPILER cache entry
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2003


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8d1ccbc693398b3ac67aa6f0cf222c6ed78fc9b8
commit 8d1ccbc693398b3ac67aa6f0cf222c6ed78fc9b8
Author:     Jeremiah van Oosten <jpvanoosten at hotmail.com>
AuthorDate: Mon Apr 23 15:04:10 2018 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 24 11:29:16 2018 -0400

    VS: Add VS_SHADER_OBJECT_FILE_NAME source file property

diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst
index d141479..b3e2fec 100644
--- a/Help/manual/cmake-properties.7.rst
+++ b/Help/manual/cmake-properties.7.rst
@@ -405,6 +405,7 @@ Properties on Source Files
    /prop_sf/VS_SHADER_ENTRYPOINT
    /prop_sf/VS_SHADER_FLAGS
    /prop_sf/VS_SHADER_MODEL
+   /prop_sf/VS_SHADER_OBJECT_FILE_NAME
    /prop_sf/VS_SHADER_OUTPUT_HEADER_FILE
    /prop_sf/VS_SHADER_TYPE
    /prop_sf/VS_SHADER_VARIABLE_NAME
diff --git a/Help/prop_sf/VS_SHADER_OBJECT_FILE_NAME.rst b/Help/prop_sf/VS_SHADER_OBJECT_FILE_NAME.rst
new file mode 100644
index 0000000..093bcc6
--- /dev/null
+++ b/Help/prop_sf/VS_SHADER_OBJECT_FILE_NAME.rst
@@ -0,0 +1,6 @@
+VS_SHADER_OBJECT_FILE_NAME
+--------------------------
+
+Specifies a file name for the compiled shader object file for an ``.hlsl``
+source file.  This adds the ``-Fo`` flag to the command line for the FxCompiler
+tool.
diff --git a/Help/release/dev/vs-hlsl-object-name.rst b/Help/release/dev/vs-hlsl-object-name.rst
new file mode 100644
index 0000000..625e5ee
--- /dev/null
+++ b/Help/release/dev/vs-hlsl-object-name.rst
@@ -0,0 +1,6 @@
+vs-hlsl-object-name
+-------------------
+
+* HLSL source file property :prop_sf:`VS_SHADER_OBJECT_FILE_NAME` has been
+  added to the :ref:`Visual Studio Generators` for VS 2010 and above.
+  The property specifies the file name of the compiled shader object.
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index b56104e..1a618a0 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1590,6 +1590,7 @@ void cmVisualStudio10TargetGenerator::WriteExtraSource(cmSourceFile const* sf)
   std::string shaderAdditionalFlags;
   std::string shaderDisableOptimizations;
   std::string shaderEnableDebug;
+  std::string shaderObjectFileName;
   std::string outputHeaderFile;
   std::string variableName;
   std::string settingsGenerator;
@@ -1666,6 +1667,10 @@ void cmVisualStudio10TargetGenerator::WriteExtraSource(cmSourceFile const* sf)
       shaderDisableOptimizations = cmSystemTools::IsOn(sdo) ? "true" : "false";
       toolHasSettings = true;
     }
+    if (const char* sofn = sf->GetProperty("VS_SHADER_OBJECT_FILE_NAME")) {
+      shaderObjectFileName = sofn;
+      toolHasSettings = true;
+    }
   } else if (ext == "jpg" || ext == "png") {
     tool = "Image";
   } else if (ext == "resw") {
@@ -1808,6 +1813,9 @@ void cmVisualStudio10TargetGenerator::WriteExtraSource(cmSourceFile const* sf)
       this->WriteElemEscapeXML("DisableOptimizations",
                                shaderDisableOptimizations, 3);
     }
+    if (!shaderObjectFileName.empty()) {
+      this->WriteElemEscapeXML("ObjectFileOutput", shaderObjectFileName, 3);
+    }
     if (!shaderAdditionalFlags.empty()) {
       this->WriteElemEscapeXML("AdditionalOptions", shaderAdditionalFlags, 3);
     }

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7b1c5f9f05bb8f3b48a5284cc236f1b483b70cf9
commit 7b1c5f9f05bb8f3b48a5284cc236f1b483b70cf9
Author:     Cristian Adam <cristian.adam at gmail.com>
AuthorDate: Tue Apr 24 08:09:47 2018 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 24 11:18:43 2018 -0400

    TestBigEndian: Include CheckTypeSize outside macro
    
    When using https://github.com/cristianadam/cmake-checks-cache I have
    noticed that CheckTypeSize would in certain cases have an empty
    `__check_type_size_dir` variable.  The errors would point to
    `TestBigEndian`.  By moving `include(CheckTypeSize)` outside the macro,
    the errors go away.
    
    Including dependencies of a module when the module is first included is
    simpler and cleaner anyway.

diff --git a/Modules/TestBigEndian.cmake b/Modules/TestBigEndian.cmake
index cc627d0..9a4bce5 100644
--- a/Modules/TestBigEndian.cmake
+++ b/Modules/TestBigEndian.cmake
@@ -14,6 +14,8 @@
 #   TEST_BIG_ENDIAN(VARIABLE)
 #   VARIABLE - variable to store the result to
 
+include(CheckTypeSize)
+
 macro(TEST_BIG_ENDIAN VARIABLE)
   if(NOT DEFINED HAVE_${VARIABLE})
     message(STATUS "Check if the system is big endian")
@@ -27,8 +29,6 @@ macro(TEST_BIG_ENDIAN VARIABLE)
       message(FATAL_ERROR "TEST_BIG_ENDIAN needs either C or CXX language enabled")
     endif()
 
-    include(CheckTypeSize)
-
     CHECK_TYPE_SIZE("unsigned short" CMAKE_SIZEOF_UNSIGNED_SHORT LANGUAGE ${_test_language})
     if(CMAKE_SIZEOF_UNSIGNED_SHORT EQUAL 2)
       message(STATUS "Using unsigned short")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bff4651f2e077350d1c8b691d9fce5dd57bb6f69
commit bff4651f2e077350d1c8b691d9fce5dd57bb6f69
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Apr 24 10:09:19 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 24 10:09:36 2018 -0400

    CUDA: Do not create CMAKE_CUDA_HOST_COMPILER cache entry
    
    Users can create it through an explicit command-line option if desired.
    
    Initializing the variable as an empty cache entry can wipe out a normal
    variable of the same name that may have been set by a toolchain file.
    Since commit v3.8.0-rc1~261^2~11 (CUDA: Use the host compiler for
    linking CUDA executables and shared libs, 2016-09-19) we save the value
    of `CMAKE_CUDA_HOST_COMPILER` persistently in the compiler information
    file as a normal variable.
    
    Fixes: #17935

diff --git a/Modules/CMakeDetermineCUDACompiler.cmake b/Modules/CMakeDetermineCUDACompiler.cmake
index 0b8fff6..113b520 100644
--- a/Modules/CMakeDetermineCUDACompiler.cmake
+++ b/Modules/CMakeDetermineCUDACompiler.cmake
@@ -40,7 +40,6 @@ else()
 endif()
 
 #Allow the user to specify a host compiler
-set(CMAKE_CUDA_HOST_COMPILER "" CACHE FILEPATH "Host compiler to be used by nvcc")
 if(NOT $ENV{CUDAHOSTCXX} STREQUAL "")
   get_filename_component(CMAKE_CUDA_HOST_COMPILER $ENV{CUDAHOSTCXX} PROGRAM)
   if(NOT EXISTS ${CMAKE_CUDA_HOST_COMPILER})

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6dcd1bfa39684c952730904a43e268f42bf98301
commit 6dcd1bfa39684c952730904a43e268f42bf98301
Author:     Yves Frederix <Yves.Frederix at dentsplysirona.com>
AuthorDate: Fri Apr 20 15:37:06 2018 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Apr 23 11:37:36 2018 -0400

    file(INSTALL): Preserve file time when writing NTFS alternate stream
    
    When cross-compiling on a Windows host, we use a `:cmake_mode_t` NTFS
    alternate stream to store the file mode for use during packaging.
    Writing to this stream changes the file modification time, so save and
    restore the original modification time since we are not modifying the
    real file content.
    
    Fixes: #17922

diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 0d31070..6c1a869 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -1129,14 +1129,26 @@ protected:
     if (permissions) {
 #ifdef WIN32
       if (Makefile->IsOn("CMAKE_CROSSCOMPILING")) {
+        // Store the mode in an NTFS alternate stream.
         std::string mode_t_adt_filename =
           std::string(toFile) + ":cmake_mode_t";
 
+        // Writing to an NTFS alternate stream changes the modification
+        // time, so we need to save and restore its original value.
+        cmSystemToolsFileTime* file_time_orig = cmSystemTools::FileTimeNew();
+        cmSystemTools::FileTimeGet(toFile, file_time_orig);
+
         cmsys::ofstream permissionStream(mode_t_adt_filename.c_str());
 
         if (permissionStream) {
           permissionStream << std::oct << permissions << std::endl;
         }
+
+        permissionStream.close();
+
+        cmSystemTools::FileTimeSet(toFile, file_time_orig);
+
+        cmSystemTools::FileTimeDelete(file_time_orig);
       }
 #endif
 

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

Summary of changes:
 Help/manual/cmake-properties.7.rst          |    1 +
 Help/prop_sf/VS_SHADER_OBJECT_FILE_NAME.rst |    6 ++++++
 Help/release/dev/vs-hlsl-object-name.rst    |    6 ++++++
 Modules/CMakeDetermineCUDACompiler.cmake    |    1 -
 Modules/TestBigEndian.cmake                 |    4 ++--
 Source/cmFileCommand.cxx                    |   12 ++++++++++++
 Source/cmVisualStudio10TargetGenerator.cxx  |    8 ++++++++
 7 files changed, 35 insertions(+), 3 deletions(-)
 create mode 100644 Help/prop_sf/VS_SHADER_OBJECT_FILE_NAME.rst
 create mode 100644 Help/release/dev/vs-hlsl-object-name.rst


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list