在CLion下调Interactive Computer Graphics的源码时踩的坑,
其中主目录下的CMakeLists.txt有一个option选项,可选择子工程加入主工程。
option(BUILD_CHAP_02 "Build Chap 02 subproject." OFF)
option(BUILD_CHAP_03 "Build Chap 03 subproject." ON)
option(BUILD_CHAP_04 "Build Chap 04 subproject." OFF)
option(BUILD_CHAP_05 "Build Chap 05 subproject." OFF)
option(BUILD_CHAP_07 "Build Chap 07 subproject." OFF)
option(BUILD_CHAP_08 "Build Chap 08 subproject." OFF)
option(BUILD_CHAP_09 "Build Chap 09 subproject." OFF)
option(BUILD_CHAP_10 "Build Chap 10 subproject." OFF)
option(BUILD_APPEN_A "Build Appendix A subproject." OFF)
开始我将第二章的子工程设ON,其他设OFF。开心地调试源代码。
到了第三章我也只打开第三章,其他章节关掉。这时候就出问题了,不管我如何reload cmake project,第三章的cpp文件不属于任何工程目标,而被我OFF的第二章子工程还好好的。
This file does not belong to any project target, code insight features might not work properly.
这可愁坏了某强迫症。
在不小心于子工程上又新建工程后,我误打误撞地发现在cmake-build-debug目录下才是load cmake后生成的工程信息。而我ON第三章子工程,OFF第二章子工程后,不管reload cmake几次,在cmake-build-debug目录下都只有第二章子工程而无第三章子工程。
破案。
delelte cmake-build-debug目录,reload cmake project,成功更新主工程cmake信息。