
Lors de l'utilisation de bibliothèque, CMake peut ajouter les options de compilation afin d'ajouter les chemins des fichiers d'en-tête ainsi que les options de link de manière générique.
Cela permet en particulier de ne pas être dépendant d'un nom précis de fichier ou de répertoire dépendant de la distribution Linux, ou d'un système (Mac, Linux, etc).

Le code proposé utilise la bibliothèque OpenCV pour mettre en oeuvre une détection de cercle, les chemins d'accès aux fichiers d'en-tête ainsi que les chemins et noms précis des fichiers .so peuvent être dépendant du système.
De manière générique, il est possible d'utiliser la recherche de package d'openCV.

A partir du CMakeLists.txt de base sans dépendances, ajoutez les lignes suivantes:

# Recherche le module OpenCV pour CMake, required indique que le module est indispensable pour générer le Makefile.
FIND_PACKAGE( OpenCV REQUIRED )

# Ajout des répertoires pour la recherche des fichiers d'en-tête (option -I[repertoire_en_tete] du compilateur)
INCLUDE_DIRECTORIES( ${OpenCV_INCLUDE_DIRS} )

# Ajout des répertoires contenant les fichiers compilés de la bibliothèque pour l'édition des liens (option -L[repertoire_bibliotheque] de l'éditeur de liens)
LINK_DIRECTORIES( ${OpenCV_LIBRARY_DIRS} )


Enfin, après ADD_EXECUTABLE, ajoutez la ligne permettant à l'éditeur de liens de se lier à la bibliothèque (équivalent du -l[nom_lib])

TARGET_LINK_LIBRARIES(main ${OpenCV_LIBS} )



Compilez et exécutez le programme.