android cmakelist添加多源文件?

时间:2017-07-20 08:27:45

标签: android-ndk cmake

我使用Android Studio& amp;编写NDK项目CMakelist。

但是当我想在CMakelists.txt中包含很多cpp / c文件时,我找不到一个简单的方法来轻轻地完成它。

我需要你的帮助。

这是我的代码的文件树示例:

Cmakelists.txt
src
|__main
     |__cpp
         |___a.cpp   // cpp file 
         |___a.h
         |___aa.c   //   c file
         |___...
         |___dirA    //  a dir
              |__b.c  // also has c file 
              |__b.h
              |__d.cpp  // and cpp file
              |__...
              |___dirB  // another dir
                   |__xxx.c
                   |__...

在我的Cmakelist中,我使用了

file(GLOB cpp_srcs "src/main/cpp/*.cpp")

这似乎仅包括第一个目录层的cpp文件,不包括c文件和sub dir的cpp / c文件

有什么办法吗? dir太深了,我不想手动添加cpp / c文件。

1 个答案:

答案 0 :(得分:3)

您可以尝试:

file(GLOB_RECURSE cpp_srcs "src/main/cpp/*.c" "src/main/cpp/*.cpp")

或者也许:

file(GLOB_RECURSE cpp_srcs_c "src/main/cpp/*.c")
file(GLOB_RECURSE cpp_srcs_cpp "src/main/cpp/*.cpp")
set(cpp_srcs ${cpp_srcs_c} ${cpp_srcs_cpp})

我不确定第一个模式是否有效,我现在无法测试,但第二个应该这样做。