Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Adicionar e vincular bibliotecas mysql em um cmakelist.txt


A maneira mais simples pode ser encontrar (por exemplo, com o google) FindMySQL.cmake script, que funciona para você. Este script pode ser usado com find_package comando como de costume:
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})

(Nomes das variáveis ​​MYSQL_INCLUDE_DIR e MYSQL_LIB pode ser diferente para script concreto).

Mas não é difícil vincular manualmente com a biblioteca MySQL, sabendo como computar CFLAGS e LIBS.

Durante o estágio de configuração (execução de cmake ) podem ser executados com execute_process , para adicionar CFLAGS e LIBS para destino específico, use target_compile_options e target_link_libraries correspondentemente:
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})