I have a java program that generates a header file for the C++ shared library that I am trying to build with cmake.  The java generator has an ant script that runs it but it does not take a destination directory for an argument.  Therefore I have to run it and then copy the resulting files into my binary directory.  I created the following custom target to do this:<br>
<br>add_custom_target ( generated_messages ALL<br>  COMMAND<br>  ${ANT_EXECUTABLE} -f ${PROJECT_SOURCE_DIR}/java/MessageGenerator/build.xml run<br>  COMMAND<br>  ${CMAKE_COMMAND} -E copy_if_different ${DICTIONARY_DIR}/c/messages.h ${PROJECT_BINARY_DIR}/include/messages.h<br>
)<br><br>This works fine on Linux and Mac with the make generator but does not work on Windows XP with the Visual studio 2008 generator.  From the build log file, I can see that a batch file is getting generated with two commands: one to run ant and the other to do the copy.  When the batch file is run, the ant command works fine, but the copy never seems to happen.  My library fails to build because it can&#39;t find messages.h even though it does exist in ${DICTIONARY_DIR}/c/messages.h<br>
<br>Here is the copy command from the generated batch file:<br>&quot;C:\Program Files\CMake 2.6\bin\cmake.exe&quot; -E copy_if_different &quot;C:/Documents and Settings/mschafer/My Documents/foamcut/java/MessageGenerator/dictionary/c/messages.h&quot; &quot;C:/Documents and Settings/mschafer/My Documents/build_foamcut/include/messages.h&quot;<br>
<br>If I run this from a command prompt, it also works fine and then the library will build.<br><br>Visual does not report any errors.  Can anybody help me figure out why the copy is not happening on one platform but works on the others?<br>
<br>Thanks,<br>Marc<br><br>