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
11QT_BEGIN_NAMESPACE
12
13class QSettings;
14
15struct 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 LibraryPathQMakeExtras {
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
44QT_END_NAMESPACE
45
46#endif // QMAKELIBRARYINFO_H
47

source code of qtbase/qmake/qmakelibraryinfo.h