diff options
author | Brad King <brad.king@kitware.com> | 2014-02-27 14:53:16 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-02-27 14:53:16 (GMT) |
commit | 0f55f2547f45090d093a6f0871b107bf1fac4458 (patch) | |
tree | ed61419732e32c35d87c8a2e5be0f31d29e629dd | |
parent | 0f9dbc1608969c3b2dd7e4842e338fa5f90f0b43 (diff) | |
download | CMake-0f55f2547f45090d093a6f0871b107bf1fac4458.zip CMake-0f55f2547f45090d093a6f0871b107bf1fac4458.tar.gz CMake-0f55f2547f45090d093a6f0871b107bf1fac4458.tar.bz2 |
VS: For Intel Fortran .vfproj put OBJECT libs in link line (#14777)
The Intel Fortran .vfproj format accepts the $(Configuration) placeholder
in the path to an input file but appears to consider it always out of
date. Therefore adding OBJECT library objects as external object source
files causes the referencing binary to re-link on every build. Work
around this problem by putting OBJECT library objects on the link line
as is done for VS < 8 already.
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index ce24d8d..d11bf55 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -1044,7 +1044,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout, fout << "\t\t\t<Tool\n" << "\t\t\t\tName=\"" << tool << "\"\n"; - if(this->GetVersion() < VS8) + if(this->GetVersion() < VS8 || this->FortranProject) { cmOStringStream libdeps; this->Internal->OutputObjects(libdeps, &target); @@ -1104,7 +1104,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout, // libraries which may be set by the user to something bad. fout << "\t\t\t\tAdditionalDependencies=\"$(NOINHERIT) " << this->Makefile->GetSafeDefinition(standardLibsVar.c_str()); - if(this->GetVersion() < VS8) + if(this->GetVersion() < VS8 || this->FortranProject) { this->Internal->OutputObjects(fout, &target, " "); } @@ -1202,7 +1202,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout, // libraries which may be set by the user to something bad. fout << "\t\t\t\tAdditionalDependencies=\"$(NOINHERIT) " << this->Makefile->GetSafeDefinition(standardLibsVar.c_str()); - if(this->GetVersion() < VS8) + if(this->GetVersion() < VS8 || this->FortranProject) { this->Internal->OutputObjects(fout, &target, " "); } @@ -1423,7 +1423,7 @@ void cmLocalVisualStudio7Generator::WriteVCProjFile(std::ostream& fout, this->WriteGroup(&sg, target, fout, libName, configs); } - if(this->GetVersion() >= VS8) + if(this->GetVersion() >= VS8 && !this->FortranProject) { // VS >= 8 support per-config source locations so we // list object library content as external objects. |