我目前正在将一个使用qmake构建的项目转换为CMake。
在使用qmake版本中,.pri文件中有以下内容:
MOC_DIR = .moc/$${PLATFORM_NAME}
允许在给定目录中生成MOC临时文件,保持源代码的清洁。如何使用CMake实现相同的功能?
注意:使用CMake时,我使用FindQt4.cmake
包和QT4_WRAP_CPP()
命令。
我目前正在将一个使用qmake构建的项目转换为CMake。
在使用qmake版本中,.pri文件中有以下内容:
MOC_DIR = .moc/$${PLATFORM_NAME}
允许在给定目录中生成MOC临时文件,保持源代码的清洁。如何使用CMake实现相同的功能?
注意:使用CMake时,我使用FindQt4.cmake
包和QT4_WRAP_CPP()
命令。
正如baysmith所说,如果您的目标是保持源目录的清洁,真正的解决方案是使用CMake的“外部构建”功能。如果您在Windows上,将“二进制文件的生成位置”设置为一个新目录,与“源代码的位置”目录不同。如果您在Unix上,则操作类似于:
cd <source directory>
mkdir build
cd build
cmake ..
make
Qt4Macros.cmake
文件中所了解的,它不可作为配置参数访问。以下是相关行:SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
#include "moc/mainwindow.moc"
moc
目录后,构建过程没有出现任何问题,并且我的MOC文件位于新目录中。