Skip to content
  • Sebastian Holtermann's avatar
    Autogen: Refactor AUTOMOC and AUTOUIC and add source file parse data caching · 7d50e1c6
    Sebastian Holtermann authored
    New features
    ------------
    
    CMake's `AUTOMOC` and `AUTOUIC` now cache information extracted when parsing
    source files in `CMakeFiles/<ORIGIN>_autogen.dir/ParseCache.txt`.
    This leads to faster `<ORIGIN>_autogen` target rebuilds, because source files
    will be parsed again only if they're newer than the `ParseCache.txt` file.
    The parse cache will be recomputed if it is older than the CMake executable.
    
    `AUTOMOC` and `AUTOUIC` now check if `moc` or `uic` output files are older
    than the `moc` or `uic` executable.  If an output file is older than the
    compiler, it will be regenerated.  Therefore if a new `moc` or `uic` version
    is installed, all output files will be regenerated.
    
    `AUTOMOC` and `AUTOUIC` error and warning messages are more detailed.
    
    Internal changes
    ----------------
    
    `moc` and `uic` output file names are not computed in the `_autogen`
    target anymore but in `cmQtAutoGenInitializer`.  This makes the available at
    the configur...
    7d50e1c6