Updated CMakeLists.txt generator to handle private macro definitions for
source groups. Individual source groups are added as OBJECT libraries,
which does not generate actual archive but will be linked together at
final application linking stage. Source groups without source files are
added as INTERFACE libraries, which provides library dependencies to the
final application.
Signed-off-by: Yilin Sun <imi415@imi.moe>