summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qconfig.cpp.in
blob: 0eced515cf478de8be4442ee0106f053119b29a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/* This file is used to generate the Qt configuration info for the Core library
 * and the qmake executable. The 'qt_generate_qconfig_cpp' cmake routine
 * contains variables that replace '@' entires in this file. It's important to
 * align these values with the following:
 *
 * - QLibraryInfo::LibraryPath enum in qtbase/src/corelib/global/qlibraryinfo.h
 * - qtConfEntries in this file
 * - QMakeLibraryInfo::LibraryPathQMakeExtras enum in
 *   qtbase/qmake/library/qmakelibraryinfo.h
 *
 * The reason for this is pointer mathematics in the QMakeLibraryInfo and
 * QLibraryInfo implementation when iterating qt_configure_strs. Also
 * qtConfEntries are strongly bound to QLibraryInfo::LibraryPath and
 * QMakeLibraryInfo::LibraryPathQMakeExtras enums.
 */

/* Installation date */
static const char qt_configure_installation     [12+11]  = "qt_instdate=2012-12-20";
/* Installation Info */
static const char qt_configure_prefix_path_str  [12+256] = "qt_prfxpath=@QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX@";
#ifdef QT_BUILD_QMAKE
static const char qt_configure_ext_prefix_path_str   [12+256] = "qt_epfxpath=@QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX@";
static const char qt_configure_host_prefix_path_str  [12+256] = "qt_hpfxpath=@QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX@";
#endif
static const short qt_configure_str_offsets[] = {
@QT_CONFIG_STR_OFFSETS_FIRST@
#ifdef QT_BUILD_QMAKE
@QT_CONFIG_STR_OFFSETS_SECOND@
#endif
};
static const char qt_configure_strs[] =
@QT_CONFIG_STRS_FIRST@
#ifdef QT_BUILD_QMAKE
@QT_CONFIG_STRS_SECOND@
#endif
;
#define QT_CONFIGURE_SETTINGS_PATH "@QT_SYS_CONF_DIR@"
#define QT_CONFIGURE_LIBLOCATION_TO_PREFIX_PATH "@QT_CONFIGURE_LIBLOCATION_TO_PREFIX_PATH@"
#define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12
#ifdef QT_BUILD_QMAKE
# define QT_CONFIGURE_EXT_PREFIX_PATH qt_configure_ext_prefix_path_str + 12
# define QT_CONFIGURE_HOST_PREFIX_PATH qt_configure_host_prefix_path_str + 12
#endif


/* Entries below are shared between qmake and the Core library. Please pay
 * attention and read the adding rules here and inside QLibraryInfo header.
 *
 * To add a new entry in QLibraryInfo::LibraryPath, add it to the enum
 * in qtbase/src/corelib/global/qlibraryinfo.h and:
 * - add its relative path in the qtConfEntries[] array below
 *   (the key is what appears in a qt.conf file)
 * - add a property name in qmake/property.cpp propList[] array
 *   (it's used with qmake -query)
 * - add to qt_config.prf, qt_module.prf, qt_module_fwdpri.prf
 */

#ifdef QT_BUILD_QMAKE
constexpr size_t qtConfEntriesKeySize = 23;
#else
constexpr size_t qtConfEntriesKeySize = 19;
#endif

static const struct {
    char key[qtConfEntriesKeySize], value[13];
} qtConfEntries[] = {
    { "Prefix", "." },
    { "Documentation", "doc" }, // should be ${Data}/doc
    { "Headers", "include" },
    { "Libraries", "lib" },
#ifdef Q_OS_WIN
    { "LibraryExecutables", "bin" },
#else
    { "LibraryExecutables", "libexec" }, // should be ${ArchData}/libexec
#endif
    { "Binaries", "bin" },
    { "Plugins", "plugins" }, // should be ${ArchData}/plugins
    { "Qml2Imports", "qml" }, // should be ${ArchData}/qml
    { "ArchData", "." },
    { "Data", "." },
    { "Translations", "translations" }, // should be ${Data}/translations
    { "Examples", "examples" },
    { "Tests", "tests" },
// Put new entries above this line ONLY!
#ifdef QT_BUILD_QMAKE
    { "Sysroot", "" },
    { "SysrootifyPrefix", "" },
    { "HostBinaries", "bin" },
#ifdef Q_OS_WIN
    { "HostLibraryExecutables", "bin" },
#else
    { "HostLibraryExecutables", "libexec" },
#endif
    { "HostLibraries", "lib" },
    { "HostData", "." },
    { "TargetSpec", "" },
    { "HostSpec", "" },
    { "HostPrefix", "" },
#endif
};