在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信息。