cmake-ide CMakeプロジェクトのEMACSでIDEのような機能を有効にするパッケージです。また、コンピレーションデータベースが帯域外に生成される限り、非クメークプロジェクトもサポートします。これには、最小構成のCMAKEプロジェクトのAutocomprytionおよびon-the-Fly構文チェックが含まれます。次の組み合わせで、他のパッケージを使用して重い持ち上げを行います。
cmake-ide 、変数を設定し、インストールされている従属パッケージの関数を呼び出します。
他のツールに渡すために必要なコンパイラフラグを取得するために、emaksでCmakeを実行することで機能します。すべての依存関係はCmakeスクリプトで指定されているため、EMACSの並列依存関係追跡システムを維持する必要はありません。 cmakeに聞いてください。
auto-complete-clang 、 flycheckなどの変数を設定します。構成はほとんど必要ありません。cmake-ide-build-dirを設定する必要があります。cmake-ide-delete-file使用すると、ファイルを削除するときに同じ便利さを持つことができます。これを行うためのより良い方法を理解することはできません。明らかに、ファイルを削除するということは、コンパイルするファイルのリストに変更を登録するために、ファイルを手動で再度実行する必要があるということです。cmake-ide-build-dirが設定されている場合、それはcmakeを実行するためのビルドディレクトリと見なされます。さらに、これにより、 cmake-ide-compileプロジェクトをコンパイルします。忍者を自動的に検出し、それに応じてコンパイルコマンドをビルドして設定します。使用するコマンドはcmake-compile-command変数を設定することでカスタマイズできます。cmake-ide Clangを使用して定義を見つけるためにRTAGを使用することができます。 cmake-ide-setupの前に(require 'rtags)がrtagsサーバー( rdm )を自動的に起動し、 rc -Jを呼び出して、0-config "Jump to Definition"および他のRTAGSが提供するプロジェクトファイルにインデックスを作成します。これは、 rdmとrc両方で、システムパスの両方で、またはcmake-ide-rdm-executableでcmake-ide-rc-executable場合にのみ正しくカスタマイズされます。 cmake-ideシステムのTMP-Directoryまたはcmake-ide-build-pool-dir (SET)のいずれかで、ビルドディレクトリを自動的に作成できます。デフォルトでは、すべてが自動的に作成されたビルドディレクトリ(作成された場所に関係なく)に一時的でユニークな名前があり、新しいセッションごとに変更されるため、再利用できません。ただし、 cmake-ide-build-pool-use-persistent-naming命名スキームを使用できます。これにより、ビルドディレクトリを再利用できます。
cmake-ide-build-pool-dirとcmake-ide-build-pool-use-persistent-naming両方を使用することにより、ディレクトリローカル変数を使用してプロジェクトごとにビルドディレクトリを構成する必要性を完全に廃止できます(たとえば)。
.dir-locals.elを使用して、 cmake-ide-project-dirおよびcmake-ide-build-dir変数を設定します(絶対パスを使用)。
.dir-locals.el:(nil。((cmake-ide-build-dir。 "/path/to/build/dir")(cmake-ide-project-dir。 "/path/to/project/dir")))))
compile_commands.jsonというファイルがcmake-ide-build-dirに存在する場合、Cmakeプロジェクトと同様に機能します。 bear(https://github.com/rizsotto/bear)を使用して、Makeコマンドからcompile_commands.jsonを生成できます。
メルパまたはメルパstableからインストールしてください。
M-x package-install RET cmake-ide.
これを.emacs / init.elに追加します:
(require 'rtags) ;; optional, must have rtags installed
(cmake-ide-setup)
cmake-ide-flags-cまたはcmake-ide-flags-c++が設定されている場合、それらはac-clang-flagsおよびcompany-clang-argumentsに追加されます。これらの変数を設定する必要があります。特に、システムにはパスを含める必要があります(例'("-I/usr/include/c++/4.9.1" "...") 。GCCを使用するシステムの場合、 gcc -v -xc++ /dev/null -fsyntax-onlyを実行することでこの情報を取得できます( auto-complete-clangが機能するのと同じ前提条件です)。
そして...それだけです。 Cmakeを呼び出し、結果のJSONファイルをコンパイラフラグを使用して解析することで機能します。 cmake-ide-build-dirプロジェクトの構築場所に設定し、Cmakeを手動で再度呼び出す必要はありません(オプションを指定するために初めてを除く)。ディレクトリローカル変数で最適に行われます。