该模块禁止源码目录编译,实际就是禁止cmake .
命令的执行
if ("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
message(FATAL_ERROR "In-source builds are not allowed. Please use "
"./configure to choose a build directory and "
"initialize the build configuration.")
endif ()
PROJECT_SOURCE_DIR 和 PROJECT_BINARY_DIR 的区别
- 其中source和binary的区别是:source是源码目录,binary是编译目录
- 其中project的前缀是:
表明这个路径会被cmake的project()
命令影响,在某个cmake文件中如果调用了project()
命令那么就是当前cmake文件的路径
如果没有project()
命令就在上级cmake文件查找该命令,有的话就是上级cmake文件的路径