[cmake-developers] [PATCH] VS Fortran project file: Fix mismatch between OutputDirectory and OutputFile

Vincent Newsum vynewsum at gmail.com
Sat Feb 14 15:56:37 EST 2015


When executing test VSGNUFortran using Intel Fortran Compiler 15.xx, the
following warning is issued just before compilation:

  TargetPath(...) does not match the Linker's OutputFile property value
(...).
  This may cause your project to build incorrectly.
  To correct this, please make sure that $(OutDir), $(TargetName) and
$(TargetExt) property values match the value specified in
%(Link.OutputFile).

Subsequently, an error is reported during linking.

The fix involves setting 'OutputDirectory' using the same method as is used
to set the 'OutputFile' in the generated project file.

Signed-off-by: Vincent Newsum <vynewsum at gmail dot com
<http://public.kitware.com/mailman/listinfo/cmake-developers>>
---
 Source/cmLocalVisualStudio7Generator.cxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Source/cmLocalVisualStudio7Generator.cxx
b/Source/cmLocalVisualStudio7Generator.cxx
index 914df5f..a071492 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -670,7 +670,7 @@ void
cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
   fout << "\t\t<Configuration\n"
        << "\t\t\tName=\"" << configName
        << "|" << gg->GetPlatformName() << "\"\n"
-       << "\t\t\tOutputDirectory=\"" << configName << "\"\n";
+       << "\t\t\tOutputDirectory=\"" << target.GetDirectory(configName) <<
"\"\n";
   // This is an internal type to Visual Studio, it seems that:
   // 4 == static library
   // 2 == dll
-- 
1.9.4.msysgit.0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20150214/317f2458/attachment.html>


More information about the cmake-developers mailing list