[作品] 純設定的編譯系統
專案名稱:cdog https://github.com/dannypsnl/cdog
目的是讓寫腳本的時間可以拿去考慮更重要的事情,目前只支援了 build 指令
用法是在專案目錄底下建立名為 cdog.toml 的檔案
建立 src 目錄,建立 main.cc 檔案印個 hello, world
隨後下 cdog build 就能在 專案目錄/build 底下看到跟專案目錄同名的執行檔了
如果你建立的是 src/lib.cc,那就會產生一個靜態程式庫(對,我忘記把使用方需要的 headers 產生出來了),一樣以專案名稱為名 lib專案目錄.a
所有程式碼都會在src底下(src是可以設定的)
src會是include_dir之一,所以你可以簡單的建立 src/foo.h, src/foo.cc 然後在 main.cc(lib.cc亦同) 裡引用就可以使用foo中的程式,foo.cc 會因為 foo.h 被編譯(目前只支援 cc 這個副檔名,編譯器是寫死的 clang++),所以不要讓兩個同開頭的header跟Implementation沒有關連
目前計畫中的是 install 與 get 兩個指令
install 是發佈到系統中,get 才是取得第三方程式庫
另外就是讓使用者指定額外的 include_dirs 跟 ld_paths,這樣就算第三方程式庫不支援至少也能用
關於版本設定,目前的打算是直接用版控軟體,這樣就不會有版控跟設定檔的版本不同的問題,相對的專案就需要設定它指定到特定版本所使用的指令,例如一個用git的專案就要設定成"git checkout"(或是看能不能整合現有的專案如conan, vcpkg)
這是一個原型專案,希望各位能給一些意見,想參與開發也非常歡迎XD
-----
Sent from JPTT on my HMD Global TA-1003.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.201.152
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1528980146.A.0E4.html
推
06/15 14:35,
7年前
, 1F
06/15 14:35, 1F
→
06/15 14:36,
7年前
, 2F
06/15 14:36, 2F
→
06/15 14:36,
7年前
, 3F
06/15 14:36, 3F
→
06/15 14:37,
7年前
, 4F
06/15 14:37, 4F
推
06/15 14:44,
7年前
, 5F
06/15 14:44, 5F
→
06/15 14:44,
7年前
, 6F
06/15 14:44, 6F
→
06/28 22:30,
7年前
, 7F
06/28 22:30, 7F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章