[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