Der einfachste Weg könnte sein, (z. B. mit Google) FindMySQL.cmake
zu finden Skript, das für Sie funktioniert. Dieses Skript kann mit find_package
verwendet werden Befehl wie gewohnt:
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})
(Namen der Variablen MYSQL_INCLUDE_DIR
und MYSQL_LIB
kann für konkretes Skript unterschiedlich sein).
Aber es ist nicht schwierig, sich manuell mit der MySQL-Bibliothek zu verbinden, wenn man den Weg zur Berechnung von CFLAGS und LIBS kennt.
Während der Konfigurationsphase (Ausführen von cmake
) Programme können mit execute_process
ausgeführt werden , um CFLAGS und LIBS für spezifische Zielzwecke hinzuzufügen target_compile_options
und target_link_libraries
entsprechend :
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})