On Saturday 09 August 2014 04:59:57 Jake Petroules wrote: > On 2014-08-08, at 07:52 PM, Thiago Macieira <thiago.macie...@intel.com> wrote: > > On Friday 08 August 2014 15:22:44 Jake Petroules wrote: > >> In qmake, can you explain why we can't use: > >> QCoreApplication::applicationFilePath() + "/../bin", etc.? > > > > Because that might be completely different on other machines. The prefix > > to the bin directory is a user choice on configuring, just as any other > > paths. > > Can't we place a textual configuration file somewhere alongside qmake?
Not for the generic case. No Linux distribution worth their 2 cents will accept a text file in /usr/bin. Though if they follow our advice, it's qtchooser in /usr/bin and the actual Qt binaries will be in $libdir/qt5/bin. > This > would be preferable to binary patching. If file is missing, determine paths > automatically (which should work fine for OS X). Are you sure? From qcoreapplication_mac.cpp: QCFType<CFURLRef> bundleURL(CFBundleCopyExecutableURL(CFBundleGetMainBundle())); qmake isn't a bundle. Does the above work? Not to mention that qmake has no QCoreApplication in the first place. > > And besides, applicationFilePath() may fail on some systems. > > Systems people actually use + Qt supports or "some systems" in the academic > sense? Examples? QCoreApplication::applicationFilePath() has an implementation for: - Windows - Blackberry - iOS and OS X (bundle only) - Linux with /proc (excludes Android) That leaves out very important to us: Android and QNX. They fall back to parsing argv[0], which can fail for a variety of reasons, including users passing dummy argv arrays to QCoreApplication. > (BTW, how does this part work on Windows? There's no sonames to patch but do > paths in qmake.exe get rewritten?) Yes, they do. qmake is patched in all SDK installations. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development