[Cmake-commits] CMake branch, next, updated. v3.4.0-rc2-1223-gabb6548

Brad King brad.king at kitware.com
Mon Nov 2 14:15:13 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  abb6548710a19ffbcc7168229edc7828dd1d3326 (commit)
       via  e10873cee168013e854488cd2bc7d1753f817539 (commit)
       via  43f302ff68cdf76521c0ab43468b6190e1e842f0 (commit)
      from  5a6f29d605b6357ee65154f78aa2d58952ff2a1a (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=abb6548710a19ffbcc7168229edc7828dd1d3326
commit abb6548710a19ffbcc7168229edc7828dd1d3326
Merge: 5a6f29d e10873c
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Nov 2 14:15:13 2015 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Nov 2 14:15:13 2015 -0500

    Merge topic 'vs-show-def-files' into next
    
    e10873ce VS: Add module definition `.def` files to .vcxproj files (#15313)
    43f302ff Refactor `.def` file lookup


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e10873cee168013e854488cd2bc7d1753f817539
commit e10873cee168013e854488cd2bc7d1753f817539
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: Mon Nov 2 14:13:34 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=43f302ff68cdf76521c0ab43468b6190e1e842f0
commit 43f302ff68cdf76521c0ab43468b6190e1e842f0
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: Mon Nov 2 14:12:09 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 1f74eda..624ec9a 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)");

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

Summary of changes:
 Source/cmCommonTargetGenerator.cxx         |    4 ++--
 Source/cmCommonTargetGenerator.h           |    2 +-
 Source/cmGeneratorTarget.cxx               |   14 ++++++++++----
 Source/cmGeneratorTarget.h                 |    2 +-
 Source/cmMakefileTargetGenerator.cxx       |    4 ++--
 Source/cmNinjaTargetGenerator.cxx          |    5 +++--
 Source/cmVisualStudio10TargetGenerator.cxx |   13 ++++++++++---
 7 files changed, 29 insertions(+), 15 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list