added improvment into CMake compilation system