查看: 2985|回复: 4

OSG源码中CMakeLists文件分析

[复制链接]

该用户从未签到

发表于 2011-5-16 23:09:27 | 显示全部楼层 |阅读模式
我所使用的OSG是SVN管理的版本。
接下来就来分析一下整个Cmake的执行过程。
1、        设置Cmake的一些属性,具体有兴趣的读者可以自行学习。
2、        判断平台。当然这里姑且认为是Win32平台。那么接下来判断Cmake的版本,2.4.6是最小的需求的Cmake版本。
3、        设置Cmake的策略。
4、        接下来进入工程OpenSceneGraph
5、        设定版本号2.9.15
6、        将plugin后面加上版本号,这就是我们看到的生成的那个plugin+版本号文件夹
7、        如果是cygwin那么plugin前缀加上cygwin_
8、        如果是mingw那么plugin前缀加上mingw_
9、        将OpenThreads_SOURCE_DIR设定为OpenSceneGraph_SOURCE_DIR,OpenSceneGraph_SOURCE_DIR即为我们在Cmake输入的源码路径。
10、        设定CMAKE_MODULE_PATH为源码主目录下的CMakeModules文件夹。
11、        是否使用AndroidNDK,这里略去这部分的分析。
12、        接下来是OSG的一些修补工作
13、        是否在SVN下编译,略过
14、        判断Apple平台下
15、        判断Unix系统下
16、        将INCLUDE_DIRECTORIES设定为主目录下的include文件夹
17、        如果要编译的include与当前include不在同一目录下,那么使用要生成的目录下的include
18、        Win32平台下
19、        开启vs2005或更高编译器的MP选项
20、        将MP选项设为高级,这也就是为什么我们configure完之后在simpleview中不能看到这一选项而在Advancedview中可以看到这一选项的原因。
21、        开启DYNAMICBASE,主要修补win7下的一个bug
22、        其他的MSVC一些项目属性设置选项
23、        设定socket
24、        接下来时MSVC独有的关于项目属性的设置,略去
25、        Luigi编译使用相关配置
26、        OSG的debug信息等级是否设定
27、        是否使用float矩阵,该项设置作为高级设置,在Advanced View中可以看出
28、        是否使用float数组,高级设置
29、        是否使用float天空盒,高级设置
30、        是否使用UTF-8来作为文件名的编码格式
31、        MSVC的Warning是否省去,高级设置
32、        是否进行ref_ptr<> T* operator()转化
33、        OpenGL和OpenGLES的设定
34、        是否关闭使用了C++中的异常处理的CPP文件
35、        设置OSG文件夹的配置文件
36、        设置Version的配置文件
37、        指示安装位置安装在include/osg下的配置文件夹下
38、        设置MSVC和OSG相关的版本信息,后缀名是rc
39、        可选编译部分
40、        是否编译OSG 的Applications,可能由于每个版本的OSG的Application的版本相差不多吧
41、        是否编译OSG的相关例子,即大家熟悉的Example文件夹
42、        第三方工具的设置
43、        是否指定QT版本
44、        接下来寻找第三方库的相关配置在这里略去
45、        如需要创建bin和lib文件夹
46、        设置debug版还是release版
47、        在其他平台上设置debug信息
48、

该用户从未签到

发表于 2011-5-17 08:37:04 | 显示全部楼层
感谢您的贡献,我个人的建议是这个教程可以结合实际的cmake代码来呈现,否则读起来会有些困难,比如:
23、        设定socket
这样的描述大家都难免有些糊涂~~呵呵,期待能够完善这篇具有一定实用性的教程

该用户从未签到

 楼主| 发表于 2011-5-17 22:19:12 | 显示全部楼层
呵呵,关于这个文档接下来会有更加详细的分析说明。
对了,你之前的cmake的资料写完了??

该用户从未签到

发表于 2011-5-18 14:23:55 | 显示全部楼层
我没有专门写什么cmake的资料,目前也没有时间去写

该用户从未签到

 楼主| 发表于 2011-5-18 19:04:54 | 显示全部楼层
我记得你之前写过这方面的资料,呵呵,后来好像没有继续下去了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表