cmake利用git tag生成內部的版本號

2021-10-02 23:58:22 字數 854 閱讀 4434

專案中使用git進行**的版本控制,每次發版都會生成新的tag。

#define audit_version "1.1.1"
cout << audit_version << endl;
如果像上面的**一樣,直接在**中寫死,每次打tag時都要去改**,為了避免對**的修改,可以通過cmakelists.txt檔案來實現。如下:

execute_process(command git describe --tags

timeout 5

output_variable git_version

output_strip_trailing_whitespace

)message(status "building from git tag $")

add_definitions(-dbuild_version=\"$\")

execute_process表示執行git命令來獲取當前的tag號,並且賦值給變數git_version,

message表示將變數輸出,在cmake的時候可以看到對應的輸出,如下:

-- building from git tag 1.1.1

-- configuring done

-- generating done

add_definitions表示新增乙個巨集名build_version並且巨集體為git_version變數的值,此後便可以在**中直接使用build_version巨集,如下 :

cout << build_version << endl;

利用Cmake編譯Caffe

1.安裝好caffe需要用到的各種庫 建議盡量使用apt get安裝方式,這樣方便以後使用 2.新建資料夾 在caffe根目錄下執行 mkdir cmake build cd cmake build cmake 之後輸入 make j 4 make j 4這裡應該是我配置有問題的原因,第一次不會執行...

用cmake生成ios framework庫

cmake ios framework 2019 5 5 如果你開發了一套c 要在android和iphone兩種手機上執行,就要在分別編譯android和iphone兩個平台下的動態庫。android開發目前是用 android studio sdk ndk iphone開發是用xcode.當你增...

cmake 生成 動態庫

一,目錄結構 cmakelists.txt include shared hello.h src hello.cpp main.cpp link cmakelists.txt contains the cmake commands you wish to run link include share...