如何在cmake中使用autouic将header和ui文件放在不同的文件夹中

A.F*_*ell 6 c++ qt cmake

根据文档,关于autouic:

如果找到与ui_.h匹配的预处理程序#include指令,并且存在.ui文件,则将执行uic以生成相应的文件.

但是如果.ui文件在另一个文件夹中呢?我在尝试构建时遇到以下错误:

AUTOUIC : error : process for ui_module.h failed:
File 'C:/app/source/headers/module.ui' is not valid
Run Code Online (Sandbox Code Playgroud)

ui文件实际上位于此处:

C:/app/source/forms/module.ui
Run Code Online (Sandbox Code Playgroud)

我试图添加C:/app/source/forms/include_directories()-macro但没有成功.有任何想法吗?

A.F*_*ell 6

更新

CMake版本3.9中添加了搜索路径CMAKE_AUTOUIC_SEARCH_PATHS.


经过进一步调查,似乎无法做到.他们的跟踪系统存在一个未解决的问题,但到目前为止尚未实施:

添加AUTOUIC的搜索路径


AMA*_*AMA 5

问题在此提到的答案,现在已得到解决。

这在CMake v3.9.0-rc6中有效

set(CMAKE_AUTOUIC_SEARCH_PATHS your/folder/here)
Run Code Online (Sandbox Code Playgroud)

请参阅AUTOUIC_SEARCH_PATHS的文档。