[KDE/Mac] QStandardPaths possible solution

René J.V. Bertin rjvbertin at gmail.com
Sun Jan 11 12:37:38 UTC 2015


On Sunday January 11 2015 16:11:21 Ian Wadham wrote:

> > I am calling configure with the options
> > 
> >>        -prefix         ${qt_dir}              \
> >>        -docdir         ${qt_docs_dir}         \
> >>        -headerdir      ${qt_includes_dir}     \
> >>        -plugindir      ${qt_plugins_dir}      \
> >>        -importdir      ${qt_imports_dir}      \
> >>        -qmldir         ${qt_qml_dir}          \
> >>        -datadir        ${qt_data_dir}         \
> >>        -libdir         ${qt_frameworks_dir}   \
> >>        -bindir         ${qt_bins_dir}         \
> >>        -translationdir ${qt_translations_dir} \
> >>        -sysconfdir     ${qt_sysconf_dir}      \
> >>        -examplesdir    ${qt_examples_dir}     \
> >>        -testsdir       ${qt_tests_dir}        \
> >>        -hostdatadir    ${qt_host_data_dir}
> > 
> > (I only changed the paths passed in, not the options used). Is there another path specification option that can be used to get the path /opt/local/share (${prefix}/share) where it belongs??
> 
> I do not know what there is in Qt 5's install processes, but, if all else fails:-

To be a bit less cryptic, this is the configure call I'm using:

-----------
#> configure -prefix /opt/local/libexec/qt5 \
	-docdir /opt/local/share/doc/qt5 \
	-headerdir /opt/local/include/qt5 \
	-plugindir /opt/local/share/qt5/plugins \
	-importdir /opt/local/share/qt5/imports \
	-qmldir /opt/local/share/qt5/qml \
	-datadir /opt/local/share/qt5 \
	-libdir /opt/local/libexec/qt5/Library/Frameworks \
	-bindir /opt/local/libexec/qt5/bin \
	-translationdir /opt/local/share/qt5/translations \
	-sysconfdir /opt/local/etc/qt5 \
	-examplesdir /opt/local/share/qt5/examples \
	-testsdir /opt/local/share/qt5/tests \
	-hostdatadir /opt/local/share/qt5 \
	-v -release -opensource -confirm-license -shared -process -no-mtdev \
	-no-harfbuzz -openssl-linked -no-xinput2 -no-xcb-xlib -no-libudev \
	-no-egl -make libs -make tools -nomake examples -nomake tests -verbose \
	-nis -cups -iconv -no-evdev -icu -fontconfig -no-pch -dbus-linked \
	-no-xcb -glib -directfb -no-linuxfb -no-kms -framework -optimized-qmake \
	-no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc \
	-no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds \
	-platform macx-clang -no-openvg -force-debug-info -no-strip
-----------

Giving
-----------
#> qtdiag -qt=qt5
Qt 5.3.2 (Jan 10 2015, Clang 6.0 (clang-600.0.56) (Apple), 64 bit, release build) on "cocoa" little endian/
Mac OS version: 0xb

Library info:
  PrefixPath: /opt/local/libexec/qt5
  DocumentationPath: /opt/local/share/doc/qt5
  HeadersPath: /opt/local/include/qt5
  LibrariesPath: /opt/local/libexec/qt5/Library/Frameworks
  LibraryExecutablesPath: /opt/local/libexec/qt5/libexec
  BinariesPath: /opt/local/libexec/qt5/bin
  PluginsPath: /opt/local/share/qt5/plugins
  ImportsPath: /opt/local/share/qt5/imports
  Qml2ImportsPath: /opt/local/share/qt5/qml
  ArchDataPath: /opt/local/libexec/qt5
  DataPath: /opt/local/share/qt5
  TranslationsPath: /opt/local/share/qt5/translations
  ExamplesPath: /opt/local/share/qt5/examples
  TestsPath: /opt/local/share/qt5/tests

Standard paths [*...* denote writable entry]:
  DesktopLocation: "Desktop" */Users/bertin/Desktop*
  DocumentsLocation: "Documents" */Users/bertin/Documents*
  FontsLocation: "Fonts" */System/Library/Fonts*
  ApplicationsLocation: "Applications" */Applications*
  MusicLocation: "Music" */Users/bertin/Music*
  MoviesLocation: "Movies" */Users/bertin/Movies*
  PicturesLocation: "Pictures" */Users/bertin/Pictures*
  TempLocation: "TemporaryItems" */var/folders/j1/1439ppj08xj8h6006s6drbq00000gs/T*
  HomeLocation: "Home" */Users/bertin*
  DataLocation: "Application Support" */Users/bertin/Library/Application Support/Qt Project/qtdiag* /Library/Application Support/Qt Project/qtdiag /opt/local/libexec/qt5/share/Qt Project/qtdiag /opt/local/libexec/qt5/bin/
  CacheLocation: "Caches" */Users/bertin/Library/Caches/Qt Project/qtdiag* /Library/Caches/Qt Project/qtdiag
  GenericDataLocation: "Application Support" */Users/bertin/Library/Application Support* /opt/local/libexec/qt5/share /Library/Application Support
  RuntimeLocation: "Application Support" */Users/bertin/Library/Application Support*
  ConfigLocation: "Preferences" */Users/bertin/Library/Preferences* /opt/local/libexec/qt5/config
  DownloadLocation: "Documents" */Users/bertin/Documents*
  GenericCacheLocation: "Caches" */Users/bertin/Library/Caches* /Library/Caches
  GenericConfigLocation: "Preferences" */Users/bertin/Library/Preferences* /opt/local/libexec/qt5/config
-----------

This gives me a /opt/local/libexec/qt5 containing only  /opt/local/libexec/qt5/libexec/QtWebProcess which I cannot deduce from configure options OTHER THAN -prefix . There's also a /opt/local/libexec/qt5/lib, but that one is constructed in the post-destroot phase :)

So, I'm not using -archdatadir, -libexecdir nor -hostbindir and -hostlibdir which I think are not of interest.

What is archdatadir used for?

SUpposing we want QtWebProcess where it is currently put, I suppose I can add -libexecdir /opt/local/libexec/qt5/libexec ?

If I do that, and possibly set -archdatadir, can I get away with setting -prefix to /opt/local and still get the correct layout? This appears to be what Linux (Ubuntu) does, where the binary Qt stuff ends up in /usr/lib/x86_64*/qt{4,5} and /usr/lib/i386*/qt{4,5}

In other words, what is -prefix still used for if all the other dir specs have been set?

Thanks,
René



More information about the kde-mac mailing list