Skip to content

Autogen: Use JSON instead of CMake script for info files

Sebastian Holtermann requested to merge sebholt/cmake:autogen_json into master

Autogen: Use JSON instead of CMake script for info files

We used to store information for the _autogen target in a CMake script file AutogenInfo.cmake, which was imported by a temporary cmake instance in the _autogen target. This introduced the overhead of creating a temporary cmake instance and inherited the limitations of the CMake language which only supports lists.

This patch introduces JSON files to pass information to AUTORCC and autogen_ targets. JSON files are more flexible for passing data, e.g. they support nested lists.

The patch has the side effects that

  • AutogenInfo.cmake is renamed to AutogenInfo.json
  • AutogenOldSettings.txt is renamed to AutogenUsed.txt
  • RCC<qrcBaseName><checksum>Info.cmake is renamed to AutoRcc_<qrcBaseName>_<checksum>_Info.json
  • RCC<qrcBaseName><checksum>.lock is renamed to AutoRcc_<qrcBaseName>_<checksum>_Lock.lock
  • RCC<qrcBaseName><checksum>Settings.txt is renamed to AutoRcc_<qrcBaseName>_<checksum>_Used.txt

Merge request reports