在cmake中,gcc的默認版本編譯器標誌是-O2 -DNDEBUG
。我希望他們成爲-Ofast -NDEBUG
。我希望對於我在cmake中所做的每一個項目都是真實的,而不會在我的項目的任何其他消費者中強加這樣的選擇。在CMake中,如何在每個用戶的基礎上更改構建類型的默認編譯器標誌?
我該怎麼做?
我可以將它們編輯到該項目的CMakeLists.txt
文件中。但是,我迫使其他人同意我的選擇。另外,我必須非常小心如何確保我只影響編譯器,而這些編譯器是一組有效的標誌。
每次檢查一棵新樹或創建一個新的構建環境時,我可以在每個項目上使用ccmake
。但是,當我想每次將標誌設置爲相同的東西時,這是一個巨大的麻煩。
有沒有一種方法來設置它,這樣對我個人而言,clang和gcc對於各種構建類型的默認編譯器標誌是我希望它們是什麼?
同樣,它注意到我有ccache
和gcc
。這很好。但是,爲編譯器強制執行不同的默認選擇可能也不錯,但對我個人而言,不適用於任何其他選擇使用我的項目的人。
這可能嗎?
只要只有可選的(非默認)標誌,這是很好的。我強烈建議所有默認參數都在變量之外處理。開始或恢復一個項目並花費半天時間設置環境變量或缺少環境變量並且無法弄清楚爲什麼一切都會中斷,這是非常令人沮喪的。 – Stewart