[爆卦]cmake教學是什麼?優點缺點精華區懶人包

為什麼這篇cmake教學鄉民發文收入到精華區:因為在cmake教學這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者druid0214 (鍵盤榜首)看板C_and_CPP標題Re: [分享] CMake裡面直上G...


※ 引述《Killercat (殺人貓™)》之銘言:
: https://rayer.github.io/2017/05/31/在CMake裡面使用Google-Test/
: https://tinyurl.com/yae84jlj

你似乎以為安裝套件一定要系統安裝 其實可以在自家下同時裝不同版本(隔離環境)

而且你這樣每次都要多花時間下載和編譯這些明明是常用的套件

我並不是說git submodule這個功能多餘

而是git submodule一般會用在沒有Find<moduel>.cmake的套件

或是git submodule需要--recursive去拉很多相依的時候


通常這類能find的套件是使用者自己補相依 ex: boost gtest qt

開發者甚至可以寫Find<module>.cmake讓使用者只要給<module>_ROOT參數就好



A. 先說在自家創隔離環境的方法

1. windows我個人習慣在d:\sdk\<package>\<version>這build就可以

2. Linux

a. 用./configure --prefix=$HOME/root (請翻閱21世紀C語言第1章)

如果是cmake給參數CMAKE_INSTALL_PREFIX

b. Desktop virtualization

B. 然後使用者送CMake參數

1. 手動

a. 喜歡用GUI的人 linux和windows都有gui 只要Find<moudle>.cmake有寫好

先configure一次 給然後手動設參數<moudle>_ROOT

再configure一次就會抓到libs和include

(當然遇到比較悲哀的cmake連libs和include都要手動給www)

b. 用指令送 -D<moudle>_ROOT = <path-to-module>

2. 自動

a. 這個linux上大家都很會 手段和選擇很多(ex:export variable)

b. windows上 user側(不要動系統)的環境變數新增<module>_ROOT



只要在README.md裡寫這樣就好

## Prerequisites
+ [CMake](cmake-url) (3.4~3.8)
+ [Boost](url)(1.43~1.59)
+ [Qt4](url)(4.3~4.4)
+ [GTEST](url)
+ C++11 compiler

--
日本的驕傲 乒乓球放在上面也不會滾 中華民國 很屌嗎,我們台灣
動,馬路就是這麼平! 的驕傲 也可以。
\● / ● /
︱> #1FPWIVQQ (joke) <︱>
/\ ▄▃▂▄ ▂▄/\▂▃
███████████████ψ FallRed ██████████████

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.20.106
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1501380449.A.2FE.html
※ 編輯: druid0214 (140.116.20.106), 07/30/2017 10:11:12
Killercat: 推 這個我下次去試試看 原來findpackage能這樣用 07/30 23:37

你可能也想看看

搜尋相關網站