專案名稱: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