1 | // Copyright (C) 2021 The Qt Company Ltd. |
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
3 | |
4 | #ifndef QMAKELIBRARYINFO_H |
5 | #define QMAKELIBRARYINFO_H |
6 | |
7 | #include <qlibraryinfo.h> |
8 | #include <qstring.h> |
9 | #include <qstringlist.h> |
10 | |
11 | QT_BEGIN_NAMESPACE |
12 | |
13 | class QSettings; |
14 | |
15 | struct QMakeLibraryInfo |
16 | { |
17 | static QString path(int loc); |
18 | |
19 | /* This enum has to start after the last value in QLibraryInfo::LibraryPath(NOT SettingsPath!). |
20 | * See qconfig.cpp.in and QLibraryInfo for details. |
21 | * When adding enum values between FirstHostPath and LastHostPath, make sure to adjust |
22 | * the hostToTargetPathEnum(int) function. |
23 | */ |
24 | enum { |
25 | HostBinariesPath = QLibraryInfo::TestsPath + 1, |
26 | FirstHostPath = HostBinariesPath, |
27 | HostLibraryExecutablesPath, |
28 | HostLibrariesPath, |
29 | HostDataPath, |
30 | HostPrefixPath, |
31 | LastHostPath = HostPrefixPath, |
32 | TargetSpecPath, |
33 | HostSpecPath, |
34 | SysrootPath, |
35 | SysrootifyPrefixPath |
36 | }; |
37 | enum PathGroup { FinalPaths, EffectivePaths, EffectiveSourcePaths, DevicePaths }; |
38 | static QString rawLocation(int loc, PathGroup group); |
39 | static void reload(); |
40 | static bool haveGroup(PathGroup group); |
41 | static void sysrootify(QString &path); |
42 | }; |
43 | |
44 | QT_END_NAMESPACE |
45 | |
46 | #endif // QMAKELIBRARYINFO_H |
47 | |