Advantages of using CMake option command rather than set?

cmake

Solution

A variable defined in an `option` command appears as a boolean choice in the CMake GUI or when running CMake interactively using `cmake -i`. This is not the case for a variable defined using `set` unless `CACHE` is used and the type is not `INTERNAL`.

Also, the `CMakeDependentOption` module allows for specifying dependencies between options.

Problem

I think the `option` command is redundant because it can be replaced by the `set` command. What are the benefits I could get when I use the `option` command?

Original source

Related problems