• add_subdirectory:添加一个子目录并构建子目录。https://www.jianshu.com/p/07acea4e86a3

      1. add_subdirectory (source_dir [binary_dir] [EXCLUDE_FROM_ALL])
      2. 添加一个子目录并构建该子目录;指定一个目录,用于存放输出文件;
    • PROJECT_SOURCE_DIR:CMakeLists.txt所在目录,即根目录。

    • aux_source_directory:

      1. aux_source_directory(<dir> <variable>)
      2. 收集指定目录中所有源文件的名称,并将列表存储在提供的<variable>变量中。
    • target_link_libraries:为target链接依赖库的头文件路径和库路径,按照.h + .so 方式隐式调用动态库。一般用在add_library或add_executable之后。

      • 还有一个长相类似的link_libraries,用在add_executable之前,用来链接静态库。
    • link_directories:添加第三方动态库的路径。官方不建议使用此命令,应使用find_packages命令
    • include_directories:将指定目录添加到编译器的头文件搜索路径之下,指定的目录被解释成当前源码路径的相对路径。
    • find_package用于库文件夹中包含cmake.config的库