title: How can I use add_library in 'CMakeLists.txt' to include entire files(.cpp,.h etc) in a directory
body: <p>In my project I am using cpp and .h files they all are in different folders</p>
  
  <pre><code>|-src
    |-main
     |-java
     |-cpp
      |-native-lib.cpp
      |-library-1
        |-include
          |-lib11.h
          |-lib12.h
          |-... 
      |-library-2
        |-include
          |-lib21.h
          |-lib22.h
          |-... 
  </code></pre>
  
  <p>in current version i  am adding each files into <code>'CMakeLists.txt'</code></p>
  
  <pre><code>...
  
  add_library(# Sets the name of the library.
              native-lib
  
              # Sets the library as a shared library.
              SHARED
  
              # Provides a relative path to your source file(s).
  
  
  
              src/main/cpp/native-lib.cpp
              src/main/cpp/library-1/include/lib10.h
              src/main/cpp/library-1/include/lib11.h
              src/main/cpp/library-1/include/lib12.h
              src/main/cpp/library-1/include/lib13.h
              ...
  
              src/main/cpp/library-2/include/lib21.h
              src/main/cpp/library-2/include/lib22.h
              src/main/cpp/library-2/include/lib23.h
              ...
  
  )
  ...
  </code></pre>
  
  <p>I tried adding like  below</p>
  
  <pre><code>...
  
  add_library(# Sets the name of the library.
              native-lib
  
              # Sets the library as a shared library.
              SHARED
  
              # Provides a relative path to your source file(s).
  
  
  
              src/main/cpp/native-lib.cpp
              src/main/cpp/library-1/include/*.h  #expected result: it  will include all '.h' files in directory, but gradle sync failed
  
              src/main/cpp/library-2/include/*.h#expected result: it  will include all '.h' files in directory, but gradle sync failed
  
  
  )
  ...
  </code></pre>
  
  <p>Any other way to include all files in a folder using <code>add_library</code></p>
  
  <p>after suggestion from Lucky</p>
  
  <pre><code># For more information about using CMake with Android Studio, read the
  # documentation: https://d.android.com/studio/projects/add-native-code.html
  
  # Sets the minimum version of CMake required to build the native library.
  
  cmake_minimum_required(VERSION 3.4.1)
  
  # Creates and names a library, sets it as either STATIC
  # or SHARED, and provides the relative paths to its source code.
  # You can define multiple libraries, and CMake builds them for you.
  # Gradle automatically packages shared libraries with your APK.
  
    include_directories(src/main/cpp/library-1/include)
    include_directories(src/main/cpp/library-2/include)
  
  
  
  file(GLOB SOURCES "src/*.h")
  add_library( # Sets the name of the library.
               native-lib
  
  
               # Sets the library as a shared library.
               SHARED
  
               # Provides a relative path to your source file(s).
  
               src/main/cpp/native-lib.cpp
               ${SOURCES}
  
  
  
  
               )
  
  
  
  
  # Searches for a specified prebuilt library and stores the path as a
  # variable. Because CMake includes system libraries in the search path by
  # default, you only need to specify the name of the public NDK library
  # you want to add. CMake verifies that the library exists before
  # completing its build.
  
  find_library( # Sets the name of the path variable.
                log-lib
  
                # Specifies the name of the NDK library that
                # you want CMake to locate.
                log )
  
  # Specifies libraries CMake should link to your target library. You
  # can link multiple libraries, such as libraries you define in this
  # build script, prebuilt third-party libraries, or system libraries.
  
  target_link_libraries( # Specifies the target library.
                         native-lib
  
                         # Links the target library to the log library
                         # included in the NDK.
                         ${log-lib} )
  </code></pre>