Custom Build Process on Windows
-
I'm trying to write a custom build step that will copy a config file to the application's directory.
I have Enable custom process step checked
Name: Custom Process Step
Command: cmd
Working Directory: $BUILDDIR
Command arguments PostBuild.batMy .bat file is:
@
copy copy.xml $DESTDIR
echo Copied copy.xml
exit
@When I build the build process hangs with the output:
The process "C:/Qt/2010.04/mingw/bin/mingw32-make.exe" exited normally.
Starting: "C:/Windows/system32/cmd.exe" PostBuild.bat
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.It never exits. Does anyone know what I might be doing wrong?
Thanks
-
Have you tried running the same thing from a command prompt? If you do, you will notice that exactly the same thing happens - a new command prompt is started and your .bat file is not used at all. The reason is that cmd simply does not work the way you think - to pass a .bat file you have to use the /c command line option. So changing the command arguments to /c PostBuild.bat should do what you want (if PostBuild.bat is placed where cmd expects to find it).
-
There is another problem:
you batch file will not work.
You should try out the batch file from a command propt to verify it's usage. $DESTDIR is a qMake and perhaps QtCreator variable, but none for a batch file. Inside batch files, you must use windows syntzax for variables: %VARNAME%perhaps some of the following pages might help:
- "Win XP Command Line Syntax":http://ss64.com/nt/syntax.html
- "An A-Z Index of the Windows CMD command line":http://ss64.com/nt/
- "wikipedia: Batch File":http://en.wikipedia.org/wiki/Batch_file