9

CLion では、デフォルトの CMakeLists.txt は C++11 コンパイラ フラグのみを設定します。すべてのプロジェクトで、デフォルトで警告とペダンティック フラグを設定したいと思います。

これはデフォルトで

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

新しいプロジェクトを作成するたびに変更する必要がないように、デフォルトでこれを使用したい

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -W -Wall -Wextra -pedantic")

「設定」の「ファイルとコード テンプレート」で、C++ ヘッダー/ソース テンプレートを変更できますが、CMakeLists.txt テンプレートは変更できません。CLion でデフォルトの CMakeLists.txt テンプレートを変更する方法はありますか?

4

1 に答える 1

0

CmakeLists.txt を編集してこれをオーバーライドできないことに注意してください。

また、問題のファイルのバックアップ コピーを作成することをお勧めします。

CLion をインストール/解凍した場所に移動してから、

bin/cmake/share/cmake-3.2/Modules

「CMakeCXXInformation.cmake」という名前のファイルを探します

このモデルに従って、フラグを書き込んで貼り付けるだけです。

#This should be my default compiler flags
SET(CMAKE_CXX_FLAGS "-std=c++11 -Wall -Werror -Wextra -pedantic -
Wshadow -Woverloaded-virtual -Winvalid-pch -Wcast-align -Wformat=2 -
Wformat-nonliteral -Wmissing-declarations -Wmissing-format-attribute -
Wmissing-include-dirs -Wredundant-decls -Wswitch-default")

ファイルの上部/下部など、好きな場所にこれを書き込んで貼り付けることができます。

ファイルを保存し、Cmake プロジェクトをリロードします。楽しみ!

(CmakeList.txt にコンパイラフラグが設定されている行は無視/削除できます)

 

おそらくより良い解決策:

これは Intellij のどの製品でもサポートされていないようなので、コードを移植可能にしたい場合は、[ライブテンプレート] ( https://www.jetbrains.com/idea ) を使用するのが最善の解決策だと思います。 /help/live-templates.html )

私は現在、flags と呼ばれるライブ テンプレートを使用しています。このテンプレートには、よく使用するフラグとその他のコード情報を貼り付けています。したがって、CMakeLists.txt にいるときはいつでも、フラグを入力してから Tab キーを押してそのテキストを展開できます。もちろん、多くのバージョンのフラグを持つことができ、それらにライブ テンプレートを使用すると、毎回個別に入力する負担が軽減されます。

于 2015-05-24T16:05:01.897 に答える