C ソース コードでの CMake 変数へのアクセス
問題:
次のような CMake 変数をどのように使用できますか? LIBINTERFACE_VERSION は、C ソース コード内でアクセスして使用できますか?
答え:
オプション 1: add_settings を使用する
例:
<code class="cmake">add_definitions( -DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION} )</code>
オプション 2: ヘッダー ファイル テンプレートで configure_file を使用する
例:
<code class="cmake">// version_config.h.in #ifndef VERSION_CONFIG_H #define VERSION_CONFIG_H // define your version_libinterface #define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@ // alternatively you could add your global method getLibInterfaceVersion here unsigned int getLibInterfaceVersion() { return @LIBINTERFACE_VERSION@; } #endif // VERSION_CONFIG_H</code>
例:
<code class="cmake">configure_file( version_config.h.in ${CMAKE_BINARY_DIR}/generated/version_config.h ) include_directories( ${CMAKE_BINARY_DIR}/generated/ ) # Make sure it can be included...</code>
使用例:
<code class="cpp">// Assuming version_config.h is included std::string version = VERSION_LIBINTERFACE;</code>
注:
configure_file() メソッドは、生成されたヘッダー ファイルに変数や定義を追加できるため、より拡張性があります。
以上がC ソース コードで CMake 変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。