美文网首页
NDK开发之Cmake常用语法(持续补充)

NDK开发之Cmake常用语法(持续补充)

作者: 呵呵_9e25 | 来源:发表于2019-05-15 09:52 被阅读0次

1.编译多个cpp文件到一个so库

cmake_minimum_required(VERSION 3.4.1)
#修改编译源文件目录
file(GLOB native_srcs "${CMAKE_SOURCE_DIR}/src/main/cpp/hello/*.cpp")
add_library(helloNDK SHARED  ${native_srcs})
find_library(log-lib log)
target_link_libraries(helloNDK ${log-lib})

关键就在注释那里,通过 file命令声明了一个文件路径变量,然后在add_library直接用${名字}直接访问就行
2.添加子目录的cmakeLists编译路径

#获取所有CMakeLists.txt所在子目录
file(GLOB subdir "${CMAKE_SOURCE_DIR}/src/main/cpp/*")
#通过for循环获取每个子目录添加到编译
foreach (dir ${subdir})
    ADD_SUBDIRECTORY(${dir})
endforeach ()

我的项目目录如下

image.png
每个目录下都有对应的CMakeLists.txt,这样就能输出三个so文件
image.png
我改一下代码打印一下三个路径,注意我们用message( FATAL_ERROR "exit")让程序停止才能看到日志,代码如下
#获取所有CMakeLists.txt所在子目录
file(GLOB subdir "${CMAKE_SOURCE_DIR}/src/main/cpp/*")
#通过for循环获取每个子目录添加到编译
message("---------1----------")
foreach (dir ${subdir})
    message( ${dir})
endforeach ()
message("----------2---------")
message( FATAL_ERROR "exit")

效果图如下


image.png

相关文章

网友评论

      本文标题:NDK开发之Cmake常用语法(持续补充)

      本文链接:https://www.haomeiwen.com/subject/xpwsaqtx.html