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(7)
手册以获取有关将 CMake 与 Qt 结合使用的更多信息。
可复现的构建¶
为了实现可复现的构建,建议将 moc
编译的头文件放在目标 include directories
之一中,并将 AUTOMOC_PATH_PREFIX
设置为 ON
。这确保了
moc
输出文件在不同的构建设置中是相同的,当源目录和/或构建目录是符号链接时,
moc
输出文件将正确编译。