MySQL 5.5版本开始,其源码安装过程引入了CMake作为新的构建系统,替代了传统的configure工具。这一变化使得构建过程更加现代化和灵活,同时也带来了一些转换上的注意事项。 清理旧的构建文件是必要的,这可以通过`make clean`命令完成,以移除旧的对象文件和缓存信息。此外,需要手动删除`CMakeCache.txt`文件以确保从头开始一个新的构建过程。 安装路径的设置在CMake中通过`CMAKE_INSTALL_PREFIX`变量指定。这个值设定了安装的基本目录,而其他的CMake选项则提供的是相对于这个前缀的相对路径。例如,若`CMAKE_INSTALL_PREFIX`为`/usr/local/mysql`,`DINSTALL_SBINDIR=sbin`则表示安装的sbin目录为`/usr/local/mysql/sbin`。 MySQL的存储引擎选项在CMake中处理方式有所不同。不同于configure的`--with-plugins`选项,CMake不直接支持列出所有要安装的存储引擎。对于默认强制安装的引擎如csv, myisam, myisammrg, heap,无需在CMake中指定。但如果你想安装innodb, archive, blackhole这些可选引擎,可以使用如下CMake参数: - `-DWITH_INNOBASE_STORAGE_ENGINE=1` - `-DWITH_ARCHIVE_STORAGE_ENGINE=1` - `-DWITH_BLACKHOLE_STORAGE_ENGINE=1` 如果未使用`-DWITH_<ENGINE>_STORAGE_ENGINE`或`-DWITHOUT_<ENGINE>_STORAGE_ENGINE`指定存储引擎,它将作为共享模块进行安装,需要通过`INSTALL PLUGIN`语句或`--plugin-load`才能启用。 库选项的设置在CMake中与configure类似,大多数旧的编译选项仍然得到支持。选项转换规则通常是将破折号替换为下划线,并将选项变为大写,如`--with-debug`对应`WITH_DEBUG=1`,`--with-embedded-server`对应`WITH_EMBEDDED_SERVER`。 调试配置过程中,configure会生成`config.log`和`config.status`文件,而CMake会在`CMakeFiles`目录下创建`CMakeError.log`和`CMakeOutput.log`,这两个文件对于排查构建问题非常有帮助。 对于第三方工具,以前它们依赖于MySQL顶层的`configure.in`文件来获取版本信息。但在CMake时代,版本信息直接存储在版本文件中,如`MYSQL_VERSION_MAJOR`, `MYSQL_VERSION_MINOR`, `MYSQL_VERSION_PATCH`,以及可选的`MYSQL_VERSION_EXTRA`来标识非GA版本,如RC或Beta。通过这些变量,第三方工具可以直接获取MySQL的版本信息,并构造出5位数字的完整版本号。 从configure迁移到CMake,虽然需要对构建过程做一些调整,但CMake提供了更强大、更统一的构建环境,使得配置和管理MySQL源码构建变得更加方便。理解和掌握这些转换规则,对于成功编译和管理MySQL 5.5及更高版本的源代码至关重要。
- S丶T2013-09-27个人觉得有用、但不是很大、毕竟是免积分下载。谢谢分享。
- hujh88hujh2014-04-10当参考吧, 毕竟有些选项不同了.
- 粉丝: 44
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 模拟题最终版.docx
- Java Web实验报告一:通讯录
- 不同温度下的光谱数据,仅截取550nm-700nm
- 不同温度下的光谱数据,仅截取550nm-700nm
- HengCe-18900-2024-2030全球与中国eMMC和UFS市场现状及未来发展趋势-样本.docx
- 2024第十四届APMCM亚太地区-C题完整论文.pdf
- HengCe-18900-2024-2030中国硬碳负极材料市场现状研究分析与发展前景预测报告-样本.docx
- PHP面向对象与设计模式
- HengCe-2024-2030全球与中国掩模基板市场现状及未来发展趋势-样本
- CSS3制作的聚光灯下倒影文字选装动画特效代码.zip