cmakeqt5qt-resource

Compiling 10MB+ resource files with qrc in cmake results in heap space allocation failures


I'm trying to compile large resource files with qrc using CMake.

This is well known to chew up all of a computers RAM (>32GB) and cause the compiler to exit with heap allocation errors (see QTBUG-50468, QTBUG-55293, and QTBUG-54357)

Apparently if you use qmake, appending CONFIG += resources_big to your .pro file automagically fixes everything. Is there an equivalent to this setting accessible through CMake?


Solution

  • If you are use the the build in cmake macros, just replace

    qt5_add_resources(SRC_FILES resources.qrc) # normal resources
    

    with

    qt5_add_big_resources(SRC_FILES resources.qrc) # big resources
    

    This requires Qt5.12 and CMake 3.9.