cmake qt5_generate_repc() 将代表 header 放入 CMAKE_CURRENT_BINARY_DIR

cmake qt5_generate_repc() places rep header in CMAKE_CURRENT_BINARY_DIR

我正在尝试确定构建项目的正确方法。由于要求,我使用 cmake 而不是 qmake。在我的 Qt 项目中,我使用 Remote Objects.

问题是 qt5_generate_repc.rep 文件生成我的 header 并将其放入 CMAKE_CURRENT_BINARY_DIR 并使其可访问以包含我需要 target_include_directories 我的构建目录,我不确定这是否是个好主意。

也许有更好的方法或者我不了解一些基础知识?

The problem is that qt5_generate_repc that generates me header from .rep file places it in the CMAKE_CURRENT_BINARY_DIR and to make it accessible for include I need to target_include_directories my build directory and I'm not sure if that's a good idea.

这是一种完全正常且被接受的做法,并且确实是最好的做法 对于构建时生成的源代码。你应该这样做。

原因很简单,永远不要在树外构建中写入源目录,这是使用 CMake(树外)的好方法。

总体效果是防止 class 可能发生的名称冲突和覆盖问题。