一.概要
我们在用CMake构建一个工程(项目)的时候,需要明白如下几件事情:
A.项目源代码在哪里?
B.项目头文件在哪里?
C.怎么生成静态或者动态库及库的位置?
D.程序链接的静态库在哪里?
E.项目中用到的已编译好的静态库库和实时编译的库与项目的依赖关系?
如果上面这几件事你知道怎么做了,多大的工程就都不是问题了。其实主要是明白库的编译、链接的工作机制,如果不熟悉,推荐看《深入理解计算机系统》和《程序员的自我修养》这两本书,讲解得很好。对于CMake这种工具的学习,个人觉得在用中学、有需求时再学是最有效的,下面就几种我时常碰到的项目结构的构建进行说明。
二.CMake构建OpenGL项目
这个OpenGL项目依赖glfw、glew、glm以及opengl核心库等库文件,文件目录如下:
其中,如上图所示的CMakeLists.txt文件内容为:
#为项目配置CMake的总入口,设置一些全局的变量
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project (SUMMARY_DEBUG)