[Quickfix-developers] Problems with xcopy Visual Studio post-build event
Brought to you by:
orenmnero
|
From: John D. <joh...@ch...> - 2005-12-10 02:04:18
|
Hi, If I just get the QuickFIX code clean from CVS and build it in Visual Studio 7.1, the post-build event of the quickfix project fails. I get a ton of these errors: Does include\quickfix specify a file name or directory name on the target (F = file, D = directory)? To fix it, I had to add the /I switch to the command. According to the xcopy help for /I, "If destination does not exist and copying more than one file, assumes that destination must be a directory." It seems a little strange that this error exists. Am I the only one with this problem? My second problem is that the EXCLUDE portion of the command seems to cause some random header files to not be copied over. The problem is caused by the 'test' line in the EXCLUDE file. Some header files contain 'test' as part of their name. For example, QuoTESTatusReport.h. Thus QuoteStatusReport.h is not copied. Again, from the xcopy help: "Specifies a list of files containing strings. Each string should be in a separate line in the files. When any of the strings match any part of the absolute path of the file to be copied, that file will be excluded from being copied. For example, specifying a string like \obj\ or .obj will exclude all files underneath the directory obj or all files with the .obj extension respectively." Thus changing "echo test > EXCLUDE" in the post-build event to "echo \test\ > EXCLUDE" fixed the problem. And finally, would it not be nicer to just wrap the post-build event in a batch file? It would make it easier to debug problems (you wouldn't have to go through a build to run it again), and easier to make changes (you wouldn't have to do it once for debug and once for release). Here is my final post-build event: echo \test\ > EXCLUDE echo stdafx.h >> EXCLUDE xcopy src\C++\*.h /S/Y/I /EXCLUDE:EXCLUDE include\quickfix del /F EXCLUDE Can this change be added to CVS? Better yet, can this be put in a batch file and added to CVS? -- John |