変数を指定して環境に存在させる必要があります。 建物が存在しない場合は、建物を停止する必要があります。設定する必要があり、cmakeに存在する変数を指定する方法
例
if ("${VARMUSTEXIST}" STREQUAL "ON")
message(STATUS is ON)
elif ("${VARMUSTEXIST}" STREQUAL "OFF")
message(STATUS is OFF)
endif()
私は、スクリプトの中でどこでもif (defined VARMUSTEXIST)
を入れたくありません。 bashには、その "set -u"のオプションがあります。
逆参照の場合、CMakeはすべての未定義の変数を空の値として扱います。私が知る限り、この動作に影響を与える方法はありません。ところで、変数が定義されていなければ、単純な 'if(VARMUSTEXIST)'は* false *として扱われます。これらの文字列は[if](https://cmake.org/cmake/help/v3.0/command/if.html)コマンドで特別な意味を持ちます。 – Tsyvarev