Skip to content
  • Jörg Bornemann's avatar
    Autogen: Turn off moc path prefix generation by default · 4c33b305
    Jörg Bornemann authored and Brad King's avatar Brad King committed
    Change the default value of `CMAKE_AUTOMOC_PATH_PREFIX` to `OFF` to
    restore compatibility with behavior of CMake 3.15 and below.
    
    C++ source files that are generated by Qt's meta object compiler (moc)
    include the header file that was passed as input argument to moc. This
    is usually a path relative to the source directory, for example
    
        #include "../../source/dir/myobject.h"
    
    That is problematic for reproducible builds as described in #18815.
    To cope with that, the target property AUTOMOC_PATH_PREFIX was
    introduced in CMake 3.16 by commit d018d27c (Autogen: Add moc path
    prefix generation (AUTOMOC_PATH_PREFIX), 2019-09-13, v3.16.0-rc1~94^2~4).
    The property is default-initialized from the variable
    `CMAKE_AUTOMOC_PATH_PREFIX`, which defaults to `ON`.
    
    If this property is ON, and myobject.h is located in an include
    directory of the target, moc-generated C++ files include the file
    without the "path prefix":
    
        #include "myobject.h"
    
    This behavior, h...
    4c33b305