ubuntu安裝使用cmake
安裝cmake 對任何用戶而言都不該再成爲一個問題。幾乎所有主流的Linux發行版的源中都包含有cmake的安裝包,直接從源中添加即可。當然,也可以在官方網站下載源代碼自行編譯安裝。
對於Windows和Mac用戶,cmake的官方網站上有相應的安裝包,下載安裝即可,無須贅述。
注:爲了能夠測試本文中的實例程序,如果讀者的Linux系統中所帶的cmake版本低於2.6,請從官網下載2.6版本或以上的源代碼進行編譯並安裝。
在linux下安裝cmake
- 首先下載源碼包
http://www.cmake.org/cmake/resources/software.html
這裏下載的是cmake-2.6.4.tar.gz
隨便找個目錄解壓縮
root@lct:/home/work# tar -xzvf cmake-2.6.4.tar.gz
root@lct:/home/work# cd cmake-2.6.4
root@lct:/home/work# ./bootstrap
root@lct:/home/work# make
root@lct:/home/work# make install
cmake 會默認安裝在 /usr/local/bin 下面
單文件cmake工程構建
- 單文件hello.c
#include <stdio.h>
int main(void)
{
printf("Hello World from Main!\n");
return 0;
}
- 編寫 CMakeLists.txt
PROJECT(HELLO)
SET(SRC_LIST hello.c)
MESSAGE(STATUS "This is BINARY dir"${HELLO_BINARY_DIR})
MESSAGE(STATUS "This is SOURCE dir"${HELLO_SOURCE_DIR})
ADD_EXECUTABLE(hello ${SRC_LIST})
運行cmake .
此時已經自動生成Makefile
運行make,生成可執行文件hello
多文件cmake工程構建
- 編寫源文件
root@lct:/home/work/myCmakePro# ls
CMakeLists.txt main.c src
root@lct:/home/work/myCmakePro# cd src
root@lct:/home/work/myCmakePro/src# ls
hello.h hello.c
- 編寫CMakeLists.txt
- 頂層CMakeLists.txt
root@lct:/home/work/myCmakePro# cat CMakeLists.txt
PROJECT(main)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
ADD_SUBDIRECTORY(src)
AUX_SOURCE_DIRECTORY(. DIR_SRCS)
ADD_EXECUTABLE(main ${DIR_SRCS})
TARGET_LINK_LIBRARIES(main hello)
使用命令 ADD_SUBDIRECTORY 指明本項目包含一個子目錄 src 。第六行,使用命令 TARGET_LINK_LIBRARIES 指明可執行文件 main 需要連接一個名爲hello的鏈接庫 。
- 子目錄src下面的CMakeLists.txt
root@lct:/home/work/myCmakePro# cd src
root@lct:/home/work/myCmakePro/src# cat CMakeLists.txt
AUX_SOURCE_DIRECTORY(. DIR_HELLO_SRCS)
ADD_LIBRARY(hello ${DIR_HELLO_SRCS})
在該文件中使用命令 ADD_LIBRARY 將 src 目錄中的源文件編譯爲共享庫。
運行cmake .
此時已經自動生成Makefile運行make,生成可執行文件和動態庫