如何正确启动CMake

时间:2015-04-10 09:02:37

标签: cmake

对于学校我必须下载CMake。 现在我在mash-project上找到了一个快速入门指南,但是我没有得到它。

  1. 有人知道我可以选择Xcode作为发生器吗?
  2. CMAKE_BUILD_TYPECMAKE_OSX_ARCHITECTURES ...
  3. 的含义是什么?
  4. 我在Applications文件夹中找不到CMake,为什么?
  5. 确切地说,我需要什么?
  6. 非常感谢你的帮助!

1 个答案:

答案 0 :(得分:6)

  1. 获取CMake的图形界面,您将看到在多个构建环境中进行选择的选项。其中一个应该是Xcode。请阅读我对第3点的回答,了解如何获取GUI。

  2. 第一个变量CMAKE_BUILD_TYPE包含一个代表" flavor"的值。构建。在Visual Studio中,请考虑Debug和Release。这种方式非常简单:CMake为每个构建类型定义了一组变量,用于控制构建过程的几个方面。例如,变量CMAKE_CXX_FLAGS_DEBUG包含当CMAKE_BUILD_TYPE的值为Debug时要传递给C ++编译器的一系列标志。类似地,CMAKE_CXX_FLAGS_RELEASERelease做了诀窍。 CMake附带了四种默认构建类型:Debug,Release,MinSizeRel和RelWithDebInfo。您可以查看here官方文档。

    我从未与CMAKE_OSX_ARCHITECTURES混淆,但也许this有帮助。

  3. 与许多其他程序一样,CMake带有一个"终端接口",即可以使用终端进行交互。我不知道有关您的CMake安装的细节,但也许您没有获得任何图形界面,在这种情况下,不要期望在Applications文件夹中找到任何内容。 This answer可能有所帮助。简答:运行

    sudo port install cmake +gui
    

    话虽如此,您可以通过将CMake所在的目录附加到PATH环境变量来使用终端界面。

  4. CMake是一款非常漂亮的软件。在C ++世界中,有大量的编译器和环境,每个都有自己的配置设置。假设你写了一篇很酷的软件,想要与世界分享。现在,作为一个开源类型的人,您决定在自由许可下分发源代码,以便我们可以自己构建它。此时,您将完全分发什么?

    一堆源文件?对建立中型项目没有帮助。我不知道您的项目结构,或者您可能依赖的任何预处理器宏。

    如果您的开发环境是Visual Studio,则可以分发.sln文件,并且每个Visual Studio用户都可以使用您在构建时假设的完全相同的设置加载项目。这带来了一个问题:那些不使用Visual Studio的人呢?您是否会因为选择Linux或Mac OS X而放弃一大堆潜在用户?

    输入CMake。这个程序允许你定义项目的结构(即将要构建哪些库,哪些可执行文件,哪些测试),列出你可能拥有的任何依赖项(例如Boost,Qt,Ogre3D),设置任何预处理器宏(呃! ) 你可能需要。您可以使用它理解的CMake定义的语言,在任何平台上执行此操作。处理此配置时,CMake将为其运行的特定平台生成构建环境。你看,CMake 没有构建你的项目。它不是编译器。仅CMake 告诉编译器如何构建项目。它为任何平台执行

    这是作者对此所说的:

      

    CMake是一个可扩展的开源系统,它以独立于编译器的方式管理操作系统中的构建过程。与许多跨平台系统不同,CMake旨在与本机构建环境结合使用。放置在每个源目录中的简单配置文件(称为CMakeLists.txt文件)用于生成标准构建文件(例如,Unix上的makefile和Windows MSVC中的项目/工作区),这些文件以通常的方式使用。 CMake可以生成一个本机构建环境,它将编译源代码,创建库,生成包装器并以任意组合构建可执行文件。 CMake支持就地和非现场构建,因此可以从单个源树支持多个构建。 CMake还支持静态和动态库构建。 CMake的另一个不错的功能是它生成一个缓存文件,旨在与图形编辑器一起使用。例如,当CMake运行时,它会定位文件,库和可执行文件,并且可能会遇到可选的构建指令。此信息将收集到缓存中,用户可以在生成本机构建文件之前对其进行更改。