1. 程式人生 > >mysql編譯工具 cmake

mysql編譯工具 cmake

#SinaEditor_Temp_FontName

從mysql5.5起,mysql原始碼安裝開始使用cmake了。下面是介紹configure選項如何對映到CMake的等值引數。

1. 命令語法:

./configure---------cmake.
 

重新編譯時,需要清除舊的物件檔案和快取資訊
  # make clean
  # rm -f  CMakeCache.txt

2.安裝選項

CMAKE_INSTALL_PREFIX值是安裝的基本目錄,其他cmake選項值是不包括字首,是相對路徑名,絕對路徑包括CMAKE_INSTALL_PREFIX路徑。如-DINSTALL_SBINDIR=sbin的絕對路徑是/usr/local/mysql/sbin
 
 3.儲存引擎選項
mysql儲存引擎是外掛式的,因此外掛控制選項可以指定那個儲存引擎安裝。
configure編譯外掛選項--with-plugins=csv,myisam,myisammrg,heap,innobase,
archive,blackhole在cmake中沒有直接對應的相同選項。對於csv,myisam,myisammrg,heap在cmake中是不需要明確指定儲存引擎的名稱,因為它們是強制性安裝。

可以使用以下選擇來安裝innodb,archive,blackhole儲存引擎
 -DWITH_INNOBASE_STORAGE_ENGINE=1

 -DWITH_ARCHIVE_STORAGE_ENGINE=1

 -DWITH_BLACKHOLE_STORAGE_ENGINE=1

 (1可以使用on代替)
 
 如果既不是-DWITH_<ENGINE>_STORAGE_ENGINE也不是 -DWITHOUT_<ENGINE>_STORAGE_ENGINE來指定儲存引擎,該儲存引擎將安裝成共享模組式的。如果不是共享模組式的將排除在外。共享模組安裝時必須使用INSTALLPLUGIN語句或--plugin-load才可以使用。

4.lib庫選項

5.其他選項
 之前MySQL的編譯選項大多數都支援。新舊版本之間的安裝選項對映成大寫字母,刪除選項前面破折號,中間字元間的破折號替換成下劃線。如:
  --with-debug => WITH_DEBUG=1

  --with-embedded-server =>WITH_EMBEDDED_SERVER

6.除錯配置過程
 使用configure編譯完將生成config.log和config.status檔案。
  使用cmake編譯完在CMakeFiles目錄下生成CMakeError.log和CMakeOutput.log檔案。

7.第三方介面工具
  在之前的版本,第三方工具從MySQL頂層源目錄中讀取源configure.in檔案來確定mysql版本。如:對5.5.7 -RC版本的AC_INIT線看起來像這樣:
 AC_INIT([MySQL Server], [5.5.7-rc], [],[mysql])

   現在的版本可以直接讀取版本檔案。如:如果版本是5.5.8,檔案看起來像這樣的:
 MYSQL_VERSION_MAJOR=5

 MYSQL_VERSION_MINOR=5

 MYSQL_VERSION_PATCH=8

 MYSQL_VERSION_EXTRA=
 
 如果原始碼包不是GA版,MYSQL_VERSION_EXTRA的值將非空。如:對於一個釋出RC版本是這樣的:
 MYSQL_VERSION_EXTRA=rc

 構建5位數字的版本號,使用下面公式:
 MYSQL_VERSION_MAJOR*10000 +MYSQL_VERSION_MINOR*100 + MYSQL_VERSION_PATCH