A commercial app might well use cmake to drive the linux packaging, but if you want your app to become a first class citizen on Linux, you should let the distros do the packaging. (Or better yet, become a Debian developer and walk it through the process yourself, but following the Debian way. Once that's in, you can get it into Ubuntu as a next step.)