Le moyen le plus simple pourrait être de trouver (par exemple avec google) FindMySQL.cmake
script, qui fonctionne pour vous. Ce script peut être utilisé avec find_package
commande comme d'habitude :
list(CMAKE_MODULE_PATH APPEND <directory-where-FindMySQL.cmake-exists>)
find_package(MySQL REQUIRED)
include_directories(${MYSQL_INCLUDE_DIR})
target_link_libraries(cgm ${MYSQL_LIB})
(Noms des variables MYSQL_INCLUDE_DIR
et MYSQL_LIB
peut être différent pour un script concret).
Mais il n'est pas difficile de se lier manuellement à la bibliothèque MySQL, sachant comment calculer CFLAGS et LIBS.
Lors de la phase de configuration (exécution de cmake
) les programmes peuvent être exécutés avec execute_process
, pour ajouter CFLAGS et LIBS pour une cible spécifique, utilisez target_compile_options
et target_link_libraries
en conséquence :
execute_process(COMMAND mysql_config --cflags
OUTPUT_VARIABLE MYSQL_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND mysql_config --libs
OUTPUT_VARIABLE MYSQL_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE)
target_compile_options(cgm PUBLIC ${MYSQL_CFLAGS})
target_link_libraries(cgm ${MYSQL_LIBS})