Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
How to use CMD_NULL on Windows??
(1/1)
stahta01:
Follow up on this old thread http://forums.codeblocks.org/index.php/topic,11278.0.html
I am looking at doing some pre and post commands.
And, I have NOT figured out how to use $(CMD_NULL) in CB in a way that does NOT cause an error
In Pre-build steps
--- Code: ---CMD /C dir > NUL
--- End code ---
Gives this when ran
--- Code: ---Running target pre-build steps
CMD /C dir > NUL
--- End code ---
In Pre-build steps
--- Code: ---CMD /C dir > $(CMD_NULL)
--- End code ---
Gives this when ran
--- Code: ---Running target pre-build steps
CMD /C dir > cmd /c NUL
File Not Found
--- End code ---
Tim S.
stahta01:
I am thinking this line
--- Code: ---m_Macros[_T("CMD_NULL")] = cmd + _T("NUL");
--- End code ---
should be instead
--- Code: ---m_Macros[_T("CMD_NULL")] = _T("NUL");
--- End code ---
in file macrosmanager.cpp.
Edit: Added git formatted patch file.
Tim S.
stahta01:
I am thinking these two macros would be useful.
CMD_CP_UPDATE is to copy files only if file is newer.
CMD_IGNORERR is to reset the OS error value to the no error value.
I have only tested them on Windows 32 bit at this time.
I tested them using these pre build steps
--- Code: ---CMD /C dir
$(CMD_MKDIR) "a/b/c" > $(CMD_NULL) $(CMD_IGNORERR)
$(CMD_CP_UPDATE) *.cbp a
--- End code ---
Attached Git formatted patch.
Tim S.
ollydbg:
--- Quote from: stahta01 on June 16, 2015, 05:16:47 am ---Follow up on this old thread http://forums.codeblocks.org/index.php/topic,11278.0.html
I am looking at doing some pre and post commands.
And, I have NOT figured out how to use $(CMD_NULL) in CB in a way that does NOT cause an error
In Pre-build steps
--- Code: ---CMD /C dir > NUL
--- End code ---
Gives this when ran
--- Code: ---Running target pre-build steps
CMD /C dir > NUL
--- End code ---
In Pre-build steps
--- Code: ---CMD /C dir > $(CMD_NULL)
--- End code ---
Gives this when ran
--- Code: ---Running target pre-build steps
CMD /C dir > cmd /c NUL
File Not Found
--- End code ---
Tim S.
--- End quote ---
Hi, Tim, the above code shows that "$(CMD_NULL)" should be replaced to "NUL" under Windows, not "cmd /c NUL", right?
So, this is a good contribution as I can see.
stahta01:
--- Quote from: ollydbg on June 16, 2015, 04:37:08 pm ---
--- Quote from: stahta01 on June 16, 2015, 05:16:47 am ---Follow up on this old thread http://forums.codeblocks.org/index.php/topic,11278.0.html
I am looking at doing some pre and post commands.
And, I have NOT figured out how to use $(CMD_NULL) in CB in a way that does NOT cause an error
In Pre-build steps
--- Code: ---CMD /C dir > NUL
--- End code ---
Gives this when ran
--- Code: ---Running target pre-build steps
CMD /C dir > NUL
--- End code ---
In Pre-build steps
--- Code: ---CMD /C dir > $(CMD_NULL)
--- End code ---
Gives this when ran
--- Code: ---Running target pre-build steps
CMD /C dir > cmd /c NUL
File Not Found
--- End code ---
Tim S.
--- End quote ---
Hi, Tim, the above code shows that "$(CMD_NULL)" should be replaced to "NUL" under Windows, not "cmd /c NUL", right?
So, this is a good contribution as I can see.
--- End quote ---
Correct, it is what I think it should do; in order that what it does matches what Linux does.
Edit: I am trying to figure out how to write post/pre build steps that are the same for Windows and Linux.
Tim S.
Navigation
[0] Message Index
Go to full version