talk about optional dependencies
use CMake option() commands for better build options support
fix implementation of the NO_WARN_DEPRECATED build option