diff options
Diffstat (limited to 'qt_cmdline.cmake')
-rw-r--r-- | qt_cmdline.cmake | 93 |
1 files changed, 35 insertions, 58 deletions
diff --git a/qt_cmdline.cmake b/qt_cmdline.cmake index 521d32d975..0347f86eef 100644 --- a/qt_cmdline.cmake +++ b/qt_cmdline.cmake @@ -1,3 +1,6 @@ +# 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) @@ -7,21 +10,16 @@ qt_commandline_subconfig(src/widgets) qt_commandline_subconfig(src/printsupport) qt_commandline_subconfig(src/plugins/sqldrivers) qt_commandline_subconfig(src/testlib) -qt_commandline_subconfig(qmake) # special case -qt_commandline_custom(qmakeArgs) +qt_commandline_subconfig(src/tools) qt_commandline_option(prefix TYPE string) -qt_commandline_option(hostprefix TYPE optionalString) qt_commandline_option(extprefix TYPE string) qt_commandline_option(archdatadir TYPE string) qt_commandline_option(bindir TYPE string) qt_commandline_option(datadir TYPE string) qt_commandline_option(docdir TYPE string) qt_commandline_option(examplesdir TYPE string) -qt_commandline_option(external-hostbindir TYPE string) qt_commandline_option(headerdir TYPE string) -qt_commandline_option(hostbindir TYPE string) qt_commandline_option(hostdatadir TYPE string) -qt_commandline_option(hostlibdir TYPE string) qt_commandline_option(libdir TYPE string) qt_commandline_option(libexecdir TYPE string) qt_commandline_option(plugindir TYPE string) @@ -33,7 +31,6 @@ qt_commandline_option(translationdir TYPE string) qt_commandline_option(android-arch TYPE string) qt_commandline_option(android-abis TYPE string) qt_commandline_option(android-ndk TYPE string) -qt_commandline_option(android-ndk-host TYPE string) qt_commandline_option(android-ndk-platform TYPE string) qt_commandline_option(android-sdk TYPE string) qt_commandline_option(android-javac-target TYPE string) @@ -44,16 +41,17 @@ 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) +qt_commandline_option(unity-build-batch-size TYPE string NAME unity_build_batch_size) qt_commandline_option(ccache TYPE boolean NAME ccache) +qt_commandline_option(vcpkg TYPE boolean) qt_commandline_option(commercial TYPE void) qt_commandline_option(confirm-license TYPE void) -qt_commandline_option(coverage TYPE coverage) 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(developer-build TYPE void) qt_commandline_option(device TYPE string) qt_commandline_option(device-option TYPE addString) qt_commandline_option(f16c TYPE boolean) @@ -63,25 +61,31 @@ qt_commandline_option(force-pkg-config TYPE void NAME pkg-config) 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(gcc-sysroot TYPE boolean) qt_commandline_option(gcov TYPE boolean) qt_commandline_option(gnumake TYPE boolean NAME GNUmake) qt_commandline_option(gui TYPE boolean) -qt_commandline_option(headersclean TYPE boolean) qt_commandline_option(incredibuild-xge TYPE boolean NAME incredibuild_xge) qt_commandline_option(libudev TYPE boolean) -qt_commandline_option(linker TYPE optionalString VALUES bfd gold lld) +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) -# special case begin +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) -# special case end -qt_commandline_option(make-tool TYPE string) +qt_commandline_option(install-examples-sources TYPE boolean) qt_commandline_option(mips_dsp TYPE boolean) qt_commandline_option(mips_dspr2 TYPE boolean) -qt_commandline_option(mp TYPE boolean NAME msvc_mp) qt_commandline_option(nomake TYPE addString VALUES examples tests tools benchmarks - manual-tests minimal-static-tests) # special case + 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) @@ -93,6 +97,7 @@ qt_commandline_option(platform TYPE string) qt_commandline_option(plugin-manifests TYPE boolean) qt_commandline_option(profile TYPE boolean) qt_commandline_option(qreal TYPE string) +qt_commandline_option(qtinlinenamespace TYPE boolean) qt_commandline_option(qtlibinfix TYPE string NAME qt_libinfix) qt_commandline_option(qtnamespace TYPE string NAME qt_namespace) qt_commandline_option(reduce-exports TYPE boolean NAME reduce_exports) @@ -113,36 +118,20 @@ 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(syncqt TYPE boolean) qt_commandline_option(sysroot TYPE string) -qt_commandline_option(testcocoon TYPE boolean) 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) qt_commandline_option(Werror TYPE boolean NAME warnings_are_errors) qt_commandline_option(widgets TYPE boolean) qt_commandline_option(xplatform TYPE string) -qt_commandline_option(zlib TYPE enum NAME system-zlib MAPPING system yes qt no) +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_prefix(D defines) qt_commandline_prefix(F fpaths) qt_commandline_prefix(I includes) qt_commandline_prefix(L lpaths) qt_commandline_prefix(R rpaths) -qt_commandline_prefix(W wflags) -qt_commandline_assignment(DBUS_HOST_PATH host_dbus.prefix) -qt_commandline_assignment(DBUS_PATH dbus.prefix) - -# special case begin -function(qt_commandline_qmakeArgs out_var arg) - if(arg MATCHES "^QMAKE_[A-Z0-9_]+ *[-+]?=.*") - message(FATAL_ERROR - "${arg} is not a valid configure argument. " - "Assignments to QMake variables are not supported. " - "Consider passing the equivalent CMake argument via " - "'configure ... -- -DCMAKE_VARIABLE=VALUE'") - endif() - set(${out_var} FALSE PARENT_SCOPE) -endfunction() function(qt_commandline_cxxstd arg val nextok) if("${val}" STREQUAL "") @@ -152,22 +141,12 @@ function(qt_commandline_cxxstd arg val nextok) qtConfAddError("Missing argument to command line parameter '${arg}'.") return() endif() - if(val MATCHES "(c\\+\\+)?11") - qtConfCommandlineSetInput(c++14 no) - qtConfCommandlineSetInput(c++17 no) - qtConfCommandlineSetInput(c++20 no) - elseif(val MATCHES "(c\\+\\+)?(14|1y)") - qtConfCommandlineSetInput(c++14 yes) - qtConfCommandlineSetInput(c++17 no) - qtConfCommandlineSetInput(c++20 no) - elseif(val MATCHES "(c\\+\\+)?(17|1z)") - qtConfCommandlineSetInput(c++14 yes) - qtConfCommandlineSetInput(c++17 yes) - qtConfCommandlineSetInput(c++20 no) - elseif(val MATCHES "(c\\+\\+)?(20|2a)") - qtConfCommandlineSetInput(c++14 yes) - qtConfCommandlineSetInput(c++17 yes) - qtConfCommandlineSetInput(c++20 yes) + if(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() @@ -182,18 +161,16 @@ function(qt_commandline_sanitize arg val nextok) return() endif() if(val STREQUAL "address") - qtConfCommandlineSetInput(sanitize_address yes) + qtConfCommandlineEnableFeature(sanitize_address) elseif(val STREQUAL "thread") - qtConfCommandlineSetInput(sanitize_thread yes) + qtConfCommandlineEnableFeature(sanitize_thread) elseif(val STREQUAL "memory") - qtConfCommandlineSetInput(sanitize_memory yes) + qtConfCommandlineEnableFeature(sanitize_memory) elseif(val STREQUAL "fuzzer-no-link") - qtConfCommandlineSetInput(sanitize_fuzzer_no_link yes) + qtConfCommandlineEnableFeature(sanitize_fuzzer_no_link) elseif(val STREQUAL "undefined") - qtConfCommandlineSetInput(sanitize_undefined yes) + qtConfCommandlineEnableFeature(sanitize_undefined) else() qtConfAddError("Invalid argument '${val}' to command line parameter '${arg}'") endif() - qtConfCommandlineAppendInput(sanitize "${val}") endfunction() -# special case end |