Mysql
 sql >> Database >  >> RDS >> Mysql

Aggiungi e collega le librerie mysql in un cmakelist.txt

Il modo più semplice potrebbe essere trovare (ad esempio con google) FindMySQL.cmake script, che funziona per te. Questo script può essere utilizzato con find_package comando come al solito:

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

(Nomi delle variabili MYSQL_INCLUDE_DIR e MYSQL_LIB può essere diverso per lo script concreto).

Ma non è difficile collegarsi manualmente con la libreria MySQL, conoscendo il modo per calcolare CFLAGS e LIBS.

Durante la fase di configurazione (esecuzione di cmake ) i programmi possono essere eseguiti con execute_process , per aggiungere CFLAGS e LIBS per target specifici, utilizzare target_compile_options e target_link_libraries corrispondentemente :

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