根据当前项目的情况,将build部分分为library和binary。编译的中间文件放在library和binary目录,结果放在lib和bin目录。
首先,在根目录下建立CMakeLists.txt,将各lib和bin作为subdir加入。
其次,建立个subdir的CMakeLists.txt。
很幸运,我们有Android.mk可以作为设置CMakeLists.txt的参考。
从没有依赖的lib开始尝试第一个编译。
tips:
- cmake的换行续行,直接换行就可以,无需像一些脚本语言那样用续行标志反斜杠
- CMAKE_C_FLAGS设置的时候,是一个字符串,如有多个,用引号,否则会出错。比如set(CMAKE_C_FLAGS "-Wall -g -O3"),没有引号就挂了
- 命令大小写无关,只要自己统一风格即可,我喜欢小写
- 变量大小写相关,写错了系统就不认了
- 如果从其他makefile文件获得的文件列表,也会有文件名大小写问题
编译lzmalib库成功。
小结:
- 创建根目录和各子目录的CMakeLists.txt
- 创建独立的build目录,这样可以干净的做编译工作
- 取得阶段性的成功
- 下面会有更复杂的编译,比如接下来的引用库的问题