cmake サブディレクトリオプションの設定 質問する

cmake サブディレクトリオプションの設定 質問する

サブディレクトリのオプションを設定する方法はありますか?

サブプロジェクトに依存するプロジェクトがあり、サブプロジェクトにはオプションがあります。

OPTION(WITH_FUNCTION_X "enable X functionality" ON)

親プロジェクトにサブプロジェクトを含めたいのですが、機能 X は含めません。

ありがとう!

ベストアンサー1

CMake のoptionコマンドは、多かれ少なかれブール変数をキャッシュに追加します。

オプションのデフォルト値を上書きしたい場合は、サブプロジェクトをプルする前に、同じ名前の変数を自分でキャッシュに追加するだけです。

set(WITH_FUNCTION_X OFF CACHE BOOL "enable X functionality")
add_subdirectory(subproject)

setキャッシュ内にその名前の値がすでに存在する場合、コマンドは何も実行しないことに注意してください。既存の値を上書きする場合は、FORCEそのコマンドにオプションを追加します。

サンプルFORCE

set(WITH_FUNCTION_X OFF CACHE BOOL "enable X functionality" FORCE)
add_subdirectory(subproject)

おすすめ記事