KUDU-2427: only add -fno-sized-deallocation for C++ files
KUDU-2427: only add -fno-sized-deallocation for C++ files

Ubuntu 18.04 has a gcc that's new enough to support -fsized-deallocation.
But, if -fno-sized-deallocation is added to a C file's compilation flags,
the compiler will emit a warning:

  cc1: warning: command line option ‘-fno-sized-deallocation’ is valid for C++/ObjC++ but not for C

The problem is that we want to apply this flag only to "exported" targets,
but we have one such target (gutil_exported) that has both C and C++ files
in it. To address this, we can use a cmake generator expression[1] to
conditionally add the flag only to the C++ files in the target. This means
adding the flag with target_compile_options(), as set_target_properties()
does not support generator expressions.

1. https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html

Change-Id: Ib2fbd94f19495eb48119d8f9ecb6fdceee2387c3
Reviewed-on: http://gerrit.cloudera.org:8080/10430
Reviewed-by: Todd Lipcon <2c763d726a8c2f6afda9be7e0e56a2caa6bb5e6b@apache.org>
Tested-by: Adar Dembo <866ca730bfc7f544e3ebce604ceeba4879f23df0@cloudera.com>

EvilMcJerkface/kudu,helifu/kudu,InspurUSA/kudu,helifu/kudu,InspurUSA/kudu,andrwng/kudu,EvilMcJerkface/kudu,cloudera/kudu,InspurUSA/kudu,cloudera/kudu,InspurUSA/kudu,helifu/kudu,EvilMcJerkface/kudu,cloudera/kudu,andrwng/kudu,InspurUSA/kudu,andrwng/kudu,andrwng/kudu,cloudera/kudu,InspurUSA/kudu,andrwng/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,andrwng/kudu,helifu/kudu,andrwng/kudu,EvilMcJerkface/kudu,andrwng/kudu,InspurUSA/kudu,helifu/kudu,cloudera/kudu,helifu/kudu,andrwng/kudu,EvilMcJerkface/kudu,cloudera/kudu,cloudera/kudu,helifu/kudu,helifu/kudu,InspurUSA/kudu,helifu/kudu,EvilMcJerkface/kudu,EvilMcJerkface/kudu,cloudera/kudu,EvilMcJerkface/kudu,cloudera/kudu