Hi,<div><br></div><div><div>The issue described in the subject line is minor, but is undesirable particularly in projects that use the external projects module of CMake. Reconfiguration touches certain files that then require the associated targets to rebuild, which propagates to other external projects that depend on ITK.</div>

<div><br></div><div>The problem is a side effect of the following function (see line 38 of the referenced file).</div><div><div><font face="courier new, monospace">file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILE}_</font></div>

<div><font face="courier new, monospace">     &quot;${${GPUFILTER_KERNELNAME}_KernelString}&quot;)</font></div></div><div><br></div><div><a href="http://itk.org/gitweb?p=ITK.git;a=blob;f=CMake/itkOpenCL.cmake;h=dafdd97bd57106cbee9e38e60fb4c02fd431cbb5;hb=HEAD#l38">http://itk.org/gitweb?p=ITK.git;a=blob;f=CMake/itkOpenCL.cmake;h=dafdd97bd57106cbee9e38e60fb4c02fd431cbb5;hb=HEAD#l38</a><br>

</div><div><br></div><div>One quick solution would be as follows.</div><div><div><font face="courier new, monospace">file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILE}_</font></div><div><font face="courier new, monospace">     &quot;${${GPUFILTER_KERNELNAME}_KernelString}&quot;)</font></div>

<div><font face="courier new, monospace">add_custom_command(</font></div><div><font face="courier new, monospace">  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILE}</font></div><div><font face="courier new, monospace">  COMMAND ${CMAKE_COMMAND} -E copy</font></div>

<div><span style="font-family:&#39;courier new&#39;,monospace">    ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILE}_</span></div><div><font face="courier new, monospace">    ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILE}</font></div>

<div><font face="courier new, monospace">  DEPENDS ${OPENCL_FILE})</font></div></div><div><br></div><div>where the &quot;file write&quot; operation uses a temporary file, which then is copied to the actual location ONLY IF the original source has been touched/modified. A cleaner approach might involve issuing the write itself i<font face="arial, helvetica, sans-serif">n &quot;add_custom_command&quot; using</font> &quot;echo&quot; or a similar function.</div>

<div><br></div><div>Hope this is of use,</div><div>Ali Uneri</div><div><span style="font-family:arial,sans-serif;font-size:13px">Johns Hopkins University</span><br><div><br></div><br>
</div></div>