CMake中使用find_pakage来使用MySQL
一般来说,如果我们在C++程序中要使用mysql的库,最简单的就是
1 | g++ server.cpp -o server -lmysqlclient |
但要是在大一点的项目中,在数不清的源文件下使用g++命令来完成,怕是不太现实。
通常使用的工具为CMake,用其来构建项目,但它又没有包管理功能,对于我们想要使用的库,需要在 CMakeLists.txt
中引入。
引用的方式我这里选择 find_pakage
(其概述和使用方法这里就不过多赘述了)
1 | set(CMAKE_MODULE_PATH /usr/share/cmake/Modules) |
对上面的代码做一下解释:
- 首先设置一下cmake module的路径,其实就是存放
.cmake
文件的位置。有时候看一些项目,会发现其根目录下会有一个cmake
目录,诶,没错,就和这个一样 - 使用find_package来引入依赖库
- 添加可执行程序server
- 如果使用find_package找到了MySQL库,则将其链接到server上,否则终止构建
值得注意的是,在CMAKE_MODULE_PATH目录下,必须有Find<LibaryName>.cmake
模块,在本例中,即为 FindMySQL.cmake
,该文件可在网上找到。