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?
--

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

Reply via email to