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的输出文件在源代码和/或构建目录是符号链接时也能正确编译。