CMake possède l'avantage de pouvoir chercher un ensemble de fichier source et de ne pas avoir à les lister individuellement (contrairement à qmake par exemple).

Par exemple:

================

FILE( GLOB
      source_files
      src/*.cpp
)

vient placer tous les noms de fichiers du répertoire src/ terminant par cpp dans la variable source_files.

================

FILE( GLOB
      source_files
      src/*.cpp
      src/*.hpp
)

vient placer tous les noms de fichiers du répertoire src/ terminant par cpp ou par hpp dans la variable source_files.

================

FILE( GLOB
      source_files
      src/*.[ch]pp
)

est une version plus concise du cas précédent

================

FILE( GLOB_RECURSE
      source_files
      src/*.[ch]pp
)

vient placer tous les noms de fichiers du répertoire src/ ainsi que de tous ces sous-répertoires de manière récursive terminant par cpp ou hpp dans la variable source_files.



=========================
=========================

Le programme proposé dans src/ contient un sous répertoire utilisé par le fichier main.
Ecrivez le CMakeLists.txt permettant de compiler ce projet en chargeant de manière générique tout les fichiers terminant par cpp et hpp dans src/ ainsi que tous ses sous-répertoires.


