CMake(1)CMake的好处

CMake的用途是能通过一系列的源码和相关的配置来生成需要的编译器平台上的项目文件。譬如,如果一个项目需要在Windows上用VS编译,在Linux上用make编译,在OS X上用XCODE,那么按以前的做法是在整个项目文件里看三个目录,分别放置VS的sln文件,Linux的makefile,OS X的XCODE,然后让不同需求的人到相应的目录用自己需要的工程文件(这看起来没有什么不好似乎)。有了CMake以后,就不需要这三个目录了,只要有一个给CMake读的文件(下文中的红字部分),然后CMake的UI上会需要用户选择目标平台,这样CMake就会生成目标平台上的工程文件。举例,如果用户选的是VS2005平台,那么CMake就会在源代码目录下生成供VS2005使用的。sln文件;如果是make,就会生成makefile等等。

我现在用VS2010开发项目明显感觉创建一个新的project的时候和原来其他的project有大量的相同设置,每次都要搞一遍实在烦人,多了少都不行,Debug和release又都要搞一遍,到了Linux下面又要来一遍,现在就指望CMake了,但愿她不会让我们团队失望。

参考:

http://blog.csdn.net/lhfslhfs/article/details/7288479

https://linuxtoy.org/archives/the-road-to-kde-4-cmake-a-new-build-system-for-kde.html

时间: 2024-08-17 13:33:49

CMake(1)CMake的好处的相关文章

CMake命令:CMake构建系统的骨架

CMake命令:CMake构建系统的骨架 80个命令(转载自http://www.cnblogs.com/coderfenghc/archive/2012/06/16/CMake_ch_01.html#2996205) CMD#1: add_custom_command为生成的构建系统添加一条自定义的构建规则. add_custom_command命令有两种主要的功能:第一种是为了生成输出文件,添加一条自定义命令. add_custom_command(OUTPUT output1 [outpu

CMake Error at cmake/boost.cmake:76 (MESSAGE)

在源码安装mysql5.7系列时,出现如下错误: 错误现象: CMake Error at cmake/boost.cmake:76 (MESSAGE): You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory> This CMake script will look for boost in <directory>.  If it is not there, it will download and

OpenCV for Mac 编译 CMake Error at cmake/OpenCVUtils.cmake:42 (if):

编译openCV for mac 总是报错 CMake Error at cmake/OpenCVUtils.cmake:42 (if): 无数次重试都无效,找了很多文章都没有提到这个错误,无意间在一篇文章中受到启发 原文地址: http://www.voidcn.com/blog/yu_fujiang/article/p-3986675.html 我的错误和这位大神基本类似,我是文件夹名取了个"c++" 于是将文件夹c++改成cplus 编译成功了

编译mysql时CMake Error at cmake/readline.cmake:85 (MESSAGE)

CMake Error at cmake/readline.cmake:85 (MESSAGE):  Curses library not found.  Please install appropriate package, remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. Ca

CMake Error at cmake/OpenCVModule.cmake:295 (message): No extra modules found in folder:Please provide path to &#39;opencv_contrib/modules&#39; folder

其实,我们使用的opencv中要用的contrib/modules   是需要额外下载并在cmakelists.txt中指定的 git clone https://github.com/opencv/opencv_contrib.git  然后,就有opencv_contrib  的path啦 CMake Error at cmake/OpenCVModule.cmake:295 (message): No extra modules found in folder:Please provide

ROS开发过程中遇到:Could not find a package configuration file provided by &quot;qt_build&quot; with any of the following names: qt_buildConfig.cmake qt_build-config.cmake........

最近在搭建QT开发ROS 界面的环境,遇到了很多问题,参考了很多资料,最后发现有些问题其实没有那么复杂,只是我们对整体环境还不了解,熟悉了以后你会发现有些问题就迎刃而解了. 在这个过程中,我首先新建了一个ROS工作空间,用catkin_make编译通过了,然后通过命令: catkin_create_qt_pkg testtui 在src路径下创建了testgui 包,此时我并没有去执行命令:catkin_make 进行编译,而是通过qtcreator 导入src 路径下的Cmakelists.t

cmake

前言cmake 已经开发了 5,6 年的时间,如果没有 KDE4,也许不会有人或者 Linux 发行版本重视cmake,因为除了 Kitware 似乎没有人使用它.通过 KDE4 的选型和开发,cmake 逐渐进入了人们的视线,在实际的使用过程中,cmake 的优势也逐渐的被大家所认识,至少 KDE 的开发者们给予了 cmake极高的评价,同时庞大的 KDE 项目使用 cmake 来作为构建工具也证明了 cmake 的可用性和大项目管理能力.所以,cmake 应该感谢 KDE,也正因为如此,cm

Windows环境下使用Cmake ndk编译fdk-aac

 一.废话 最近学习,第一步就是编译.我们需要编译FFmpag,x264,fdk_aac,下面是x264,网上说的很多都是几百年前的,我亲测完美可用 还是那句话 我能力有限,但是我希望我写的东西能够让更多的人能够接受.我也是刚刚接触.做一个记录,也希望能够对其他人有好处.联系我可以直接评论,也可以加我QQ:11635423  二.干货  准备:1.fdk_aac的源码  git clone https://android.googlesource.com/platform/external/aa

一个简单的cmake例子

一个简单的cmake例子CMakeLists.txt,生成动态库文件,可以指定发布目录. 尚不支持: 1.交叉编译环境配置 2.添加依赖库 1 #在当前目录新建一个build目录,然后cd build:cmake .. 2 #这样的好处是,可以将cmake生成的内容,和源码文件分离 3 4 #定义好版本需求 5 cmake_minimum_required (VERSION 2.6) 6 #工程名字 7 project (Libtree) 8 #编译结果发布路径 9 set ( CMAKE_IN

CentOS7 升级 cmake

编译cmake文件时,报错:CMake 3.0.0 or higher is required. You are running version 2.8.12.2 很明显,这是 cmake 版本过低导致的,那么就需要升级 cmake 到更高的版本.下面是升级 cmake 的步骤: 卸载原有通过 yum 安装的 cmake:yum remove cmake 下载cmake安装包: wget https://github.com/Kitware/CMake/releases/download/v3.