add CMakeList.txt to support cross platform build.