在设计我的CMakeLists时,我经常遇到这种错误:
Cannot find source file:
foo.hpp
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx
要调试这些问题,我真的想知道CMake在哪里寻找这个文件!
我可以找到一些关于此的SO问题,但它们总是特定于给定项目,而不是通用调试解决方案。
答案 0 :(得分:0)
当您将file.hpp
传递给add_executable()
或add_library()
命令时,CMake会搜索该文件:
此外,如果给定的文件是通过当前add_custom_command()
文件中的CMakeLists.txt
命令生成的(也就是说,该文件尚不存在,那么CMake能够检测到它,但它将是以CMake已知的方式在 build 阶段创建。