Skip to content

Add version information and check compatibility with library version in headers

Compare
Choose a tag to compare
@wravery wravery released this 09 Jan 00:02
9ef4c8d
  • There's a new internal/Version.h generated header, and on Windows, there are generated res/*.rc files with VERSION_INFO meta-data for schemagen.exe and all of the DLLs.
  • schemagen has a new --version flag which reports the project version.
  • schemagen --introspection no longer overrides or changes the defaults for the target header or source directories, CMake copies them to the source tree if they change.
  • schemagen generates static_asserts in the generated files which will break the build if you try to build with a different major.minor version than what's in internal/Version.h. If you don't automatically regenerate with schemagen as part of your build, this should help keep manually generated files in synch with corresponding changes in the library which may depend on re-running the generator.
  • I added all of the files generated with CMake to the repo and tidied up the dependencies and logic which updates the sources after generation. Unless you suppress it with GRAPHQL_UPDATE_* options, CMake will automatically regenerate those files and copy any changes back to the source tree. This makes it easier to integrate a source drop with another build system without taking a hard dependency on CMake, although that requires porting the build logic to your own system.