如何正确启动CMake

Sus*_*lik 0 cmake

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

  1. 有人知道我可以选择Xcode作为发生器吗?
  2. 这些价值是什么意思CMAKE_BUILD_TYPE,CMAKE_OSX_ARCHITECTURES......
  3. 我在Applications文件夹中找不到CMake,为什么?
  4. 而且我究竟需要什么呢?

谢谢你千万时间的帮助!

小智 6

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

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

    我从来没有搞砸过CMAKE_OSX_ARCHITECTURES,但也许这会有所帮助.

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

    sudo port install cmake +gui
    
    Run Code Online (Sandbox Code Playgroud)

    话虽这么说,您可以通过将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运行时,它会定位文件,库和可执行文件,并且可能会遇到可选的构建指令.该信息被收集到缓存中,在生成本机构建文件之前可以由用户更改.