我使用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文件。
答案 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})
我不确定第一个模式是否有效,我现在无法测试,但第二个应该这样做。