写cmake文件时易错记录
- 设置编译选项:
在使用set关键字设置编译选项时注意可能覆盖前面已有的内容. 例如:
在设置关键字CMAKE_CXX_FLAGS时没有注意其在不同地方被覆盖,导致前面设置无效。// 设置gcov代码覆盖率编译选项 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coveragel") ··· // 设置代码警告提示等级编译选项 SET(CMAKE_CXX_FLAGS --Wall)
所以在每次设置编译选项时都需要注意是否存在覆盖或者冲突的情况。