-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
Copy pathqt_cmdline.cmake
209 lines (206 loc) · 10.3 KB
/
qt_cmdline.cmake
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
qt_commandline_subconfig(src/corelib)
qt_commandline_subconfig(src/network)
qt_commandline_subconfig(src/gui)
qt_commandline_subconfig(src/sql)
qt_commandline_subconfig(src/xml)
qt_commandline_subconfig(src/widgets)
qt_commandline_subconfig(src/printsupport)
qt_commandline_subconfig(src/plugins/sqldrivers)
qt_commandline_subconfig(src/testlib)
qt_commandline_subconfig(src/tools)
qt_commandline_option(prefix TYPE path CMAKE_VARIABLE CMAKE_INSTALL_PREFIX)
qt_commandline_option(extprefix TYPE path CMAKE_VARIABLE CMAKE_STAGING_PREFIX)
qt_commandline_option(archdatadir TYPE path CMAKE_VARIABLE CMAKE_ARCHDATADIR)
qt_commandline_option(bindir TYPE path CMAKE_VARIABLE INSTALL_BINDIR)
qt_commandline_option(datadir TYPE path CMAKE_VARIABLE INSTALL_DATADIR)
qt_commandline_option(docdir TYPE path CMAKE_VARIABLE INSTALL_DOCDIR)
qt_commandline_option(examplesdir TYPE path CMAKE_VARIABLE INSTALL_EXAMPLESDIR)
qt_commandline_option(headerdir TYPE path CMAKE_VARIABLE INSTALL_INCLUDEDIR)
qt_commandline_option(hostdatadir TYPE string) # handled specially in QtProcessConfigureArgs.cmake
qt_commandline_option(libdir TYPE path CMAKE_VARIABLE INSTALL_LIBDIR)
qt_commandline_option(libexecdir TYPE path CMAKE_VARIABLE INSTALL_LIBEXECDIR)
qt_commandline_option(plugindir TYPE path CMAKE_VARIABLE INSTALL_PLUGINSDIR)
qt_commandline_option(qmldir TYPE path CMAKE_VARIABLE INSTALL_QMLDIR)
qt_commandline_option(sbomdir TYPE path CMAKE_VARIABLE INSTALL_SBOMDIR)
qt_commandline_option(settingsdir TYPE path NAME sysconfdir CMAKE_VARIABLE INSTALL_SYSCONFDIR)
qt_commandline_option(sysconfdir TYPE path CMAKE_VARIABLE INSTALL_SYSCONFDIR)
qt_commandline_option(testsdir TYPE path CMAKE_VARIABLE INSTALL_TESTSDIR)
qt_commandline_option(translationdir TYPE path CMAKE_VARIABLE INSTALL_TRANSLATIONSDIR)
qt_commandline_option(android-arch TYPE string)
qt_commandline_option(android-abis TYPE string)
qt_commandline_option(android-ndk TYPE path CMAKE_VARIABLE ANDROID_NDK_ROOT)
qt_commandline_option(android-ndk-platform TYPE string)
qt_commandline_option(android-sdk TYPE path CMAKE_VARIABLE ANDROID_SDK_ROOT)
qt_commandline_option(android-javac-target
TYPE string
CMAKE_VARIABLE QT_ANDROID_JAVAC_TARGET
)
qt_commandline_option(android-javac-source
TYPE string
CMAKE_VARIABLE QT_ANDROID_JAVAC_SOURCE
)
qt_commandline_option(android-style-assets TYPE boolean)
qt_commandline_option(appstore-compliant TYPE boolean)
qt_commandline_option(avx TYPE boolean)
qt_commandline_option(avx2 TYPE boolean)
qt_commandline_option(avx512 TYPE boolean NAME avx512f)
qt_commandline_option(c++std TYPE cxxstd)
qt_commandline_option(unity-build TYPE boolean NAME unity_build CMAKE_VARIABLE QT_UNITY_BUILD)
qt_commandline_option(unity-build-batch-size
TYPE string
NAME unity_build_batch_size
CMAKE_VARIABLE QT_UNITY_BUILD_BATCH_SIZE
)
qt_commandline_option(ccache TYPE boolean NAME ccache CMAKE_VARIABLE QT_USE_CCACHE)
qt_commandline_option(vcpkg TYPE boolean CMAKE_VARIABLE QT_USE_VCPKG)
qt_commandline_option(commercial TYPE void)
qt_commandline_option(confirm-license TYPE void)
qt_commandline_option(dbus TYPE optionalString VALUES no yes linked runtime)
qt_commandline_option(dbus-linked TYPE void NAME dbus VALUE linked)
qt_commandline_option(dbus-runtime TYPE void NAME dbus VALUE runtime)
qt_commandline_option(debug TYPE void)
qt_commandline_option(debug-and-release TYPE boolean NAME debug_and_release)
qt_commandline_option(device TYPE string)
qt_commandline_option(device-option TYPE addString CMAKE_VARIABLE QT_QMAKE_DEVICE_OPTIONS)
qt_commandline_option(f16c TYPE boolean)
qt_commandline_option(force-asserts TYPE boolean NAME force_asserts)
qt_commandline_option(force-debug-info TYPE boolean NAME force_debug_info)
qt_commandline_option(force-pkg-config TYPE void NAME pkg-config)
qt_commandline_option(force-bundled-libs TYPE boolean)
qt_commandline_option(force-system-libs TYPE boolean)
qt_commandline_option(framework TYPE boolean)
qt_commandline_option(gc-binaries TYPE boolean NAME gc_binaries)
qt_commandline_option(gdb-index TYPE boolean NAME enable_gdb_index)
qt_commandline_option(gcov TYPE boolean)
qt_commandline_option(gnumake TYPE boolean NAME GNUmake)
qt_commandline_option(gui TYPE boolean)
qt_commandline_option(incredibuild-xge TYPE boolean NAME incredibuild_xge)
qt_commandline_option(libudev TYPE boolean)
qt_commandline_option(openssl TYPE optionalString VALUES no yes linked runtime)
qt_commandline_option(openssl-linked TYPE void NAME openssl VALUE linked)
qt_commandline_option(openssl-runtime TYPE void NAME openssl VALUE runtime)
qt_commandline_option(linker TYPE optionalString VALUES bfd gold lld mold)
qt_commandline_option(ltcg TYPE boolean)
qt_commandline_option(intelcet TYPE boolean)
qt_commandline_option(glibc-fortify-source TYPE boolean NAME glibc_fortify_source)
qt_commandline_option(trivial-auto-var-init-pattern TYPE boolean NAME trivial_auto_var_init_pattern)
qt_commandline_option(stack-protector TYPE boolean NAME stack_protector)
qt_commandline_option(stack-clash-protection TYPE boolean NAME stack_clash_protection)
qt_commandline_option(libstdcpp-assertions TYPE boolean NAME libstdcpp_assertions)
qt_commandline_option(libcpp-hardening TYPE boolean NAME libcpp_hardening)
qt_commandline_option(relro-now-linker TYPE boolean NAME relro_now_linker)
qt_commandline_option(make TYPE addString VALUES examples libs tests tools
benchmarks manual-tests minimal-static-tests)
qt_commandline_option(install-examples-sources
TYPE boolean
CMAKE_VARIABLE QT_INSTALL_EXAMPLES_SOURCES
)
qt_commandline_option(mips_dsp TYPE boolean)
qt_commandline_option(mips_dspr2 TYPE boolean)
qt_commandline_option(nomake TYPE addString VALUES examples tests tools benchmarks
manual-tests minimal-static-tests)
qt_commandline_option(opensource TYPE void NAME commercial VALUE no)
qt_commandline_option(optimize-debug TYPE boolean NAME optimize_debug)
qt_commandline_option(optimize-size TYPE boolean NAME optimize_size)
qt_commandline_option(optimized-qmake TYPE boolean NAME release_tools)
qt_commandline_option(optimized-tools TYPE boolean NAME release_tools)
qt_commandline_option(pch TYPE boolean NAME precompile_header CMAKE_VARIABLE BUILD_WITH_PCH)
qt_commandline_option(pkg-config TYPE boolean)
qt_commandline_option(platform TYPE string CMAKE_VARIABLE QT_QMAKE_TARGET_MKSPEC)
qt_commandline_option(plugin-manifests TYPE boolean)
qt_commandline_option(profile TYPE boolean)
qt_commandline_option(qreal TYPE string CMAKE_VARIABLE QT_COORD_TYPE)
qt_commandline_option(qtinlinenamespace TYPE boolean CMAKE_VARIABLE QT_INLINE_NAMESPACE)
qt_commandline_option(qtlibinfix
TYPE string
NAME qt_libinfix
CMAKE_VARIABLE QT_LIBINFIX
)
qt_commandline_option(qtnamespace
TYPE string
NAME qt_namespace
CMAKE_VARIABLE QT_NAMESPACE
)
qt_commandline_option(reduce-exports TYPE boolean NAME reduce_exports)
qt_commandline_option(reduce-relocations TYPE boolean NAME reduce_relocations)
qt_commandline_option(release TYPE enum NAME debug MAPPING yes no no yes)
qt_commandline_option(rpath TYPE boolean)
qt_commandline_option(sanitize TYPE sanitize)
qt_commandline_option(sdk TYPE string CMAKE_VARIABLE QT_APPLE_SDK)
qt_commandline_option(separate-debug-info TYPE boolean NAME separate_debug_info)
qt_commandline_option(shared TYPE boolean)
qt_commandline_option(silent TYPE void)
qt_commandline_option(qdbus TYPE boolean NAME dbus)
qt_commandline_option(sse2 TYPE boolean)
qt_commandline_option(sse3 TYPE boolean)
qt_commandline_option(sse4.1 TYPE boolean NAME sse4_1)
qt_commandline_option(sse4.2 TYPE boolean NAME sse4_2)
qt_commandline_option(ssse3 TYPE boolean)
qt_commandline_option(static TYPE enum NAME shared MAPPING yes no no yes)
qt_commandline_option(static-runtime TYPE boolean NAME static_runtime)
qt_commandline_option(strip TYPE boolean)
qt_commandline_option(sysroot TYPE string)
qt_commandline_option(use-gold-linker TYPE boolean NAME use_gold_linker_alias)
qt_commandline_option(warnings-are-errors
TYPE boolean
NAME warnings_are_errors
CMAKE_VARIABLE WARNINGS_ARE_ERRORS
)
qt_commandline_option(Werror TYPE boolean NAME warnings_are_errors)
qt_commandline_option(widgets TYPE boolean)
qt_commandline_option(xplatform TYPE string CMAKE_VARIABLE QT_QMAKE_TARGET_MKSPEC)
qt_commandline_option(zlib CONTROLS_FEATURE TYPE enum NAME system-zlib MAPPING system yes qt no)
qt_commandline_option(zstd TYPE boolean)
qt_commandline_option(coverage TYPE optionalString VALUES gcov)
qt_commandline_option(ffmpeg-dir TYPE path CMAKE_VARIABLE FFMPEG_DIR)
qt_commandline_option(ffmpeg-deploy TYPE boolean CMAKE_VARIABLE QT_DEPLOY_FFMPEG)
qt_commandline_prefix(D defines)
qt_commandline_prefix(F fpaths)
qt_commandline_prefix(I includes)
qt_commandline_prefix(L lpaths)
qt_commandline_prefix(R rpaths)
function(qt_commandline_cxxstd arg val nextok)
if("${val}" STREQUAL "")
qtConfGetNextCommandlineArg(val)
endif()
if("${val}" STREQUAL "" OR val MATCHES "^-.*")
qtConfAddError("Missing argument to command line parameter '${arg}'.")
return()
endif()
if(val MATCHES "(c\\+\\+)?(17|1z)")
qtConfCommandlineDisableFeature(c++20)
qtConfCommandlineDisableFeature(c++2b)
elseif(val MATCHES "(c\\+\\+)?(20|2a)")
qtConfCommandlineEnableFeature(c++20)
qtConfCommandlineDisableFeature(c++2b)
elseif(val MATCHES "(c\\+\\+)?(2b)")
qtConfCommandlineEnableFeature(c++20)
qtConfCommandlineEnableFeature(c++2b)
else()
qtConfAddError("Invalid argument '${val}' to command line parameter '${arg}'")
endif()
endfunction()
function(qt_commandline_sanitize arg val nextok)
if("${val}" STREQUAL "")
qtConfGetNextCommandlineArg(val)
endif()
if("${val}" STREQUAL "" OR val MATCHES "^-.*")
qtConfAddError("Missing argument to command line parameter '${arg}'.")
return()
endif()
if(val STREQUAL "address")
qtConfCommandlineEnableFeature(sanitize_address)
elseif(val STREQUAL "thread")
qtConfCommandlineEnableFeature(sanitize_thread)
elseif(val STREQUAL "memory")
qtConfCommandlineEnableFeature(sanitize_memory)
elseif(val STREQUAL "fuzzer-no-link")
qtConfCommandlineEnableFeature(sanitize_fuzzer_no_link)
elseif(val STREQUAL "undefined")
qtConfCommandlineEnableFeature(sanitize_undefined)
else()
qtConfAddError("Invalid argument '${val}' to command line parameter '${arg}'")
endif()
endfunction()