[CMake] Concurrency issues with copy_if_different

Olivier Croquette ocroquette at free.fr
Thu Jul 12 01:53:21 EDT 2018


Hello,

in one of our projects, we use copy_if_different to copy some DLLs 
required by the runtime. It's called as post-build action. The problem 
is that several targets want to copy the same DLLs, and when using 
parallelized builds, the different "cmake -E copy_if_different" can 
conflict, leading the whole build to fail.

I see two options to fix this:

1. don't use copy_if_different, but a custom tool that can deal with the 
concurrency

2. instead of adding post-build actions to different targets, fill up a 
list containing all the files required, and add a single post-build 
action to a single target that copies all the required files in one go

What do you think?

Cheers
Olivier




More information about the CMake mailing list