阅读背景:

使用cmake构建跨平台工程想知道的那些事

来源:互联网 
   从2015年5月开始,代码大部分是用在windows下,当需要linux、android、ios等平台下时,需要写繁琐的Makefile文件,对于不是很熟悉Makefile语法格式的人,写Makefile文件是很费力的。从那时开始,决定采用一个跨平台的工具来构建代码,减少多平台工作需要所增加的工作量。经过比较感觉cmake这个开源工具非常满足我们的需要,从而开始了cmake的应用。
   工欲善其事必先利其器,cmake 就是我们构建跨平台工程的有效利器,其可以很大成程度上减轻我们代码移植的工作量。对于程序员来接触一个新东西的时候,往往首先需要了解它的语法,而cmake的语法非常简单,可以从其官网下载它的语法说明和简单的例程,我想任何一个东西的学习其最好方式就是实践。对cmake的语法及使用有了初步的了解后,可以通过构建自己的跨平台工程来逐步熟悉cmake的使用。
   下面记录下在使用cmake 过程中自己所遇到的一些问题,方便以后自己查阅。

   1、目录的相对关系
   cmake 用两种编译方式即in source编译 和out of source编译,通常我选择out of source编译
   即单独建立一个文件加存放工程文件和源文件分开。文件的目录可以以PROJECT_SOURCE_DIR 目录为基础,PROJECT_SOURCE_DIR为顶层cmake文件所在的目录,其他文件可以根据PROJECT_SOURCE_DIR的相对目录进行设定和查找。
   2、平台的判断
   有windows平台、linux平台、android平台怎么区分呢,cmake中有变量来识别这些平台。例如可以通过如下方式判断
   if(WIN32 AND NOT MINGW)
      message("WIN32 编译设置")
   elseif(WIN32 AND MINGW)
     message("MINGW 编译设置")
   elseif(UNIX AND NOT ANDROID)
     message("UNIX 编译设置")
   elseif(ANDROID)
    message("ANDROID 编译设置")
   endif()
   从2015年5月开始,代码大部分是用在windows下,当需要linux、and



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: