De eenvoudigste manier zou kunnen zijn om (bijvoorbeeld met google) FindMySQL.cmake
te vinden script dat voor u werkt. Dit script kan worden gebruikt met find_package
commando zoals gewoonlijk:
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 van variabelen MYSQL_INCLUDE_DIR
en MYSQL_LIB
kan anders zijn voor concreet script).
Maar het is niet moeilijk om handmatig een koppeling te maken met de MySQL-bibliotheek, omdat u weet hoe u CFLAGS en LIBS kunt berekenen.
Tijdens de configuratiefase (uitvoeren van cmake
) programma's kunnen worden uitgevoerd met execute_process
, voor het toevoegen van CFLAGS en LIBS voor specifiek doelgebruik target_compile_options
en target_link_libraries
overeenkomstig :
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})