🔧 enhance set_default to support caching
Set_default is now close to CMake's set
with extra powers:
-
ENV
will make it look for a variable with the same name in cmake calling environment -
value
is used only if variable did not exist before, otherwise current value is used (allowing to override from command-line)
Add support for the following:
# declare var in CACHE as a string, set its value to 1234 (if it was not already set), override from `ENV` if required, always `FORCE`-refresh to latest value
set_default(var "1234" CACHE STRING "My var" ENV FORCE)
# set local variable to 1234 if it did not exist before
set_default(var "1234")
# set local variable var to its associated env value or default to 1234 if it's not already set
set_default(var "1234" ENV)