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