CMakeのドキュメントでは、次のように読むことができます。
現在のディレクトリ以下のソースのコンパイラコマンドラインにフラグを追加します。
ディレクトリのCOMPILE_DEFINITIONSプロパティ
COMPILE_DEFINITIONS:ディレクトリのソースをコンパイルするためのプリプロセッサ定義。
ターゲットのCOMPILE_DEFINITIONSプロパティ
COMPILE_DEFINITIONS:ターゲットのソースをコンパイルするためのプリプロセッサ定義。
ソースファイルのCOMPILE_DEFINITIONSプロパティ
COMPILE_DEFINITIONS:ソースファイルをコンパイルするためのプリプロセッサ定義。
COMPILE_DEFINITIONS
add_definitions
機能が重複しているようです。COMPILE_DEFINITIONS
プロパティはより柔軟に見えます。
したがって、COMPILE_DEFINITIONSプロパティは、add_definitionsが実行するすべてのこと、さらにはそれ以上のことを実行するようです。
では、 COMPILE_DEFINITIONSプロパティは使用できないため、どのような場合にadd_definitionsを呼び出す必要がありますか?