【album】编译工程

记录帖。

CMake

以下都是 CMake 函数,用于配置项目的构建系统,说明如下:

find_package(package_name):此函数用于查找现有的包配置模块或预定义模块。它查找指定库的安装位置,并设置相关变量。包配置模块是库的安装过程中创建的,用于帮助库的用户找到和链接库。预定义模块是 CMake 分发中提供的,用于处理常见库的查找和导入。

link_directories(directory):此函数用于将目录添加到链接器的库文件搜索路径(Library Paths)。在链接过程中,链接器需要在这些路径中找到库文件(如 .lib 或 .a),并将它们与目标可执行文件或库一起链接。link_directories() 函数允许您指定链接器搜索库文件的目录。

include_directories(directory):此函数用于将指定的目录添加到编译器头文件搜索路径(Include Paths)。编译器在编译过程中需要找到被源代码引用的头文件。include_directories() 函数允许您指定编译器搜索头文件的目录。

set_target_properties(target_name PROPERTIES prop1 value1 prop2 value2 ...):此函数用于设置构建目标的属性。您可以通过此函数修改目标的名称、位置、输出后缀等。target_name 参数指定要设置属性的目标名称。PROPERTIES 关键字表示您将提供属性名称和值。prop1 value1 prop2 value2 ... 是属性名称和值的成对列表。

target_link_libraries(target lib1 lib2 ...):此函数用于链接库到特定的目标文件。例如,如果您有一个可执行文件(如 executable_target),需要链接到 lib1 和 lib2,则可以使用 target_link_libraries(executable_target lib1 lib2)。

pybind11_add_module(target_name source1 source2 ...):此函数由 Pybind11 提供,用于创建 Python 扩展模块。函数接收一个目标名称,将使用给定的源文件(source1、source2 等)为此目标创建一个共享库。在输出时,它还可以自动添加适当的后缀(例如,在 Windows 上为 .pyd)。

add_library(target_name [SHARED | STATIC] source1 source2 ...):此函数用于定义一个库目标,它将由给定的源文件构建。第一个参数 target_name 是库目标名称。SHARED 选项表示要构建动态库(例如,.dll 文件),STATIC 表示要构建静态库(例如,.lib 文件)。source1、source2 等参数是库的源文件列表。

set(var_name val1 val2 ...):此函数用于设置 CMake 变量。var_name 是要设置的变量名称,val1、val2 等是要分配给变量的值。变量可作为路径、列表、编译选项等信息存储在 CMake 脚本中,用于后续引用。

posted @ 2024-03-18 20:43  Skye_Zhao  阅读(4)  评论(0编辑  收藏  举报