Cmake·

[#1][What's the CMake?][A菌严肃的CMake手记]

美式A菌

美式A菌

55 1

Q? & A!

  • Q: 什么是CMake?
    • 跨平台开源的代码构建工具。
  • Q: 如果说新技术的出现是为了解决旧问题,那么CMake是为了解决什么问题而出现呢?
    • 复杂项目的第三方依赖代码库难以管理。
    • 同一份开发人员系统,文件路径,环境变量等环境配置不一致导致的一系列问题。
  • Q: CMake是如何解决如上问题的呢?
    • CMake提供了名为 CMakeLists的配置文件,并提供了相应的API。
    • 例如 add_executable(<name> <options>... <sources>...)
      • 向名为 <name>的项目中添加了一个 <sources>的可执行源文件。
    • 例如 target_include_directories(<target> [SYSTEM] [AFTER|BEFORE]<INTERFACE|PUBLIC|PRIVATE> [items1.[<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
      • 用于为指定的目标(如可执行文件或库)设置包含目录。
      • 包含目录是编译器在编译源文件时搜索头文件的路径。
    • 例如find_package()
      • 查找和配置第三方库。CMake 会在系统中搜索指定的库,并设置相应的变量。
    • 例如target_link_libraries()
      • 将找到的库链接到目标(如可执行文件或库)。
    • 至于跨平台的问题日后A菌再用代码来进行体现~
  • Q: 严肃的总结一下?
    • 关于CMake,A菌在这里总结成一句话用来描述 项目结构 和 如何编译 的 描述性编程 (语言/系统/工具)

所属系列

从当前文章继续阅读它所在合集中的前后内容。

A菌严肃的CMake手记 第 1 / 13 篇
查看合集

我也是從零開始學習CMAKE這個軟體

相关文章

优先推荐同专题、同标签和同作者内容,补足热门文章。

评论 1

登录 后参与评论

评论 1

Hugh
Hugh12月27日 00:48

👍