How are you changing them? If it is:
option(varname "docs" ON)
# ^^ here
This is the default for the option. If the cache variable already exists, it is not updated. CMake has no mechanism to know “user set it to OFF
” versus “the old default was OFF
” when seeing this code.
See this post: Project variants? - #5 by ben.boeckel