mirror of
https://github.com/obsproject/obs-studio
synced 2025-04-29 20:45:18 +08:00

Switching to a static library that contains version information as const char strings has multiple benefits: * The version information provided externally via compiler definitions will fail compilation early if malformed * An updated version string (which will happen with every commit) will not invalidate existing compilation units, because only the static library is affected by the change * An update of the version change just requires a recompilation of the static library and a linker update * An update of the version will _not_ infect the rest of the codebase (as it does currently, because everything includes obsconfig.h one way or another) * Other modules which used the macro definition directly have been updated as much as possible to use the proper getter method from `libobs` instead (some Windows-specific modules use preprocessor string composition, the value has been added as a compiler definition directly in those cases) * Because the impact of a version change due to a commit hash change is limited to the static library, ccache hit rates should be improved considerably
6 lines
119 B
C
6 lines
119 B
C
#pragma once
|
|
|
|
extern const char *OBS_VERSION;
|
|
extern const char *OBS_VERSION_CANONICAL;
|
|
extern const char *OBS_COMMIT;
|