There is an easy way you can do this, but it’d be local to your machines and not something global you can share and compile elsewhere.... (Though that may be sufficient for your needs here.)
Inside the source directory, if you root around a bit, you’ll find one of the “hidden secrets” of QB64 — a set of bas files called something like header_stub.bas and footer_stub.bas. (I’m not at my PC right now, so I don’t have access to check perfect root/file name structure at the moment. I’ll come back and edit, or post the exact information later for you.)
Those two files work like a series of global $INCLUDE statements which you can use to add custom functionality to ALL your code. Anything put in the header file will basically go at the start of all your programs, anything in the footer will go at the end of all your programs.
In this case, I’d use those and a simple set of the precompiler commands to set some CONST values in my programs.
In the header_stub, for the regular version, I’d add something like:
$LET QBVD = TRUE
CONST QBVD = “QB64 Stable Build v1.3”
Then, in the header_stub, for the development version, I’d add something like:
$LET QBVD = TRUE
CONST QBVD = “QB64 Dev Build v1.3+”
Then inside a program, I’d write a simple precompiler check up top:
$IF QBVD = UNDEFINED THEN
CONST QBVD = “Undefined Version”
$END IF
Then you can write your code to make use of that CONST value. In your folder where you keep the stable build, it’d be the first result. In the folder where you keep the development build, you’d have the second result. In case there’s a folder which isn’t locally changed (as if you shared the code on the forums for others), the program itself would set the undefined version for the value.
It’s the easiest way I know to add the functionality you’re looking for, to your code.
EDIT: They're inside the folder: source\embed\, and are called header_stub.bas and footer_stub.bas.