CMAKE是什么?
一种将源码根据配置文件生成编译工程的工具。
以下是来自CMAKE官方的介绍(www.cmake.org):
the cross-platform, open-source build system. CMake is a family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice.
CMAKE是一个开源的跨平台build系统。CMAKE是一系列build、测试和打包软件。CMAKE使用简单的平台和编译器无关的配置文件来控制软件的编译过程。CMAKE可以根据你所选择的编译环境生成原始的make文件和工作空间文件。
简单的说,CMAKE的好处是可以在各种操作系统下、IDE工具环境下生成工程文件,只需要编写一些简单的配置文件。
CMAKE最新版本支持的操作系统(IDE工具)平台包括:
Visual Studio 6
Visual Studio 7
Visual Studio 10
Visual Studio 11
Visual Studio 7 .NET 2003
Visual Studio 8 2005
Visual Studio 9 2008
Borland Makefiles
NMake Makefiles
NMake Makefiles JOM
Watcom WMake
MSYS Makefiles
MinGW Makefiles
Unix Makefiles
Ninja
CodeBlocks - MinGW Makefiles
CodeBlocks - NMake Makefiles
CodeBlocks - Ninja
CodeBlocks - Unix Makefiles
Eclipse CDT4 - MinGW Makefiles
Eclipse CDT4 - NMake Makefiles
Eclipse CDT4 - Ninja
Eclipse CDT4 - Unix Makefiles
Sublime Text 2 - MinGW Makefiles
Sublime Text 2 - NMake Makefiles
Sublime Text 2 - Ninja
Sublime Text 2 - Unix Makefiles
vs工程中,可以将一些工程放在一个目录下,例如下图:
在main这个分组(group)下,有两个工程fileid和caescan。
要想在cmake的配置文件中实现这样的功能很简单,只需在CMakeLists.txt中加入如下代码:
SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
SET_PROPERTY(TARGET caescan PROPERTY FOLDER "main")
SET_PROPERTY(TARGET fileid PROPERTY FOLDER "main")
第1行,是开启“使用分组”的属性。
第2行和第3行,则分别将目标工程caescan,fileid都放到main这个分组下。
生成出来的工程就是上图中的结构。