Possible to specify compiled executable filename/extension?

Howdy, folks.

I’m wondering if it is possible to specify an extension to the compiled Stan executable. From my understanding, when compiling a Stan file (I use CmdStanPy) two files are generated:

model_name.hpp & model_name

Is it possible to tell the compiler to, instead of model_name, use model_name.exe or something like that? I am writing the analyses for a paper where I create multiple models for different datasets so I have several model executables. Currently I am manually adding these files to my .gitignore which is easy enough for *.hpp but harder for the extension-less executables.

This is somewhat difficult to deal with when switching Git branches as these filepaths are hardcoded in the .gitignore on their own branch, so other branches will still see them and complain they have not been added. I can get around this with .git/info/exclude or some hacky negate patterns but it would be great if I could add one line to my .gitignore and be done.

(I have essentially zero knowledge of C++ so please forgive me if this is a naive question or if I got details wrong.)

There is a make variable for this, but it is mainly used internally to handle windows extensions, and I’m not sure whether or not it is overwritten anywhere. You might be able to get this behavior by setting the C++ arguments dictionary in CmdStanPy to {“EXE”:”.exe”}

1 Like