Currently set_option is defined as:
macro( set_option VARIABLE VALUE )
set( ${VARIABLE} ${VALUE} CACHE BOOL "" FORCE )
endmacro()
If an option is set with this in a parent package, it will be impossible to override that setting, e.g. from the command line.
We should have two macros, one which allows overriding, and one which doesn't.
The use of these macros should be checked to make sure everything behaves as expected.