This patch limits adding -UNDEBUG to C and C++ files so that projects can include files compiled with compilers that don't recognize this argument (Swift e.g.).
add_definitions does not expand generators, hence the change from add_definitions to add_compile_options.