[Cmake-commits] CMake branch, master, updated. v3.13.2-735-ge2d0da3

Kitware Robot kwrobot at kitware.com
Thu Dec 13 10:13:03 EST 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  e2d0da3366ca09f98be4f5557397838f4a59f49f (commit)
       via  ed1c375c05e09997c9ffafc739fb6d3c1dca5c27 (commit)
       via  ea3d60cffaa3761f258ff1bea4ba6f589cae7ad7 (commit)
       via  b5b63da0883bdd3487e7a3b423acbdd5b582326a (commit)
      from  6589f67fb725df68836646ab1e30f496d58f9e36 (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=e2d0da3366ca09f98be4f5557397838f4a59f49f
commit e2d0da3366ca09f98be4f5557397838f4a59f49f
Merge: ed1c375 b5b63da
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 13 15:03:46 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Dec 13 10:03:52 2018 -0500

    Merge topic 'vs_deploy_content_fix'
    
    b5b63da088 VS: Fix Deploy content in .csproj files
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2713


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed1c375c05e09997c9ffafc739fb6d3c1dca5c27
commit ed1c375c05e09997c9ffafc739fb6d3c1dca5c27
Merge: 6589f67 ea3d60c
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 13 15:02:54 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Dec 13 10:03:00 2018 -0500

    Merge topic 'vs-csharp-ref-dot'
    
    ea3d60cffa VisualStudio10TargetGenerator: support C# refs with '.' in file name.
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2729


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ea3d60cffaa3761f258ff1bea4ba6f589cae7ad7
commit ea3d60cffaa3761f258ff1bea4ba6f589cae7ad7
Author:     Wil Stark <wil_stark at keysight.com>
AuthorDate: Tue Dec 11 10:47:48 2018 -0800
Commit:     Wil Stark <wil_stark at keysight.com>
CommitDate: Tue Dec 11 10:47:48 2018 -0800

    VisualStudio10TargetGenerator: support C# refs with '.' in file name.
    
    Fixes: #18696

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 7d7defc..667e40b 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -723,7 +723,8 @@ void cmVisualStudio10TargetGenerator::WriteDotNetReferences(Elem& e0)
       // if the entry from VS_DOTNET_REFERENCES is an existing file, generate
       // a new hint-reference and name it from the filename
       if (cmsys::SystemTools::FileExists(ri, true)) {
-        std::string name = cmsys::SystemTools::GetFilenameWithoutExtension(ri);
+        std::string name =
+          cmsys::SystemTools::GetFilenameWithoutLastExtension(ri);
         std::string path = ri;
         ConvertToWindowsSlash(path);
         this->DotNetHintReferences[""].push_back(

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b5b63da0883bdd3487e7a3b423acbdd5b582326a
commit b5b63da0883bdd3487e7a3b423acbdd5b582326a
Author:     Wil Stark <wil_stark at keysight.com>
AuthorDate: Thu Dec 6 12:04:41 2018 -0800
Commit:     Wil Stark <wil_stark at keysight.com>
CommitDate: Fri Dec 7 09:01:32 2018 -0800

    VS: Fix Deploy content in .csproj files

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 7d7defc..e4ee184 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1680,6 +1680,7 @@ void cmVisualStudio10TargetGenerator::WriteExtraSource(Elem& e1,
     subType = "Designer";
   }
   if (const char* c = sf->GetProperty("VS_COPY_TO_OUT_DIR")) {
+    tool = "Content";
     copyToOutDir = c;
     toolHasSettings = true;
   }
diff --git a/Tests/RunCMake/VS10Project/RunCMakeTest.cmake b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake
index 4bfb2f2..db375ae 100644
--- a/Tests/RunCMake/VS10Project/RunCMakeTest.cmake
+++ b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake
@@ -12,5 +12,6 @@ run_cmake(VsDebuggerEnvironment)
 run_cmake(VsCSharpCustomTags)
 run_cmake(VsCSharpReferenceProps)
 run_cmake(VsCSharpWithoutSources)
+run_cmake(VsCSharpDeployFiles)
 run_cmake(VsSdkDirectories)
 run_cmake(VsGlobals)
diff --git a/Tests/RunCMake/VS10Project/VsCSharpDeployFiles-check.cmake b/Tests/RunCMake/VS10Project/VsCSharpDeployFiles-check.cmake
new file mode 100644
index 0000000..c29f2ae
--- /dev/null
+++ b/Tests/RunCMake/VS10Project/VsCSharpDeployFiles-check.cmake
@@ -0,0 +1,67 @@
+set(csProjectFile "${RunCMake_TEST_BINARY_DIR}/foo.csproj")
+if(NOT EXISTS "${csProjectFile}")
+  set(RunCMake_TEST_FAILED "Project file ${csProjectFile} does not exist.")
+  return()
+endif()
+
+
+set(inNode1 FALSE)
+set(foundNode1 FALSE)
+set(foundCopyDirective1 FALSE)
+
+set(inNode2 FALSE)
+set(foundNode2 FALSE)
+set(foundCopyDirective2 FALSE)
+
+set(foundNode3 FALSE)
+
+file(STRINGS "${csProjectFile}" lines)
+
+foreach(line IN LISTS lines)
+    if( inNode1 )
+      if(line MATCHES " *<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> *$")
+        set(foundCopyDirective1 TRUE)
+      elseif( line MATCHES " *</Content> *$")
+        set(inNode1 FALSE)
+      endif()
+    elseif( inNode2 )
+      if(line MATCHES " *<CopyToOutputDirectory>Always</CopyToOutputDirectory> *$")
+        set(foundCopyDirective2 TRUE)
+      elseif( line MATCHES " *</Content> *$")
+        set(inNode2 FALSE)
+      endif()
+    elseif(line MATCHES "^ *<Content *Include *= *\".*content1\\.txt\"> *")
+      set(foundNode1 TRUE)
+      set(inNode1 TRUE)
+    elseif(line MATCHES "^ *<Content *Include *= *\".*content2\\.txt\"> *")
+      set(foundNode2 TRUE)
+      set(inNode2 TRUE)
+    elseif(line MATCHES "^ *<None *Include *= *\".*content3\\.txt\"> *")
+      set(foundNode3 TRUE)
+    endif()
+endforeach()
+
+if(NOT foundNode1)
+  set(RunCMake_TEST_FAILED "Did not find <Content> item content1.txt.")
+  return()
+endif()
+
+if(NOT foundCopyDirective1)
+  set(RunCMake_TEST_FAILED "Did not find PreserveNewest for <Content> item content1.txt.")
+  return()
+endif()
+
+if(NOT foundNode2)
+  set(RunCMake_TEST_FAILED "Did not find <Content> item content2.txt.")
+  return()
+endif()
+
+if(NOT foundCopyDirective2)
+  set(RunCMake_TEST_FAILED "Did not find Always for <Content> item content2.txt.")
+  return()
+endif()
+
+if(NOT foundNode3)
+  set(RunCMake_TEST_FAILED "Did not find <None> item content3.txt.")
+  return()
+endif()
diff --git a/Tests/RunCMake/VS10Project/VsCSharpDeployFiles.cmake b/Tests/RunCMake/VS10Project/VsCSharpDeployFiles.cmake
new file mode 100644
index 0000000..cb77fa7
--- /dev/null
+++ b/Tests/RunCMake/VS10Project/VsCSharpDeployFiles.cmake
@@ -0,0 +1,27 @@
+enable_language(CSharp)
+
+set(fileNames
+  "${CMAKE_CURRENT_BINARY_DIR}/content1.txt"
+  "${CMAKE_CURRENT_BINARY_DIR}/content2.txt"
+  "${CMAKE_CURRENT_BINARY_DIR}/content3.txt")
+
+foreach(f ${fileNames})
+  message(STATUS "touch ${f}")
+  file(TOUCH ${f})
+endforeach()
+
+set_source_files_properties( "${CMAKE_CURRENT_BINARY_DIR}/content1.txt"
+  PROPERTIES
+    VS_COPY_TO_OUT_DIR PreserveNewest
+)
+
+set_source_files_properties( "${CMAKE_CURRENT_BINARY_DIR}/content2.txt"
+  PROPERTIES
+    VS_COPY_TO_OUT_DIR Always
+)
+
+
+add_library(foo SHARED
+  foo.cs
+  ${fileNames}
+)

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

Summary of changes:
 Source/cmVisualStudio10TargetGenerator.cxx         |  4 +-
 Tests/RunCMake/VS10Project/RunCMakeTest.cmake      |  1 +
 .../VS10Project/VsCSharpDeployFiles-check.cmake    | 67 ++++++++++++++++++++++
 .../RunCMake/VS10Project/VsCSharpDeployFiles.cmake | 27 +++++++++
 4 files changed, 98 insertions(+), 1 deletion(-)
 create mode 100644 Tests/RunCMake/VS10Project/VsCSharpDeployFiles-check.cmake
 create mode 100644 Tests/RunCMake/VS10Project/VsCSharpDeployFiles.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list