[CMake] Small nitpick...

Sylvain Benner benner at virtools.com
Mon May 29 04:07:46 EDT 2006


Hi Phillip,

Moreover the compilation time is bigger when it prints all this "compiling..." lines.
In our custom generator we don't specify any Object File and it works great. Here is the replacement we made in our cmLocalVisualStudio7Generator : 

//if(objectName.size())
// {
// fout << "\t\t\t\t\tObjectFile=\"$(IntDir)/"
// << objectName.c_str() << "\"\n";
// }
fout << "\t\t\t\t\tObjectFile=\"$(IntDir)/\"\n";

I don't know about conflicting names but I guess that VS.net has his own way to name the object files and so can perform some optimization during compilation time.
I did the test several times and without object file names specified we save up to 20 seconds per full compilation process on only one project. It's huge. It would be good that someone else tests this to be sure I'm not going mad.

Anyway I guess that for VS.net projects it's not necessary to name the object files, when you open a .vcproj generated by a wizard, it never specify any object file name (most of the time there is even no FileConfiguration element). Conflicting filenames should never occur if you let VS.net handles the naming.

Sylvain
  ----- Original Message ----- 
  From: Phillip Hellewell 
  To: cmake at cmake.org 
  Sent: Friday, May 26, 2006 6:23 PM
  Subject: [CMake] Small nitpick...


  Hi,

  Recently a bug fix was made to VS.Net 2003 generator to allow source files with the same.

  The fix was to specify an ObjectFile for each and every source file, so that they would be guaranteed to be unique. 

  Unfortunately, even with CMAKE_VERBOSE_MAKEFILE set to FALSE, what you end up with now is the following:

  Compiling...
  stringutils_test.cpp
  Compiling...
  operations_test.cpp
  Compiling...
  path_test.cpp 
  Compiling...
  main.cpp
  Compiling...
  convert.cpp

  Visual studio is so dumb that it just has to print out "Compiling..." before each and every file that has an ObjectFile specified.  It really gets in the way and makes it harder to see what is currently being compiled. 

  I know it is just a nitpick, but I really wish I knew how to get rid of those "Compiling..." lines.

  One solution would be to alter cmake to only specify ObjectFile for source files that actually have conflicting name.  But that may be harder to implement. 

  I would much rather just find a way to make VS.Net stop printing them out.  It seems like VS.Net is the one being dumb.  Any ideas...?

  Phillip



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


  _______________________________________________
  CMake mailing list
  CMake at cmake.org
  http://www.cmake.org/mailman/listinfo/cmake
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/cmake/attachments/20060529/3d79a748/attachment.html


More information about the CMake mailing list