[Cmake-commits] CMake branch, next, updated. v3.4.0-rc3-1228-g5e0cafb

Brad King brad.king at kitware.com
Wed Nov 4 09:16:46 EST 2015


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, next has been updated
       via  5e0cafb14164d92300e618c4ac6f5769ad5b8450 (commit)
       via  e7e713cc0533cd8f1ef47de4cdfd895d33545502 (commit)
       via  247c168b987a8c9c479112c13078aa2e5db37773 (commit)
       via  adfc8a677e51772d87a3e050477c60ce0b70288f (commit)
      from  d018a8c8aac6cf99594dfadf5561b94f3de716b8 (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=5e0cafb14164d92300e618c4ac6f5769ad5b8450
commit 5e0cafb14164d92300e618c4ac6f5769ad5b8450
Merge: d018a8c e7e713c
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Nov 4 09:16:45 2015 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Nov 4 09:16:45 2015 -0500

    Merge topic 'vs-show-def-files' into next
    
    e7e713cc VS: Add module definition `.def` files to .vcxproj files (#15313)
    247c168b Refactor `.def` file lookup
    adfc8a67 cmGeneratorTarget: Fix IMPLEMENT_VISIT_IMPL for template data types


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e7e713cc0533cd8f1ef47de4cdfd895d33545502
commit e7e713cc0533cd8f1ef47de4cdfd895d33545502
Author:     Tim Grothe <Tim.Grothe at gmail.com>
AuthorDate: Mon Nov 2 15:24:25 2015 +0100
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Nov 4 09:15:14 2015 -0500

    VS: Add module definition `.def` files to .vcxproj files (#15313)
    
    Make them appear in the IDE project tree for reference by developers.

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 9e2dc65..6e1fb5b 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1613,6 +1613,12 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
     (*this->BuildFileStream ) << cmVS10EscapeXML(obj) << "\" />\n";
     }
 
+  if (cmSourceFile const* defsrc =
+      this->GeneratorTarget->GetModuleDefinitionFile(""))
+    {
+    this->WriteSource("None", defsrc);
+    }
+
   if (this->IsMissingFiles)
     {
     this->WriteMissingFiles();

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=247c168b987a8c9c479112c13078aa2e5db37773
commit 247c168b987a8c9c479112c13078aa2e5db37773
Author:     Tim Grothe <Tim.Grothe at gmail.com>
AuthorDate: Mon Nov 2 15:24:25 2015 +0100
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Nov 4 09:15:14 2015 -0500

    Refactor `.def` file lookup
    
    Return a `cmSourceFile const*` from GetModuleDefinitionFile so that
    callers can get more information than just the path to the file.

diff --git a/Source/cmCommonTargetGenerator.cxx b/Source/cmCommonTargetGenerator.cxx
index bd47715..76ed038 100644
--- a/Source/cmCommonTargetGenerator.cxx
+++ b/Source/cmCommonTargetGenerator.cxx
@@ -81,7 +81,7 @@ void cmCommonTargetGenerator::AddFeatureFlags(
 //----------------------------------------------------------------------------
 void cmCommonTargetGenerator::AddModuleDefinitionFlag(std::string& flags)
 {
-  if(this->ModuleDefinitionFile.empty())
+  if(!this->ModuleDefinitionFile)
     {
     return;
     }
@@ -98,7 +98,7 @@ void cmCommonTargetGenerator::AddModuleDefinitionFlag(std::string& flags)
   // vs6's "cl -link" pass it to the linker.
   std::string flag = defFileFlag;
   flag += (this->LocalGenerator->ConvertToLinkReference(
-             this->ModuleDefinitionFile));
+             this->ModuleDefinitionFile->GetFullPath()));
   this->LocalGenerator->AppendFlags(flags, flag);
 }
 
diff --git a/Source/cmCommonTargetGenerator.h b/Source/cmCommonTargetGenerator.h
index 3fb1fd0..0c17500 100644
--- a/Source/cmCommonTargetGenerator.h
+++ b/Source/cmCommonTargetGenerator.h
@@ -54,7 +54,7 @@ protected:
   std::string ConfigName;
 
   // The windows module definition source file (.def), if any.
-  std::string ModuleDefinitionFile;
+  cmSourceFile const* ModuleDefinitionFile;
 
   // Target-wide Fortran module output directory.
   bool FortranModuleDirectoryComputed;
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 0f5a7e7..40afc0e 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -2095,12 +2095,18 @@ cmGeneratorTarget::CompileInfo const* cmGeneratorTarget::GetCompileInfo(
 }
 
 //----------------------------------------------------------------------------
-std::string
+cmSourceFile const*
 cmGeneratorTarget::GetModuleDefinitionFile(const std::string& config) const
 {
-  std::string data;
-  IMPLEMENT_VISIT_IMPL(ModuleDefinitionFile, COMMA std::string)
-  return data;
+  std::vector<cmSourceFile const*> data;
+  IMPLEMENT_VISIT_IMPL(ModuleDefinitionFile,
+                       COMMA std::vector<cmSourceFile const*>)
+  if(!data.empty())
+    {
+    return data.front();
+    }
+
+  return 0;
 }
 
 bool cmGeneratorTarget::IsDLLPlatform() const
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index da59a98..bd23477 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -220,7 +220,7 @@ public:
   cmLocalGenerator* LocalGenerator;
   cmGlobalGenerator const* GlobalGenerator;
 
-  std::string GetModuleDefinitionFile(const std::string& config) const;
+  cmSourceFile const* GetModuleDefinitionFile(const std::string& config) const;
 
   /** Return whether or not the target is for a DLL platform.  */
   bool IsDLLPlatform() const;
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 7acccb3..eedc6ab 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -1497,9 +1497,9 @@ void cmMakefileTargetGenerator
   this->AppendTargetDepends(depends);
 
   // Add a dependency on the link definitions file, if any.
-  if(!this->ModuleDefinitionFile.empty())
+  if(this->ModuleDefinitionFile)
     {
-    depends.push_back(this->ModuleDefinitionFile);
+    depends.push_back(this->ModuleDefinitionFile->GetFullPath());
     }
 
   // Add a dependency on user-specified manifest files, if any.
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index dc2c7a6..5ff4fdb 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -195,9 +195,10 @@ cmNinjaDeps cmNinjaTargetGenerator::ComputeLinkDeps() const
   std::transform(deps.begin(), deps.end(), result.begin(), MapToNinjaPath());
 
   // Add a dependency on the link definitions file, if any.
-  if(!this->ModuleDefinitionFile.empty())
+  if(this->ModuleDefinitionFile)
     {
-    result.push_back(this->ConvertToNinjaPath(this->ModuleDefinitionFile));
+    result.push_back(this->ConvertToNinjaPath(
+        this->ModuleDefinitionFile->GetFullPath()));
     }
 
   // Add a dependency on user-specified manifest files, if any.
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 7da00fa..9e2dc65 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -2642,10 +2642,11 @@ cmVisualStudio10TargetGenerator::ComputeLinkOptions(std::string const& config)
 
   if(this->MSTools)
     {
-    std::string def = this->GeneratorTarget->GetModuleDefinitionFile("");
-    if(!def.empty())
+    if (cmSourceFile const* defsrc =
+        this->GeneratorTarget->GetModuleDefinitionFile(""))
       {
-      linkOptions.AddFlag("ModuleDefinitionFile", def.c_str());
+      linkOptions.AddFlag("ModuleDefinitionFile",
+                          defsrc->GetFullPath().c_str());
       }
     linkOptions.AppendFlag("IgnoreSpecificDefaultLibraries",
                            "%(IgnoreSpecificDefaultLibraries)");

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=adfc8a677e51772d87a3e050477c60ce0b70288f
commit adfc8a677e51772d87a3e050477c60ce0b70288f
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Nov 2 16:02:59 2015 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Nov 4 09:15:13 2015 -0500

    cmGeneratorTarget: Fix IMPLEMENT_VISIT_IMPL for template data types
    
    Update spacing near the DATATYPE reference to prevent construction
    of `>>` as a preprocessing token if DATATYPE is a template type.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 1f74eda..0f5a7e7 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -573,7 +573,7 @@ static void handleSystemIncludesDep(cmLocalGenerator *lg,
   { \
   std::vector<cmSourceFile*> sourceFiles; \
   this->GetSourceFiles(sourceFiles, config); \
-  TagVisitor<DATA ## Tag DATATYPE> visitor(this, data); \
+  TagVisitor< DATA##Tag DATATYPE > visitor(this, data); \
   for(std::vector<cmSourceFile*>::const_iterator si = sourceFiles.begin(); \
       si != sourceFiles.end(); ++si) \
     { \

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

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list