Qt的cmake项目中使用预编译头文件
在Qt的cmake项目中使用预编译头文件
对Qt来说, 如果使用qmake
, 要支持预编译头文件是很简单的一件事情. 但是在cmake下怎么做就有点难了. 这也是我长期以来不喜欢用cmake的原因之一.
但是, 因为要联编VTK, 终于不得不切换到cmake里面了. 研究了一下, 还是给整出来了.
考虑hierarchy项目层次的情况, 如果是单一的小项目, 也没有必要这么整.
可以在顶层CMakeLists.txt里面定义出所有要放到预编译头文件的头文件, 为了简单, 将其定义到一个变量PCH_FILES
里面:
1 | set(PCH_FILES |
然后, 可以在子项目中使用target_precmpile_headers
来使用它:
1 | target_precompile_headers(scanshow PUBLIC |
然后就可以了, 虽然比不上qmake的PRECOMPILED_HEADER
好用, 但是好歹也还凑合吧.
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 编程随笔!