La forma más sencilla podría ser encontrar (por ejemplo, con google) FindMySQL.cmake
guión, que funciona para usted. Este script se puede usar con find_package
comando como de costumbre:
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})
(Nombres de variables MYSQL_INCLUDE_DIR
y MYSQL_LIB
puede ser diferente para scripts concretos).
Pero no es difícil enlazar manualmente con la biblioteca MySQL, conociendo la forma de calcular CFLAGS y LIBS.
Durante la etapa de configuración (ejecución de cmake
) los programas se pueden ejecutar con execute_process
, para agregar CFLAGS y LIBS para uso de destino específico target_compile_options
y target_link_libraries
correspondientemente:
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})