Looking for cmake Answers? Try Ask4KnowledgeBase
Looking for cmake Keywords? Try Ask4Keywords

cmakeファイルの設定


前書き

configure_fileはファイルを別の場所にコピーしてその内容を変更するためのCMake関数です。この関数は、汎用テンプレートを使用して、パス、カスタム変数を含む設定ファイルを生成するのに非常に便利です。

備考

ファイルを別の場所にコピーし、その内容を変更します。

configure_file(<input> <output>
           [COPYONLY] [ESCAPE_QUOTES] [@ONLY]
           [NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])

ファイルをファイルにコピーし、ファイルの内容で参照される変数の値を置き換えます。 ifは相対パスであり、現在のソースディレクトリに対して評価されます。ディレクトリではなくファイルでなければなりません。 ifは相対パスで、現在のバイナリディレクトリに関して評価されます。既存のディレクトリに名前を付ける場合、入力ファイルは元の名前でそのディレクトリに置かれます。

ファイルが変更された場合、ビルドシステムはCMakeを再実行してファイルを再構成し、ビルドシステムを再度生成します。

このコマンドは、$ {VAR}または@ VAR @として参照されている入力ファイル内のすべての変数を、CMakeによって決定された値で置き換えます。変数が定義されていない場合は、何も置き換えられません。 COPYONLYが指定されている場合、変数拡張は行われません。 ESCAPE_QUOTESが指定されている場合、置換された引用符はCスタイルでエスケープされます。ファイルは、CMake変数の現在の値で設定されます。 @ONLYを指定すると、@ VAR @の形式の変数だけが置換され、$ {VAR}は無視されます。これは、$ {VAR}を使用するスクリプトの設定に役立ちます。

"#cmakedefine VAR ..."の形式の入力ファイル行は、CMakeでVARがfalseとみなされない値に設定されているかどうかによって、#define VAR ...または/ * #undef VAR * /に置き換えられますif()コマンドで定数。 ( "..."の内容は上記のように処理されます) "#cmakedefine01 VAR"という形式の入力ファイル行は同様に "#define VAR 1"または "#define VAR 0"に置き換えられます。

NEWLINE_STYLEを使用すると、行末を調整できます。

'UNIX' or 'LF' for \n, 'DOS', 'WIN32' or 'CRLF' for \r\n.

NEWLINE_STYLEではCOPYONLYを使用しないでください。

ファイルの設定 関連する例