cmake: Implement dependent options This should make sure that configurations are valid but doesn't warn about invalid configurations. CMake only supports boolean options and I have no idea how features like "minimal" or "legacy" that change default values of other options could be supported. Fixes #551.