Mysql
 sql >> Base de données >  >> RDS >> Mysql

Ajouter et lier des bibliothèques mysql dans un cmakelist.txt

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})