about a year ago, Andrew committed a patch (rev 5142) to  qtappwin.cpp that you have apparently coded:
Andrew: Committed Nils Larsson's patch to enable Qt version to be executed from outside the source directory, added to list of contributors.

160        QString celestia_data_dir = QString::fromLocal8Bit(::getenv("CELESTIA_DATA_DIR"));
161         if (celestia_data_dir.isEmpty()) {
162             QString celestia_data_dir = CONFIG_DATA_DIR;
163             QDir::setCurrent(celestia_data_dir);
164         } else {
165             QMessageBox::critical(0, "Celestia",
166            _("Celestia is unable to run because the data directroy was not "
167               "found, probably due to improper installation."));
168               exit(1);
169         }           
I discussed this code already in the context of my recent 'make install' target for qmake &
I argued that it contains a bug:

For simplicity I repeat here what I wrote earlier about the environment variable CELESTIA_DATA_DIR that you had introduced:
While CELESTIA_DATA_DIR is indeed queried from the environment, the code in qtappwin.cpp throws an  error message unless CELESTIA_DATA_DIR is the empty string!

If it is the empty string, then it is replaced by $PWD (=> "./"). This corresponds to the Qt default assignment. However, if  CELESTIA_DATA_DIR is to be NON-empty, an error is thrown! Hence the whole env mechanism didn't work. I have attached a simple patch ....
I include my simple patch once more and would appreciate if you could comment. With my patch the
make install mechanism via the data directory $CELESTIA_DATA_DIR works very well. Unfortunately, no-one has as yet made any comments about my containing the 'make install' target!