HomerReid / scuff-em

A comprehensive and full-featured computational physics suite for boundary-element analysis of electromagnetic scattering, fluctuation-induced phenomena (Casimir forces and radiative heat transfer), nanophotonics, RF device engineering, electrostatics, and more. Includes a core library with C++ and python APIs as well as many command-line applications.
http://www.homerreid.com/scuff-em
GNU General Public License v2.0
128 stars 51 forks source link

feature: log scuff-em version (from git) to output files. #199

Open texnokrates opened 5 years ago

texnokrates commented 5 years ago

As no software is perfect, it is useful to keep track about which version was used for generating a given output. This PR introduces some some features in this regard. During build, a string generated by git describe is passed as a macro to all application sources. This string is then included in the output files, so one can easily check which git version of scuff-em was used. The version string is now also printed by OSUsage().

The downside of the approach used here is that it uses the $(shell ...) construct in Makefile.am, which is a GNU extension, so it might affect portability when built with a non-GNU make. And of course, git is also required.