Make app compile on linux

moreover, i think all the build should happen in a separate directory, just like how we do it qt app. i tried, and can confirm that we can use `$$OUT_PWD` instead of `$$PWD`