www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Conditional compilation for debug/release

reply "Johan Engelen" <j j.nl> writes:
How do conditionally compile code for either release ("-release") 
or debug ("-debug")?
Something like this:

version(Debug) {
     pragma(lib, "libcmtd.lib");
} else {
     pragma(lib, "libcmt.lib");
}

In the documentation [1], I don't see any predefined version 
identifiers for this purpose.

Thanks,
   Johan


[1] http://dlang.org/version.html
Apr 06 2015
parent reply "Namespace" <rswhite4 gmail.com> writes:
On Monday, 6 April 2015 at 14:50:29 UTC, Johan Engelen wrote:
 How do conditionally compile code for either release 
 ("-release") or debug ("-debug")?
 Something like this:

 version(Debug) {
     pragma(lib, "libcmtd.lib");
 } else {
     pragma(lib, "libcmt.lib");
 }

 In the documentation [1], I don't see any predefined version 
 identifiers for this purpose.

 Thanks,
   Johan


 [1] http://dlang.org/version.html
debug { pragma(lib, "libcmtd.lib"); } else { pragma(lib, "libcmt.lib"); }
Apr 06 2015
parent reply "Johan Engelen" <j j.nl> writes:
On Monday, 6 April 2015 at 14:55:58 UTC, Namespace wrote:
 debug {
     pragma(lib, "libcmtd.lib");
 } else {
     pragma(lib, "libcmt.lib");
 }
Thanks for the quick reply! Worth adding an example like that to http://dlang.org/version.html ?
Apr 06 2015
parent reply "Namespace" <rswhite4 gmail.com> writes:
On Monday, 6 April 2015 at 15:15:48 UTC, Johan Engelen wrote:
 On Monday, 6 April 2015 at 14:55:58 UTC, Namespace wrote:
 debug {
    pragma(lib, "libcmtd.lib");
 } else {
    pragma(lib, "libcmt.lib");
 }
Thanks for the quick reply! Worth adding an example like that to http://dlang.org/version.html ?
It's there already: http://dlang.org/version.html#debug ;)
Apr 06 2015
parent "Johan Engelen" <j j.nl> writes:
On Monday, 6 April 2015 at 15:24:53 UTC, Namespace wrote:
 On Monday, 6 April 2015 at 15:15:48 UTC, Johan Engelen wrote:
 On Monday, 6 April 2015 at 14:55:58 UTC, Namespace wrote:
 debug {
   pragma(lib, "libcmtd.lib");
 } else {
   pragma(lib, "libcmt.lib");
 }
Thanks for the quick reply! Worth adding an example like that to http://dlang.org/version.html ?
It's there already: http://dlang.org/version.html#debug ;)
It was not obvious to me that "else" would work. But reading the whole page again (not just the "debug" part), I see that indeed the info is already there.
Apr 06 2015