cmake命令

CMake是一个跨平台的开源构建工具,用于管理C++项目的构建过程。

注意CMake命令语法不区分大小写

  1. cmake_minimum_required:指定项目所需的CMake的最低版本。

    cmake_minimum_required(VERSION <version>)
  2. project:定义项目的名称、版本和描述信息。

    project(<project_name> VERSION <version> DESCRIPTION <description>)
  3. add_executable:添加一个可执行文件的构建目标。

    add_executable(<target_name> <source_files>)
  4. add_library:添加一个库的构建目标(静态库或共享库)。

    add_library(<target_name> <library_type> <source_files>)
  5. target_link_libraries:将目标与所需的库链接。

    target_link_libraries(<target_name> <library_name>)
  6. target_include_directories:为目标设置包含路径。

    target_include_directories(<target_name> PRIVATE <include_directories>)
  7. target_compile_definitions:为目标设置编译定义。

    target_compile_definitions(<target_name> PRIVATE <definitions>)
  8. add_subdirectory:添加一个子目录到构建。

    add_subdirectory(<subdirectory>)
  9. find_package:寻找并加载其他软件包或库。

    find_package(<package_name> <version>)
  10. set:设置变量的值。

    set(<variable_name> <value>)
  11. if:条件判断。

    if(<condition>) # commands endif()
  12. foreach:循环遍历列表。

    foreach(<variable> <list>) # commands endforeach()
  13. add_definitions:添加编译定义到项目中。

    add_definitions(-D<definition>)
  14. message:输出消息到CMake的输出。

    message(<message>)
  15. set_target_properties:设置目标的属性,例如输出路径。

    set_target_properties(<target_name> PROPERTIES <property_name> <value>)
  16. setadd_compile_options:设置CMake编译选项

    set也可以用来设置编译器选项,但是设置的CMAKE_CXX_FLAGS仅限于c/c++编译器使用

    更推荐使用add_compile_options设置编译器

    # 举例 set(CMAKE_CXX_FLAGS "-Wall -Wextra") add_compile_options(-Wall -Wextra)
  17. include:包含外部的CMake脚本文件

    include(<filename>)
  18. file(GLOB...):通过通配符模式匹配来获取一组文件

    推荐使用set()命令管理项目的源文件列表

    # 示例:匹配当前目录下的所有 .cpp 和 .h 文件,并将它们保存在 SOURCE_FILES 变量中。 file(GLOB SOURCE_FILES "*.cpp" "*.h")
  19. MATCHES:字符串操作符,用于检查一个字符串是否匹配一个正则表达式

    # 设置了一个字符串 my_string,然后使用 MATCHES 操作符判断它是否包含子字符串 "CMake"。 set(my_string "Hello, CMake!") if(my_string MATCHES "CMake") message("String contains 'CMake'")
  20. $ENV{}:该命令用来获取环境变量的值

    message("Value of HOME: $ENV{HOME}")
  21. install:配置安装规则

    # 用于配置安装规则,以便在构建项目后将生成的文件复制到指定的目标位置。 install(TARGETS <target_name> DESTINATION <destination>) #<target_name> 是要安装的构建目标(可执行文件、共享库等),而 <destination> 是目标安装路径。 install(FILE <file_path> DESTINATION <destination>) #将一个文件从构建目录复制到指定的安装目标位置
  22. CMake中定义好的一些变量

    CMAKE_SOURCE_DIR: 项目的顶级源代码目录路径。 CMAKE_BINARY_DIR: 构建目录的路径。 CMAKE_CURRENT_SOURCE_DIR: 当前处理的CMakeLists.txt所在的源代码目录路径。 CMAKE_CURRENT_BINARY_DIR: 当前处理的CMakeLists.txt所在的构建目录路径。 CMAKE_INSTALL_PREFIX: 安装目录的路径,你可以使用 -DCMAKE_INSTALL_PREFIX=<path> 选项来指定。 CMAKE_CXX_COMPILER: C++编译器的路径。 CMAKE_C_COMPILER: C编译器的路径。 CMAKE_BUILD_TYPE: 构建类型,如Debug、Release等。 CMAKE_SYSTEM_NAME: 系统名称,如Linux、Windows等。 CMAKE_SYSTEM_PROCESSOR: 系统处理器类型

__EOF__

本文作者Ray963
本文链接https://www.cnblogs.com/ray93/p/17722977.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ray963  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示