[cmake-developers] Timestamp of VS-generator rule files

Mike.Pagel at bmw.de Mike.Pagel at bmw.de
Fri Sep 25 07:45:09 EDT 2015


I have a local version working, but want to double-check how to best go about this. As a reminder, I am trying to fix the .rule file handling of CMake's VisualStudio generator, which violates CMakes semantics "custom_commands without dependencies are built only if the outputs don't exist yet". Currently, the rule files have possibly newer timestamps than the output files (depending on when the project was CMake-configured), which would rebuild them.

Things I want to run by you:

I wrote a small function OutdateFileTime(const std::string& filename), which does what it sounds like. It is called by the VS generator right after rule file creation with Touch. I wasn't sure whether this function, which uses Win32 API should go into the generator code or SystemTools.

Since I did not find any direct Win32 API use in the generator, I put it right next to SystemTools::Touch. OK?

Am I required to do a non-Windows implementation of this function as well? It is (for now) never needed elsewhere than the VS generator, i.e. Windows. This would actually be an argument to put it into that class directly...

If I do the non-Windows implementation, it'll be difficult for me to test. Also, this is dead code, since no Unix-like system would (for now) call it. Dead code will become incorrect...

Am I supposed to add a test case for the new function to cmsysTestsCxx.cxx?

Sorry for the heap of questions, point me to any docs I may have overlooked!
Mike

-----Ursprüngliche Nachricht-----
Von: cmake-developers [mailto:cmake-developers-bounces at cmake.org] Im Auftrag von Brad King
Gesendet: Donnerstag, 17. September 2015 16:20
An: cmake-developers at cmake.org
Betreff: Re: [cmake-developers] Timestamp of VS-generator rule files

On 09/17/2015 10:06 AM, Mike.Pagel at bmw.de wrote:
> would this mailing list be the right place to ask?

Yes, and thanks for offering to work on the patch.  You can
post it here when finished, as described in CONTRIBUTING.rst.

Thanks,
-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


More information about the cmake-developers mailing list