1 | // Copyright (C) 2016 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 QLIBRARYINFO_H |
5 | #define QLIBRARYINFO_H |
6 | |
7 | #include <QtCore/qstring.h> |
8 | #include <QtCore/qdatetime.h> |
9 | #include <QtCore/qversionnumber.h> |
10 | |
11 | QT_BEGIN_NAMESPACE |
12 | |
13 | class Q_CORE_EXPORT QLibraryInfo |
14 | { |
15 | public: |
16 | static const char *build() noexcept; |
17 | |
18 | [[nodiscard]] static bool isDebugBuild() noexcept Q_DECL_CONST_FUNCTION; |
19 | [[nodiscard]] static bool isSharedBuild() noexcept Q_DECL_CONST_FUNCTION; |
20 | |
21 | #ifndef QT_BOOTSTRAPPED |
22 | static QVersionNumber version() noexcept Q_DECL_CONST_FUNCTION; |
23 | #endif |
24 | |
25 | enum LibraryPath { |
26 | PrefixPath = 0, |
27 | DocumentationPath, |
28 | , |
29 | LibrariesPath, |
30 | LibraryExecutablesPath, |
31 | BinariesPath, |
32 | PluginsPath, |
33 | QmlImportsPath, |
34 | Qml2ImportsPath = QmlImportsPath, |
35 | ArchDataPath, |
36 | DataPath, |
37 | TranslationsPath, |
38 | ExamplesPath, |
39 | TestsPath, |
40 | // Insert new values above this line |
41 | // Please read the comments in qconfig.cpp.in before adding |
42 | SettingsPath = 100 |
43 | }; |
44 | static QString path(LibraryPath p); |
45 | #if QT_DEPRECATED_SINCE(6, 0) |
46 | using LibraryLocation = LibraryPath; |
47 | QT_DEPRECATED_VERSION_X_6_0("Use path()" ) |
48 | static QString location(LibraryLocation location) |
49 | { return path(p: location); } |
50 | #endif |
51 | static QStringList platformPluginArguments(const QString &platformName); |
52 | |
53 | private: |
54 | QLibraryInfo(); |
55 | }; |
56 | |
57 | #if QT_DEPRECATED_SINCE(6, 9) |
58 | |
59 | QT_DEPRECATED_VERSION_X_6_9("Use QLibraryInfo::isSharedBuild() instead." ) |
60 | Q_CORE_EXPORT Q_DECL_CONST_FUNCTION bool qSharedBuild() noexcept; |
61 | |
62 | #endif |
63 | |
64 | QT_END_NAMESPACE |
65 | |
66 | #endif // QLIBRARYINFO_H |
67 | |