CLion 2024.1 ヘルプ

Autotools

CLion では、実際の Makefile を準備するための事前構成手順が必要なプロジェクトを操作できます。GNU Autotools(英語)Kbuild(英語)PERL MakeMaker(英語) のスクリプトは自動的に検出されて実行され、Makefile を取得してプロジェクトをロードします。CLion は、Imakefile(英語) テンプレートから Makefile を生成する xmkmf(英語) ツールもサポートしています。

Autotools プロジェクト

プロジェクトフォルダーを開くと、CLion は次の場合にそれを Autotools プロジェクトとして認識します。

  • プロジェクトルートに configure.ac または configure.in ファイルが存在するが、両方は存在しない場合。

  • Makefile.inMakefile.am、またはその両方がある場合。

すでに生成された Makefile または configure スクリプトが存在しても、これには影響しません。

事前構成 (GNU Autoconf)

GNU Autoconf(英語) がシステムにインストールされている場合は、CLion は、最初にそれを呼び出します(autoreconf は、システム PATH にする必要があります)。

Pre-configuring the project with autoreconf

デフォルトでは、CLion は以下のコマンドを使用して Autotools プロジェクトを構成します。

which autoreconf && autoreconf --install --force --verbose; /bin/sh configure

このコマンドセットは、必要に応じて変更できます(以下を参照)。

事前設定パラメーターを制御する

必要に応じて、事前設定コマンドを調整できます。

  1. 設定 | ビルド、実行、デプロイ | Makefile に移動します。

  2. コマンドフィールドに必要な変更を加えます。

    Pre-configuration commands

    例: bootstrap などの追加の事前構成スクリプトを実行するには、次のコマンドを追加します。

    ./bootstrap <args>

    また、デフォルトのコマンドセット #!/bin/sh の最初の行にも注意してください。POSIX デフォルトインタープリター /bin/sh を明示的に指定します。このコマンドはそのままにするか、別のインタープリター(Python の場合は #!/usr/bin/python など)を使用するように変更できます。

  3. ビルドディレクトリは、ビルドディレクトリフィールドで、またはビルドオプション-C path フラグを介して変更することもできます。

    ビルドディレクトリを変更するときは、次の点に注意してください。

    • 以前のディレクトリは削除されません。

    • 新しいビルドディレクトリが存在しない場合、スクリプトが空でない場合、CLion は事前設定手順の前にそれを作成します。そうしないと、ディレクトリは作成されません。

ツールチェーンを変更する

  • Autotools スクリプトを実行するとき、CLion は設定 | ビルド、実行、デプロイ | Makefile で指定されたツールチェーンからコンパイラーをフェッチします。

    プロジェクトを初めて開く場合、CLion はデフォルトのツールチェーンを使用します。

    ここでもリモートツールチェーンを指定できることに注意してください。

    Selecting the toolchain for a Makefile project

PERLMakeMaker プロジェクト

MakeMaker で生成された Makefile には、cleandistclean の個別のターゲットはありません。プロジェクトツリーをクリーンアップし、Makefile 自体も削除する clean ターゲットのみがあります。

MakeMaker プロジェクトの場合、make clean コマンドは pre-configuration ステップの一部としてのみ実行する必要があります。CLion は、次の事前構成スクリプトを使用します。これらのスクリプトは、必要に応じていつでも調整できます。

#!/bin/sh # # ExtUtils::MakeMaker template, feel free to customize. # [ -f Makefile ] && "${MAKE:-make}" clean perl Makefile.PL

リモートモードの制限

  • リモートモードでは、build ディレクトリはローカルマシンに同期されません。config.h を手動で同期してください。

リモートでの Windows 固有の問題:

  • プロジェクトがリモートホスト(CPP-26698(英語))にアップロードされるとき、行末は UNIX(LF) スタイルに変換されません。

  • リモートホスト(CPP-26700(英語))に実際にファイルが転送されていない場合、アップロード段階は正常に完了したことを示す場合があります。