On Tuesday, November 06, 2012 11:06:45 AM Robert Dailey wrote:
> I use ${CMAKE_COMMAND} -E copy_if_different to copy DLL files to my
> binary output directory. The custom target runs this command about
> 50-100 times (for that many files).
>
> I notice that when all files are already copied, the commands still
> run extremely slowly. It takes just as long to copy all the files as
> it does to copy none of them.
>
> I used the Sysinternals tool called Process Monitor to see what CMake
> is doing as it runs copy_if_different. It's opening the full file and
> seems to be comparing actual contents instead of something simple,
> such as timestamp.
>
> I do not need such a thorough check, I simply want the check to see
> which timestamp is higher and copy if the source is newer than the
> target.
>
> Any reason why copy_if_different is so slow? Is my assumption correct?
> How can I make it faster?
How about using plain "cmake -E copy ..." and rely on the timestamp check done
by a custom command (add_custom_command()).
You need to make sure the input/ouput parts of the custom command are set
correctly so it can do a timestamp check.
--
Clinton Stimpson
Elemental Technologies, Inc
Computational Simulation Software, LLC
www.csimsoft.com
--
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake