cmake常用函数

发布时间:2023年12月22日

在CMake 中,有一些函数是比较常用的,用于执行各种任务。以下是使用频率较高的 20 个 CMake 函数,并对其用法进行简要说明和示例:

  1. message:

    • 用法: 打印消息到控制台。

    • 示例:

      message(STATUS "Hello, CMake!")
      
  2. project:

    • 用法: 定义一个项目,设置项目名称和语言。

    • 示例:

      project(MyProject CXX)
      
  3. add_executable:

    • 用法: 添加可执行文件。

    • 示例:

      add_executable(my_executable source1.cpp source2.cpp)
      
  4. add_library:

    • 用法: 添加库文件。

    • 示例:

      add_library(my_library source1.cpp source2.cpp)
      
  5. target_link_libraries:

    • 用法: 链接目标与库文件。

    • 示例:

      
      target_link_libraries(my_executable my_library)
      
  6. find_package:

    • 用法: 查找并加载外部包。

    • 示例:

      find_package(Boost REQUIRED COMPONENTS filesystem system)
      
  7. include_directories:

    • 用法: 添加包含目录。

    • 示例:

      include_directories(include)
      
  8. target_include_directories:

    • 用法: 设置目标的包含目录。

    • 示例:

      target_include_directories(my_executable PUBLIC include)
      
  9. add_definitions:

    • 用法: 添加预处理器定义。

    • 示例:

      add_definitions(-DDEBUG)
      
  10. set:

    • 用法: 设置变量的值。

    • 示例:

      set(MY_VARIABLE "Hello")
      
  11. if / **else / endif:

    • 用法: 条件判断。

    • 示例:

      if(BUILD_TESTS)
          add_subdirectory(tests)
      endif()
      
  12. foreach:

    • 用法: 遍历列表或范围。

    • 示例:

      foreach(file IN LISTS sources)
          message(STATUS "Source File: ${file}")
      endforeach()
      
  13. file:

    • 用法: 文件操作相关命令。

    • 示例:

      file(GLOB sources src/*.cpp)
      
  14. add_subdirectory:

    • 用法: 添加子目录。

    • 示例:

      add_subdirectory(lib)
      
  15. option:

    • 用法: 添加用户选项。

    • 示例:

      option(BUILD_TESTS "Build tests" ON)
      
  16. configure_file:

    • 用法: 配置文件生成。

    • 示例:

      configure_file(config.h.in config.h)
      
  17. add_dependencies:

    • 用法: 添加目标的依赖项。

    • 示例:

      add_dependencies(my_executable my_library)
      
  18. target_compile_features:

    • 用法: 指定目标的语言特性。

    • 示例:

      target_compile_features(my_executable PRIVATE cxx_std_11)
      
  19. install:

    • 用法: 安装目标文件。

    • 示例:

      install(TARGETS my_executable DESTINATION bin)
      
  20. get_target_property:

    • 用法: 获取目标属性的值。

    • 示例:

      get_target_property(MY_LIB_INCLUDE_DIRS my_library INCLUDE_DIRECTORIES)
      message(STATUS "Include Directories: ${MY_LIB_INCLUDE_DIRS}")
      

这些函数是在CMake项目中经常使用的一些基本函数。具体的用法和参数取决于项目的需求和结构。

文章来源:https://blog.csdn.net/weixin_43739167/article/details/135157652
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。