学习cmake时的一些碎片知识点,在这里总结一下。
- CMAKE_CURRENT_BINARY_DIR和PROJECT_BINARY_DIR是一个目录,都是用户当前的build文件夹,也就是运行cmake时所处的文件夹(不是CMakeLists.txt所在的文件夹!)
- 在if中,DEFINED指的是一个变量是否已经被定义,而EXISTS指的是文件是否存在,比如
set(VAR a.txt)
if(DEFINED VAR)
message(STATUS "VAR has been defined)
endif()
if(EXISTS ${VAR})
message(STATUS "${VAR} exists")
endif()
第一个if输出的结果是“VAR has been defined”.
如果文件a.txt存在的话,第二个if将输出"a.txt exists", 否则什么也不输出。