2016-06-30 3 views
5

私はcmakeに "-std = C++ 14"コンパイラフラグのインクルードを管理させたいと思います。これは、hereのようにCMAKE_CXX_STANDARDを使用すると簡単です。これは次のように要約:GCCを使用する場合CMAKE_CXX_STANDARDを指定するときに呼び出されるコンパイラフラグを制御する方法は?

set(CMAKE_CXX_STANDARD 14) 
set(CMAKE_CXX_STANDARD_REQUIRED on) 

しかし、これはいくつかの非標準の機能を含む「-std =のGNU ++ 14」を含めることになります。 "-std = gnu ++ 14"の代わりにCMAKE_CXX_STANDARDを使用する場合、cmakeに "-std = C++ 14"コンパイラフラグを呼び出させる方法はありますか?

答えて

5

プロパティCXX_EXTENSIONSまたはグローバル変数CMAKE_CXX_EXTENSIONSを使用して、-std = C++ 1nと-std = gnu ++ 1nを切り替えることができます。それをしない...とすごい...それはCMAKE_CXX_STANDARD前cmakeのドキュメントのページの右側にある

https://cmake.org/cmake/help/v3.1/prop_tgt/CXX_EXTENSIONS.html

+1

。私がした多くの検索のうちの1つが、これらのフラグが関連していることを明らかにしたと思います。とにかく、正解のおかげで! – doc07b5

関連する問題