message命令:
用途:用于输出打印信息。
范例:message(“Hello World”)。
include_directories命令:
用途:引入某目录的所有的头文件,加载静态库或动态库的时候,使用时需要引入头文件。
范例:include_directories( 目录/include/ )。
set 命令:
用途:用于设置属性值,(自定义属性值或内置属性值)为下文使用。
范例:set(属性名字 属性值),下文使用${属性名字}。
find_library命令:
用途:寻找内置库并为它附一个别名,在Ndk中提供的内置库例如(android log库等等)。
范例:findLibrary(别名 log),别名将在链接中打包进你自己生成的库。
file 命令:
用途:用于将目录中的文件集中生明为别名好用于编译。
范例:file(GLOB 别名 src/main/cpp/*.cpp) 将cpp目录下的所有的cpp文件引入为别名目录(GLOB 用于产生一个文件(目录)路径列表并保存在别名中),方便add_library命令引入需要编译的文件,不需要一个文件一个文件的引入。
add_library命令:
用途:用于产生需要编译的所有文件的别名。
范例:add_library(别名 SHARED gles3jni.cpp RendererES2.cpp RendererES3.cpp)(SHARED和STATIC标记是动态库还是静态库)
target_link_libraries命令:
用途:将find_library和add_library引入的别名库名全部链接到一起打包进你将要生成的库。
范例:target_link_libraries( native-lib(生成库文件的名字) swscale(你自己生成的引入库名字) log(添加系统内置库) z android OpenSLES)
set_target_properties命令:
用途:设置add_library(它可以只生成别名而不需要添加绑定的文件名)别名引入的库位置(也就是添加其他预编译好的库进项目)
范例:add_library( imported-lib
SHARED
IMPORTED )
# 参数分别为:库、属性、导入地址、so所在地址set_target_properties(
imported-lib
PROPERTIES
IMPORTED_LOCATION
${CMAKE_SOURCE_DIR}/src/${ANDROID_ABI}/libimported-lib.so )
add_subdirectory命令:
用途:用于引入子编译文件(CMakeLists.txt引入另一个子CMakeLists.txt用于编译)
范例:add_subdirectory(包含子CMakeLists.txt的文件夹名称)
命令官方地址:https://cmake.org/cmake/help/v3.4/manual/cmake-commands.7.html