web-dev-qa-db-ja.com

CMakeの代わりにCLion用のローカルmakefileを使う

CMakeではなく、ローカルのmakefileを使用してコードをコンパイルするようにCLionを構成する方法はありますか?ビルドオプションからそれを行う方法を見つけることができないようです。

138
hlin117

現在CMakeのみがサポートされていますが、あなたはあなたのカスタムmakeを使ってMakefileを呼び出すようにCMakeに指示することができます。次の2つのコマンドのいずれかを追加して、CMakeLists.txtを編集します。

プログラムを実行するようにCLionに指示すると、それはPROJECT_BINARY_DIRによって指されるディレクトリでターゲットの同じ名前の実行可能ファイルを見つけようとします。あなたのmakeCLionが期待するファイルを生成する限り、問題はありません。

これが実用的な例です。

CLionに$(PROJECT_BINARY_DIR)をmakeに渡すように指示します。

これはCMakeLists.txtのサンプルです。

cmake_minimum_required(VERSION 2.8.4)
project(mytest)

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

add_custom_target(mytest COMMAND make -C ${mytest_SOURCE_DIR}
                         CLION_EXE_DIR=${PROJECT_BINARY_DIR})

実行可能ファイルをCLion'sディレクトリに生成するようにmakeに指示します。

これはMakefileのサンプルです。

all:
    echo Compiling $(CLION_EXE_DIR)/$@ ...
    g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest

それだけです、あなたのプログラムの作業ディレクトリを変更したいのであれば、ディレクトリの中からmakeを実行したときのように動作します。この編集の場合:Run -> Edit Configurations ... -> mytest -> Working directory

131
MondKin

これは最も投票されているものの1つ 機能要求 ですが、 プラグイン が利用可能な Victor Kropp というものがあり、それはmakefileのサポートを追加します。

IntelliJ IDEA用のMakefileサポートプラグイン

インストール

公式リポジトリから直接インストールすることができます。

設定>プラグイン> makefileを検索>リポジトリを検索> Install> Restart

つかいます

実行する方法は少なくとも3つあります。

  1. メークファイルを右クリックして実行を選択します。
  2. メイクファイルをエディタで開き、1つのターゲットの上にカーソルを置きます(行内の任意の場所)。 alt + enter次に、makeターゲットを選択します。
  3. ヒット ctrl/cmd + shift + F10 ターゲット上(これは、Mac上で私のために働いていなかったが)。

という名前のペインが開きます。  targetを出力します。

24
iled

最新バージョンでは、コンパイルされたBを介して、生成されたすべてのMakeファイルを文字通りよりよくサポートします。

3つのステップ

  1. compilebをインストールする

    pip install compiledb
    
  2. ドライメイクをする

    compiledb -n make 
    

    (autogenをして、必要なら設定してください)

  3. プロジェクトを開いてcompile_commands.jsonファイルが生成され、CLionがjsonファイルから情報をロードするのがわかります。あなたのCLionがまだCMakeLists.txtを見つけようとし、compile_commands.jsonを読めない場合は、フォルダ全体を削除し、ソースファイルを再ダウンロードして、ステップ1,2,3をやり直してください。

元の投稿: Compilation DBを使用してCLionでMakefileを操作する

6
Fengggli

CMAKEを使用しないようにするには、次のようにします。

  1. 端末を介してMakeを使用して、通常どおりにプロジェクトをビルドします。

  2. CLionの設定を変更し、(トップバーの)に行きます。
    Run -> Edit Configurations -> yourProjectFolder

  3. ExecutableをMakeで生成されたものに変更します。

  4. Working directoryをあなたの実行ファイルを含むフォルダに変更してください(必要ならば)

  5. Before launch:Activate tool windowボックスからBuildタスクを削除します。

そして、あなたはすべて準備完了です。手動ビルド後にデバッグボタンを使用できるようになりました。

2
13013SwagR

私はCMakeにはあまり慣れていないので、Mondkinのソリューションを直接使用することはできませんでした。

これが私のCMakeLists.txtで、Windows上のCLion(1.2.4)とMinGWの最新版を使って思いついたものです(全部を置き換える必要があると思います:g ++ mytest.cpp -o bin/mytestをmake if同じ設定を使用していません。

cmake_minimum_required(VERSION 3.3)
project(mytest)

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

add_custom_target(mytest ALL COMMAND mingw32-make WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

そしてカスタムのMakefileはこのようなものです(それは私のプロジェクトのルートにあり、実行可能ファイルをbinディレクトリに生成します):

all:
    g++ mytest.cpp -o bin/mytest

実行ファイルをビルドすることができ、ログウィンドウのエラーはクリック可能です。

IDE内のヒントはかなり制限されています。これは純粋なCMakeプロジェクトと比較して大きな制限です...

1
Jérémy

現在、CMakeだけがCLionによってサポートされています。他のビルドシステムは将来追加される予定ですが、現時点ではCMakeしか使えません。

インポーターツールはCMakeを使うのを助けるために実行されました。

編集:

ソース: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/

1
GauthierPLM