How do you declare manifest constants?
Steven Schveighoffer
schveiguy at gmail.com
Thu Nov 4 17:09:31 UTC 2021
On 11/4/21 12:43 PM, Andrey Zherikov wrote:
> I want to embed some info from build system - version info, for example.
> I can easily do this with C++ compiler by `-DVERSION="1.2.3"` but there
> is no such an option in dmd. So I'm wondering how do people workaround
> this?
> I see only one way: generate a file and add it to the build (file might
> be `.d` source or something included by import expression).
D doesn't have any equivalent for this. The closest you can get is to
turn on `version` identifiers.
There is also a quirky `-version=123` which is IMO, a completely useless
feature.
Your best bet is to do what you are doing -- generate a d file, and then
include it.
Note, there is at least one dub package which does this for you:
https://code.dlang.org/packages/gen-package-version
I use it in my build and it works OK. You just have to remember to
attribute your tag in git.
-Steve
More information about the Digitalmars-d-learn
mailing list