使用CMake创建跨平台库?

时间:2011-03-12 01:22:08

标签: c++ makefile cmake

CMake难以使用吗?我一直在使用Windows和MSVC ++开发一个库。我在Linux和OSX中测试了我的代码,繁琐地从每个文件中创建对象并从中创建一个库。

我有几个目录:

Agui
-> Widgets
      ->Button
      ->ListBox
 -> Backends
        -> Allegro

我喜欢的是,例如,如果我在Windows上,它会自动生成一个msvc项目,其中包含所有这些目录和文件,并且可以随时编译。

在Linux和OSX上,我希望能够做类似

的事情

cmake的

这是可能的CMake,并根据我的情况很容易做到。 感谢

3 个答案:

答案 0 :(得分:4)

是的,这正是CMake的原因。 Huge projects像KDE一样使用CMake。 它易于设置。

答案 1 :(得分:3)

这正是CMake开发的目的。 CMake生成可在您选择的平台上使用的本机构建文件和工作区。所以在Unix上这通常是Unix Makefiles,在Windows Visual Studio上你可以选择你的Visual Studio版本来生成一个可以在IDE中打开的解决方案,或者使用NMake Makefiles。

如果要添加简单库,只需使用add_library函数,为其提供库名称和源文件列表。我建议您查看CMake tutorial以获得简要概述。还有一本书,Mastering CMake,以及许多教程页面。您也可以向CMake命令行寻求帮助,'cmake --help-command add_library'会显示add_library文档。

答案 2 :(得分:0)

CMake将为许多IDE生成项目文件,但我发现automake + libtool往往更容易使用。这是一个很好的教程:http://www.lrde.epita.fr/~adl/autotools.html

不要被页数计算:大部分都是逐步揭示图表。