AUTOMOC_PATH_PREFIX

3.16 版新增。

当此属性设置为 ON 时,CMake 将为已启用 AUTOMOC 的 Qt 目标上的 moc 生成 -p 路径前缀选项。

要生成路径前缀,CMake 会检查由 moc 编译的头文件是否位于任何目标 include directories 中。如果在此,CMake 将相应地计算相对路径。如果头文件不在 include directories 中,CMake 将省略 -p 路径前缀选项。 moc 通常在这种情况下生成相对包含路径。

AUTOMOC_PATH_PREFIX 初始化自变量 CMAKE_AUTOMOC_PATH_PREFIX,该变量默认设置为 OFF

有关将 CMake 与 Qt 结合使用的更多信息,请参阅 cmake-qt(7) 手册。

可重现的构建

为了可重现的构建,建议将需要 moc 编译的头文件放在目标的 include directories 中,并将 AUTOMOC_PATH_PREFIX 设置为 ON。这可以确保

  • moc 输出文件在不同的构建设置上是相同的,

  • moc 输出文件在源代码和/或构建目录是符号链接时能够正确编译。