CMakeではなく、ローカルのmakefileを使用してコードをコンパイルするようにCLionを構成する方法はありますか?ビルドオプションからそれを行う方法を見つけることができないようです。
現在CMakeのみがサポートされていますが、あなたはあなたのカスタムmake
を使ってMakefile
を呼び出すようにCMakeに指示することができます。次の2つのコマンドのいずれかを追加して、CMakeLists.txt
を編集します。
プログラムを実行するようにCLion
に指示すると、それはPROJECT_BINARY_DIR
によって指されるディレクトリでターゲットの同じ名前の実行可能ファイルを見つけようとします。あなたのmake
がCLion
が期待するファイルを生成する限り、問題はありません。
これが実用的な例です。
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
これは最も投票されているものの1つ 機能要求 ですが、 プラグイン が利用可能な Victor Kropp というものがあり、それはmakefileのサポートを追加します。
IntelliJ IDEA用のMakefileサポートプラグイン
公式リポジトリから直接インストールすることができます。
設定>プラグイン> makefile
を検索>リポジトリを検索> Install> Restart
実行する方法は少なくとも3つあります。
という名前のペインが開きます。 targetを出力します。
最新バージョンでは、コンパイルされたBを介して、生成されたすべてのMakeファイルを文字通りよりよくサポートします。
3つのステップ
compilebをインストールする
pip install compiledb
ドライメイクをする
compiledb -n make
(autogenをして、必要なら設定してください)
プロジェクトを開いてcompile_commands.jsonファイルが生成され、CLionがjsonファイルから情報をロードするのがわかります。あなたのCLionがまだCMakeLists.txtを見つけようとし、compile_commands.jsonを読めない場合は、フォルダ全体を削除し、ソースファイルを再ダウンロードして、ステップ1,2,3をやり直してください。
CMAKEを使用しないようにするには、次のようにします。
端末を介してMakeを使用して、通常どおりにプロジェクトをビルドします。
CLionの設定を変更し、(トップバーの)に行きます。Run -> Edit Configurations -> yourProjectFolder
Executable
をMakeで生成されたものに変更します。
Working directory
をあなたの実行ファイルを含むフォルダに変更してください(必要ならば)
Before launch:Activate tool window
ボックスからBuild
タスクを削除します。
そして、あなたはすべて準備完了です。手動ビルド後にデバッグボタンを使用できるようになりました。
私は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プロジェクトと比較して大きな制限です...
現在、CMakeだけがCLionによってサポートされています。他のビルドシステムは将来追加される予定ですが、現時点ではCMakeしか使えません。
インポーターツールはCMakeを使うのを助けるために実行されました。
編集:
ソース: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/