C コードでの CMake 変数へのアクセス
CMake を使用する場合、頻繁に使用される値を変数として保存すると有益な場合があります。ただし、C ソース コード内でこれらの変数にアクセスするのは困難な場合があります。
C で CMake 変数を使用する 1 つの方法は、add_settings 関数を利用することです。この手法により、変数をプリプロセッサ定義として渡すことができます:
<code class="cmake">add_definitions(-DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION})</code>
その後、C コードでは、変数にプリプロセッサ マクロとしてアクセスできます:
<code class="c++">#if defined(VERSION_LIBINTERFACE) unsigned int libInterfaceVersion = VERSION_LIBINTERFACE; #endif</code>
あるいは、次の方法を利用できます。 configure_file コマンドを使用して、必要な変数置換を含むヘッダー ファイル テンプレートを生成します。たとえば、version_config.h.in という名前のテンプレート ファイルを作成します。
<code class="c++">#ifndef VERSION_CONFIG_H #define VERSION_CONFIG_H #define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@ #endif</code>
CMakeLists.txt ファイル内で、configure_file ディレクティブを利用します。
<code class="cmake">configure_file(version_config.h.in ${CMAKE_BINARY_DIR}/generated/version_config.h) include_directories(${CMAKE_BINARY_DIR}/generated/)</code>
生成されたヘッダー ファイルが該当するソース ファイルに含まれています。
以上がC コードで CMake 変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。