2017-07-20 2 views
0

J'écris un projet NDK en utilisant Android Studio & CMakelist. Mais quand je veux inclure beaucoup de fichiers cpp/c dans CMakelists.txt, je ne peux pas trouver un moyen facile de le faire doucement.android cmakelist ajouter un fichier source multiple?

J'ai besoin de votre aide.

Voici mon exemple d'arborescence de fichiers de code:

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 
        |__... 

Dans mon Cmakelist, je

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

Cela semble inclure uniquement les fichiers cpp de la couche de répertoire poing, PAS inclure des fichiers c , et les fichiers cpp/c du sous-répertoire.

Une façon de le faire? Le répertoire est trop profond, je ne veux pas ajouter les fichiers cpp/c manuellement.

Répondre

1

Vous pouvez essayer:

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

ou peut-être:

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}) 

Je ne sais pas si le premier motif fonctionne et je ne peux pas tester maintenant, mais le second devrait le faire.

+0

GLOB_RECURSE fonctionne! Merci! –