Add command line switch to turn on generation of source/header pairs.
Generate definitions in header files
Generate implementations in source files
Name source files and header files the same with .h and .c extensions
Motivation and Context
Improve code structure of the generated code
Better encapsulation of complexity by keeping the implementations contained in the source files
Build cleaner API libraries from the generated code where only the definitions are exposed.
closes #2617
Previous Behaviour / Output
Currently Quicktype generates one or more header files containing both definitions and implementations.
New Behaviour / Output
Quicktype should generate header files containing only definitions, and source files containing only implementations.
How Has This Been Tested?
I have added the command line option to the test configuration and run the tests with and without this new feature enabled by manually toggling it in the configuration file. To make the tests compile the compileCommand have to be manually edited as well where the generated .c file must appear here depending on the value of the new command line option.
After running the tests I inspected the generated test files to verify that definitions indeed ended up in the header file, and that the implementations ended up in the corresponding source file.
Unfortunately I am unfamiliar with this test suite, and I don't know how to test all the different permutations of command line options.
Description
Motivation and Context
closes #2617
Previous Behaviour / Output
Currently Quicktype generates one or more header files containing both definitions and implementations.
New Behaviour / Output
Quicktype should generate header files containing only definitions, and source files containing only implementations.
How Has This Been Tested?
I have added the command line option to the test configuration and run the tests with and without this new feature enabled by manually toggling it in the configuration file. To make the tests compile the
compileCommand
have to be manually edited as well where the generated .c file must appear here depending on the value of the new command line option.After running the tests I inspected the generated test files to verify that definitions indeed ended up in the header file, and that the implementations ended up in the corresponding source file.
Unfortunately I am unfamiliar with this test suite, and I don't know how to test all the different permutations of command line options.