I would like to implement an extra generator for the AtmelStudio7 IDE (based on top of VisualStudio 14, with which it shares the Solution files structure).
As AS7 shares the VisualStudio base file structure, it would mostly be a specific port of VisualStudio generators : almost the same Solution files as VS14, lots of similarities in project files’ structure and content as well.
However as AtmelStudio is not likely to be developed further (due to Atmel’s acquisition by Microchip).
So, I’ll need to borrow most of the Sln files generation implementation, as well as the vcxproj generation (but with heavier modifications).
Toolchain testing as part of the tree generation
As AS7 toolchains (avr8/SAM/avr32) are meant to build bare-metal firmware (cross-compilation), I was wondering about implementing a testing phase where CMake checks whether the targeted toolchain is able to compile simple programs or not.
=> Does Cmake only check if the toolchain has successfully built the target or does it also perform some testing on the built executable ?
I’ve debugged cmake to inspect when this testing phase was done while generating Visual Studio build tree, I suppose I could borrow a part of it as well.
Is there a documentation to help writing Generators ?
I dove into VisualStudio generators a bit to understand their overall architecture ; however, do we have some piece of documentation which explains the philosophy behind generators architecture?
I’m asking this because we have cmGlobalXXGenerators, cmLocalXXGenerators, cmXXGeneratorOptions, cmXXTargetGenerators, and I’m honestly a bit lost with all those files!
I came accross the CmakeLibTests project, which I suppose packs tests for CmakeLib.
Do we have testing requirements for the Generators ?
As a conclusion, it seems there is still a lot of work ahead, I’ll be glad if I can get some pieces of advice to get started with it.