cmake笔记

Posted on 2021-08-12 23:37  asiarabbit  阅读(64)  评论(0编辑  收藏  举报

学习cmake时的一些碎片知识点,在这里总结一下。

  1. CMAKE_CURRENT_BINARY_DIR和PROJECT_BINARY_DIR是一个目录,都是用户当前的build文件夹,也就是运行cmake时所处的文件夹(不是CMakeLists.txt所在的文件夹!)
  2. 在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", 否则什么也不输出。