预定义的变量:
<projectname>_BINARY_DIR 等价于 PROJECT_BINARY_DIR 等价于 CMAKE_BINARY_DIR 如果是in source编译,指得就是工程顶层目录,如果是out-of-source编译,指的是工程编译发生的目录
<projectname>_SOURCE_DIR 等价于 PROJECT_SOURCE_DIR 等价于 CMAKE_SOURCE_DIR 不论采用何种编译方式,都是工程顶层目录
CMAKE_CURRENT_SOURCE_DIR 指的是当前处理的CMakeLists.txt所在的路径
EXECUTABLE_OUTPUT_PATH 可执行二进制的目录
LIBRARY_OUTPUT_PATH 库的目录(.so或者.a)
CMAKE_CURRRENT_BINARY_DIR 如果是in-source编译,它跟CMAKE_CURRENT_SOURCE_DIR一致,如果是out-ofsource编译,他指的是target编译目录 使用我们上面提到的ADD_SUBDIRECTORY(src bin)可以更改这个变量的值。使用SET(EXECUTABLE_OUTPUT_PATH <新路径>)并不会对这个变量造成影响,它仅仅修改了最终目标文件存放的路径。
CMAKE_CURRENT_LIST_FILE 输出调用这个变量的CMakeLists.txt的完整路径
CMAKE_CURRENT_LIST_LINE 输出这个变量所在的行