Skip to content

🔧 enhance set_default to support caching

Sylvain Fargier requested to merge wip-set_default into master

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)

Merge request reports