目標
本小節的任務是讓前面的 hello world 更像乙個工程,我們需要作的是:
目錄結構
|t2/
|doc/
hello.txt
|src/
main.c
cmakelists.txt
cmakelists.txt
readme
runhello.sh
t2/cmakelists.txt
cmake_minimum_required(version 3.5)
project (hello)
add_subdirectory(src bin)
#add_subdirectory(source_dir [binary_dir] [exclude_from_all])
#這個指令用於向當前工程新增存放原始檔的子目錄 ,此處設定為bin 是相對於 project_binary_dir 也即 "$/bin"
#binary_dir可以指定中間二進位制和目標二進位制存放的位置
#exclude_from_all引數的含義是將這個目錄從編譯過程中排除,比如,工程的 example可能就需要工程構建完成後,再進入 example 目錄單獨進行構建(當然,你也可以通過定義依賴來解決此類問題)
#add_subdirectory(src)
#如果我們在上面的例子中將 add_subdirectory (src bin)修改為 add_subdirectory (src), 預設使用"$/子目錄名稱"作為存放路徑
#那麼在 build 目錄中將出現乙個 src 目錄,生成的目標** hello 將存放在 src 目錄中。
#也可以手動指定
#add_subdirectory(src "$/bin")
install(programs runhello.shdestination bin)
#安裝 doc 中的 hello.txt,這裡有兩種方式:一是通過在 doc 目錄建立
#cmakelists.txt 並將 doc 目錄通過 add_subdirectory 加入工程來完成。另一種方法
#是直接在工程目錄通過install(directory 來完成),前者比較簡單,各位可以根據興趣自己完成,我們來嘗試後者,順便演示以下 directory 的安裝
#因為 hello.txt 要安裝到//share/doc/cmake/t2,所以我們不能直接安裝
#整個 doc 目錄,這裡採用的方式是安裝 doc 目錄中的內容,也就是使用」doc/」
install(directory doc/destination share/doc/cmake/t2)
t2/src/main.c
#include
int main()
t2/src/cmakelists.txt
#換個地方儲存目標二進位制
#不論是 subdirs 還是 add_subdirectory 指令(不論是否指定編譯輸出目錄),我們都可
#以通過 set 指令重新定義 executable_output_path 和 library_output_path 變數
#來指定最終的目標二進位制的位置(指最終生成的 hello 或者最終的共享庫,不包含編譯生成
#的中間檔案)
set(executable_output_path "$/bin2")
set(library_output_path "$/lib2")
add_executable(hello main.c)
install(targets hello
runtime destination bin
library destination lib
archive destination libstatic)
乙個完整的健身方案
乙個完全的健身方案應當包含吃 飲食 練 訓練 睡 睡眠 三個方面,而練則由心肺,力量,柔韌三個主要部分組成。有鑑於此,本人給出的訓練計畫是 開始時用5 10分鐘有氧熱身,最後用5 10分鐘拉伸放鬆,中間是40 50分鐘的力量訓練。力量訓練主要有 1 背部 引體向上 頸前下拉 2 胸部 平板臥推 坐姿...
乙個完整的大作業
1.選乙個自己感興趣的主題。2.網路上爬取相關的資料。3.進行文字分析,生成詞云。4.對文字分析結果解釋說明。5.寫一篇完整的部落格,附上源 資料爬取及分析結果,形成乙個可展示的成果。詞云.txt w for i in range 20 print c i for words count in ra...
乙個完整的大作業
從事跨境電商的工作心得 2015年,那時我剛好大二,一次偶然的機會,我接觸到了跨境電商這個行業 最先接觸到的就是 wish 這個跨境平台,從開始註冊賬號到出單,花了整整 6個月的時間 之後的每個月不但掙到了自己的生活費,而且還有一大部分資金剩餘 之後隨著單量的不斷增加,資金開始緊張,由於自身人脈和資...