首页 > 代码库 > cmake笔记0919

cmake笔记0919

根据当前项目的情况,将build部分分为library和binary。编译的中间文件放在library和binary目录,结果放在lib和bin目录。

首先,在根目录下建立CMakeLists.txt,将各lib和bin作为subdir加入。

其次,建立个subdir的CMakeLists.txt。

很幸运,我们有Android.mk可以作为设置CMakeLists.txt的参考。

从没有依赖的lib开始尝试第一个编译。

tips:

  1. cmake的换行续行,直接换行就可以,无需像一些脚本语言那样用续行标志反斜杠 
  2. CMAKE_C_FLAGS设置的时候,是一个字符串,如有多个,用引号,否则会出错。比如set(CMAKE_C_FLAGS "-Wall -g -O3"),没有引号就挂了
  3. 命令大小写无关,只要自己统一风格即可,我喜欢小写
  4. 变量大小写相关,写错了系统就不认了
  5. 如果从其他makefile文件获得的文件列表,也会有文件名大小写问题

编译lzmalib库成功。

小结:

  1. 创建根目录和各子目录的CMakeLists.txt
  2. 创建独立的build目录,这样可以干净的做编译工作
  3. 取得阶段性的成功
  4. 下面会有更复杂的编译,比如接下来的引用库的问题

 

cmake笔记0919