ソースを参照

Merge topic 'custom-command-slashes'

1286050 Normalize slashes of add_custom_(command|target) DEPENDS (#11973)
Brad King 14 年 前
コミット
148b528f9d

+ 9 - 3
Source/cmAddCustomCommandCommand.cxx

@@ -195,11 +195,13 @@ bool cmAddCustomCommandCommand
            {
            // An implicit dependency starting point is also an
            // explicit dependency.
-           depends.push_back(copy);
+           std::string dep = copy;
+           cmSystemTools::ConvertToUnixSlashes(dep);
+           depends.push_back(dep);
 
            // Add the implicit dependency language and file.
            cmCustomCommand::ImplicitDependsPair
-             entry(implicit_depends_lang, copy);
+             entry(implicit_depends_lang, dep);
            implicit_depends.push_back(entry);
 
            // Switch back to looking for a language.
@@ -213,7 +215,11 @@ bool cmAddCustomCommandCommand
            target = copy;
            break;
          case doing_depends:
-           depends.push_back(copy);
+           {
+           std::string dep = copy;
+           cmSystemTools::ConvertToUnixSlashes(dep);
+           depends.push_back(dep);
+           }
            break;
          case doing_outputs:
            outputs.push_back(filename);

+ 5 - 1
Source/cmAddCustomTargetCommand.cxx

@@ -123,7 +123,11 @@ bool cmAddCustomTargetCommand
           currentLine.push_back(copy);
           break;
         case doing_depends:
-          depends.push_back(copy);
+          {
+          std::string dep = copy;
+          cmSystemTools::ConvertToUnixSlashes(dep);
+          depends.push_back(dep);
+          }
           break;
          case doing_comment:
            comment_buffer = copy;

+ 0 - 1
Source/cmLocalGenerator.cxx

@@ -1904,7 +1904,6 @@ bool cmLocalGenerator::GetRealDependency(const char* inName,
     {
     // This is a full path.  Return it as given.
     dep = inName;
-    cmSystemTools::ConvertToUnixSlashes(dep);
     return true;
     }
 

+ 1 - 1
Tests/CustomCommand/CMakeLists.txt

@@ -102,7 +102,7 @@ ADD_CUSTOM_TARGET(TDocument ALL
   COMMAND ${CMAKE_COMMAND} -E echo " Copying doc1.h to doc2.h."
   COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc1.h
                                    ${PROJECT_BINARY_DIR}/doc2.h
-  DEPENDS ${PROJECT_BINARY_DIR}/doc1.h doc1.txt
+  DEPENDS doc1.txt ${PROJECT_BINARY_DIR}//doc1.h # test 2 slashes
   COMMENT "Running top-level TDocument commands"
   SOURCES doc1.tex
   )