使用Cmake构建有什么好处?

时间:2016-07-08 13:58:18

标签: visual-studio cmake

我正在研究SFML,我很好奇我可以自己编译的选项。我在教程中找到了它,但从第一行开始我感到困惑:

  

CMake是一个开源的元构建系统。它不是构建SFML,而是构建构建SFML的内容:Visual Studio解决方案......

  1. 在visual studio中也有一个构建选项,该构建和CMake构建之间有什么区别吗?

  2. 它构建什么构建SFML意味着什么?它意味着库文件?

  3. Visual Studio解决方案?这是什么意思 ?据我所知,当我打开一个新项目时,它是一个解决方案,我可以为这个解决方案添加新项目(我很困惑为什么在解决方案中必须有多个项目!)

  4. CMake构建解决方案意味着什么?它的用途是什么?

2 个答案:

答案 0 :(得分:2)

CMake是一个很棒的工具,也可以用于跨平台开发,而无需维护单独的构建实用程序。在Windows上,CMake可以基于其CMakeLists.txt文件创建Visual Studio解决方案文件。在Linux上,通常CMake输出一个makefile。 CMake与许多构建工具兼容,我建议在他们的网站上阅读更多文档来获取更多信息。

编辑:为了更清楚。 CMake从字面上构建了构建SFML的内容,因为它创建了用于构建SFML的Visual Studio解决方案。

  1. VS中的构建解决方案正在构建库本身。 CMake构建生成VS解决方案,您可以使用它来构建库。

  2. 见1.

  3. VS解决方案是包含一个或多个项目的完整可构建设置。解决方案可以包含多个项目,因为VS每个项目仅限1个输出。如果你想要多个输出(例如4个dll),每个输出都需要它自己的项目。

答案 1 :(得分:1)

  1. 有源代码。人们想要编译它。将编译命令输入终端是困难和烦人的。

  2. 人们发明构建系统,使1.)更容易。例如,make文件或Visual Studio在其文件中集成和存储的内容,称为解决方案。

  3. 有些项目是跨平台的。他们可以为Xcode,Eclipse等提供make文件,解决方案文件,文件。这变得困难和烦人。

  4. 人们发明系统,创建构建系统以简化3.)。从一组通用文件中,可以引导几种不同的构建系统。

  5. 在您的实际情况中:CMake创建解决方案文件,您可以打开解决方案文件并使用它构建SFML。