13,060
回編集
(→条件分岐) |
|||
| 26行目: | 26行目: | ||
*: 指定したディレクトリからヘッダファイルを検索するコマンドである。 | *: 指定したディレクトリからヘッダファイルを検索するコマンドである。 | ||
*: 定義した箇所以降の全てのターゲットが指定したディレクトリをインクルードするため、使用は避けるべきである。 | *: 定義した箇所以降の全てのターゲットが指定したディレクトリをインクルードするため、使用は避けるべきである。 | ||
*: 代わりに、<code>target_include_directories</code>コマンドを使用する必要がある。 | |||
<br> | <br> | ||
* add_definitionsコマンド | * add_definitionsコマンド | ||
** プロジェクト全体に影響を与えてしまう。 | |||
** ビルド依存性の管理が難しくなる。 | |||
** コンパイラの最適化を阻害する可能性がある。 | |||
*: 代わりに、<code>target_compile_definitions</code>コマンドを使用する必要がある。 | |||
<br> | <br> | ||
* add_compile_definitionsコマンド | * add_compile_definitionsコマンド | ||
** プロジェクト全体への影響 | |||
**: プロジェクト内の全てのターゲットに対して定義を追加される。 | |||
**: これにより、意図しないターゲットにまで定義が設定されてしまう可能性がある。 | |||
** ビルド依存性の管理が難しくなる | |||
**: 特定のターゲットにのみ必要な定義がプロジェクト全体に設定されると、ビルド依存性の管理が複雑になる。 | |||
** コンパイラの最適化への影響 | |||
**: 不要な定義が設定されると、コンパイラの最適化が阻害される可能性がある。 | |||
*: 代わりに、<code>target_compile_definitions</code>コマンドを使用する必要がある。 | |||
<br> | <br> | ||
* add_compile_optionsコマンド | * add_compile_optionsコマンド | ||
*: プロジェクト全体に対してコンパイルオプションを設定してしまうため、以下に示すような問題が発生する可能性がある。 | |||
** 意図しないターゲットへの影響 | |||
**: プロジェクト内の全てのターゲットに対してコンパイルオプションが設定されるため、意図しないターゲットにも影響を及ぼす。 | |||
** ビルド依存性の管理が難しくなる | |||
**: 特定のターゲットにのみ必要なコンパイルオプションがプロジェクト全体に設定されると、ビルド依存性の管理が複雑になる。 | |||
** コンパイラの最適化への影響 | |||
**: 不要なコンパイルオプションが設定されると、コンパイラの最適化が阻害される可能性がある。 | |||
*: 代わりに、<code>target_compile_options</code>コマンドを使用する必要がある。 | |||
<br> | <br> | ||
* link_directoriesコマンド | * link_directoriesコマンド | ||
*: プロジェクト内の全てのターゲットに対してリンクディレクトリを追加するため、以下に示すような問題が発生する可能性がある。 | |||
** プロジェクト全体への影響 | |||
**: 意図しないターゲットにもリンクディレクトリが設定される可能性がある。 | |||
** ビルド依存性の管理が難しくなる | |||
**: 特定のターゲットにのみ必要なリンクディレクトリがプロジェクト全体に設定されると、ビルド依存性の管理が複雑になる。 | |||
** リンク順序の問題 | |||
**: このコマンドで追加したディレクトリは、自動的にコマンドラインのリンカ引数の最後に追加される。 | |||
**: これにより、リンク順序に関する問題が発生する可能性がある。 | |||
*: 代わりに、<code>target_link_libraries</code>コマンドを使用する必要がある。 | |||
<br> | <br> | ||
* link_librariesコマンド | * link_librariesコマンド | ||
*: プロジェクト内の全てのターゲットに対してリンクライブラリを追加するため、以下に示すような問題が発生する可能性がある。 | |||
** プロジェクト全体への影響 | |||
**: 意図しないターゲットにもリンクライブラリが設定される可能性がある。 | |||
** ビルド依存性の管理が難しくなる | |||
**: 例えば、特定のターゲットにのみ必要なライブラリがプロジェクト全体にリンクされると、ビルド依存性の管理が複雑になる。 | |||
** リンク順序の問題 | |||
**: このコマンドで追加したライブラリは、自動的にコマンドラインのリンカ引数の最後に追加される。 | |||
**: これにより、リンク順序に関する問題が発生する可能性がある。 | |||
*: 代わりに、<code>target_link_libraries</code>コマンドを使用する必要がある。 | |||
<br> | <br> | ||
* キャッシュ変数には、必ず接頭辞を付加する | * キャッシュ変数には、必ず接頭辞を付加する | ||