看了好多网上的文章,都说PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR是等价的。
实际不然。
一般来说,都是这样用
cmake ./
这样PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR是等价的。也就是当前源码的目录。
如果执行cmake的时候,并不在源码的路径的话,比如
cmake …/src
这样的好处是cmake生成的文件和编译出来的东西,就不放在源码路径下了,保证了源码路径的干净整洁。
比如可以在src的同级目录下建立build目录。
然后在build目录下执行cmake …/src。
这样编译出来的东西和cmake生成的东西,都放到了build目录下了。并且
PROJECT_BINARY_DIR=全路径/build
PROJECT_SOURCE_DIR=全路径/src