10.2 Tester la présence de la librairie compilée

Pour tester la présence de la librairie compilée, c'est le même principe que précédemment :

1
2
3
4
5
6
7
8
9
10
11
12
13
find_path(PLIB_MATHC_LIBRARY_DIR
       NAMES libmalib.a
       PATHS "${MALIB_PREFIX}/lib" ${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INCLUDE_PATH}
)

IF (MALIB_LIBRARY_DIR)
       MESSAGE(STATUS "Found lib MALIB : ${MALIB_LIBRARY_DIR}")
ELSE (MALIB_LIBRARY_DIR)
       MESSAGE(FATAL_ERROR "errrrr lib MALIB not found baahhhh bouuuuuu")
ENDIF (MALIB_LIBRARY_DIR)

set(MALIB ${MALIB_LIBRARY_DIR}/libplib6_mathc.a)

On test si le fichier libmalib.a est dans in des dossiers que l'on propose et on regarde le résultat. Si on a trouvé la lib, on donne sont dossier, si on ne l'a pas trouvé on râle. À la dernière ligne on définit une variable ayant le même nom que la lib en majuscule (convention), comme ça sa simplifie l'écriture des dépendances d'un programme ayant besoin de cette lib :

1
target_link_libraries(monprogramme ${MALIB})

Bien sûr ça ne se fait pas n'importe comment.

Convention ?

Non, là c'est CMake qui permet de le faire que d'une seule manière.