gcc / clang build error fix
* template typename
* missing namespace
* function declaration order
* wtf typename typedef????
* Cmake  set_property - append add ;