0
ExternalProject_Add
を使用して、外部make
ベースのプロジェクトを構築しています。私は現在のビルド構成に従ってフラグを伝播したいと思います。CMakeは外部プロジェクトの特定の構成にフラグを使用します
私は基本的に以下のコマンドを持っている:
ExternalProject_Add(
...
BUILD_COMMAND make CFLAGS=${CMAKE_C_FLAGS_???}
...
)
と私はプロジェクトがデバッグに建てられた、または現在の構成があるものは何でもしたときCMAKE_C_FLAGS_DEBUG
を使用します。それはどうやってできますか?私はこれを試しましたが、解析しません:
ExternalProject_Add(
...
BUILD_COMMAND make CFLAGS=${CMAKE_C_FLAGS_$<CONFIG>}
...
)
あなたが使用している場合'CMAKE_BUILD_TYPE'変数を使って現在の設定名を取得することができます。マルチ設定のビルドツールの場合は、不運に思えます。ジェネレータ式は明示的に文書化されている場所でのみ動作します。 – Tsyvarev
これは良いスタートですが、問題はそれが私に与えるものです。デバッグ、変数名にDEBUGが必要です。 –
変数のサフィックスは、ビルドタイプの大文字のバージョンに過ぎません。この変換に 'string(TOUPPER)'を使用してください。 – Tsyvarev