add_subdirectory:添加一个子目录并构建子目录。https://www.jianshu.com/p/07acea4e86a3
add_subdirectory (source_dir [binary_dir] [EXCLUDE_FROM_ALL])
添加一个子目录并构建该子目录;指定一个目录,用于存放输出文件;
PROJECT_SOURCE_DIR:CMakeLists.txt所在目录,即根目录。
aux_source_directory:
aux_source_directory(<dir> <variable>)
收集指定目录中所有源文件的名称,并将列表存储在提供的<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的库