buaazp: Use more clear source struct and modify cmakelist.