13,005
回編集
(→概要) |
|||
1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
CMakeにおいて、インクルードに関するコマンドには主に以下の3つがある。<br> | |||
<br> | |||
* 特定のターゲットに対してインクルードディレクトリを設定する場合 : <code>target_include_directories</code>コマンド | |||
*: ターゲットごとに異なるインクルードディレクトリを設定できるため、より細かい制御が可能である。 | |||
*: インクルードディレクトリと共に、スコープ (PRIVATE, PUBLIC, INTERFACE) を指定する。 | |||
<br> | |||
<syntaxhighlight lang="cmake"> | |||
target_include_directories(my_target PRIVATE ${CMAKE_SOURCE_DIR}/include) | |||
target_include_directories(my_target PUBLIC ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/src) | |||
</syntaxhighlight> | |||
<br> | |||
* プロジェクト全体に対してインクルードディレクトリを設定する場合 : <code>include_directories</code>コマンド | |||
*: 指定されたディレクトリは、全てのターゲットに適用される。 | |||
<br> | |||
<syntaxhighlight lang="cmake"> | |||
include_directories(${CMAKE_SOURCE_DIR}/include) | |||
include_directories(${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/third_party) | |||
</syntaxhighlight> | |||
<br> | |||
* 別のCMakeスクリプトを読み込む場合 : <code>include</code>コマンド | |||
*: 別のCMakeスクリプトファイルを読み込むためのコマンドである。 | |||
*: インクルードディレクトリの設定とは異なり、CMake構成の再利用やモジュールの分割に使用される。 | |||
*: 指定したファイルを読み込み、その中に定義されたCMakeコマンドを実行する。 | |||
<br> | |||
<syntaxhighlight lang="cmake"> | |||
include(${CMAKE_SOURCE_DIR}/cmake/my_module.cmake) | |||
</syntaxhighlight> | |||
<br> | |||
これらのコマンドを使い分けることにより、CMakeを使用したプロジェクトの構成やビルド設定を効率的に行うことができる。<br> | |||
<br><br> | <br><br> | ||