參考:
project (hello)
set(src_list main.c)
message(status "this is binary dir " $)
message(status "this is source dir " $)
add_executable(hello $)
以下**: 淺顯易懂,不過不是工程使用方法,後面補實際應用。cmake是乙個跨平台的安裝(編譯)工具,可以用簡單的語句來描述所有平台的安裝(編譯過程)。他能夠輸出各種各樣的makefile或者project檔案,能測試編譯器所支援的c++特性,類似unix下的automake。
cmake 使用方法
cmake的所有的語句都寫在乙個叫:cmakelists.txt的檔案中。當cmakelists.txt檔案確定後,可以用ccmake命令對相關 的變數值進行配置。這個命令必須指向cmakelists.txt所在的目錄。配置完成之後,應用cmake命令生成相應的makefile(在unix like系統下)或者 project檔案(指定用window下的相應程式設計工具編譯時)。
其基本操作流程為:
[html]view plain
copy
$> ccmake directory
$> cmake directory
$> make
其中directory為cmakelist.txt所在目錄;
cmake的執行就是這麼簡單,其難點在於如何編寫cmakelists.txt檔案,下面結合例子簡單介紹cmakelists.txt的編寫,看下面這個cmakelists.txt
[html]view plain
copy
#project name
project(test_math)
#head file path
include_directories(
include
)
#source directory
aux_source_directory(src dir_srcs)
#set environment variable
set(test_math
$
)
#set extern libraries
set(libraries
libm.so
)
#add executable file
add_executable(../bin/bin $)
#add link library
target_link_libraries(../bin/bin $)
或者用下面這個cmakelists.txt
[html]view plain
copy
#project name
project(test_math)
#head file path
include_directories(
include
)
#source directory
aux_source_directory(src dir_srcs)
#set environment variable
set(test_math
$
)
#add executable file
add_executable(../bin/bin $)
#add link library
target_link_libraries(../bin/bin m)
這是乙個測試數學函式的程式的cmakelists.txt,"#"後面為注釋的內容,cmake的命令全部為大寫
第2行指定生成的工程名為test_math
第4行指定頭檔案目錄為include
第8行指定源檔案目錄為src,並將其賦值給環境變數dir_srcs
第10行設定環境變數test_math的值為環境變數dir_srcs的值,此處用於顯示如何用環境變數對環境變數進行賦值
第14行將數學函式庫賦值給環境變數libraries,當然,可以不用這個環境變數,而在後面直接使用該庫名
第18行用於指定生成檔案,將環境變數test_math目錄下的所有檔案編譯生成../bin目錄下的可執行檔案bin
第20行指定../bin/bin執行時的鏈結庫為環境變數libraries的值-libm.so
下面給出原始檔
/src/main.c:
[html]view plain
copy
#include
#include"../include/a.h"
int main()
/src/a.c
[html]view plain
copy
#include"../include/a.h"
double get_sqrt(double var1)
/include/a.h
[html]view plain
copy
#ifndef a_file_header_inc
[html]view plain
copy
#define a_file_header_inc
#include
double get_sqrt(double var1);
#endif
將cmakelists.txt放在當前目錄下,執行cmakelists.txt
[html]view plain
copy
$> cmake .
$> make
即可生成可執行檔案,在目錄/bin下的bin檔案,好了執行看其效果是否和所想一樣。
單元測試 單元測試文章收藏
前言 前段時間公司計畫做自動化測試,自己也打算圍繞幾個點做相關調研,現在想想呢?其實對自動化測試的概念都還不是十分清晰,當時主要還是圍繞 單元測試 向qa小夥伴學習了一段時間,現由於公司重組,學習中斷,這裡簡單記錄一些單元測試好文,留待後續參考.什麼叫自動化測試?自動化測試覆蓋率?覆蓋率如何做到的?...
單元測試之Django單元測試
每個應用,自帶tests.py 整合在django的專案檔案裡,更多是開發人員寫django自動的測試執行 3.1 前後置方法執行特點 django.test.testcase類主要由前 後置處理方法和test開頭的方法組成 特點 繼承於django.test.testcase 測試用例都是test...
單元測試(三) 建立多執行緒單元測試
junit本是不支援多執行緒的,乙個單元測試case主程序跑完,其他new出來的執行緒都會gg思密達。此篇mark乙份在junit中執行多執行緒的方法。net.sourceforge.groboutils groboutils core 5test slf4j public class device...