如何关闭子目录的 CMake automoc?

How to switch off CMake automoc for subdirectories?

我有目录 aaaaaa/bb。我希望 CMake 仅为 aaa/*.cxx 文件创建 moc_compilation.o 文件,但它也会递归扫描 aaa/bb/*.cxx 文件。如何禁用 automoc 的递归扫描?

您可以使用 SKIP_AUTOMOC 源文件 属性 跳过对一个文件或整组文件的自动处理。这也适用于头文件:

file(GLOB MY_EXCLUDED_SOURCES aaa/bb/*.cxx)
set_property(SOURCE ${MY_EXCLUDED_SOURCES} PROPERTY SKIP_AUTOMOC ON)