blob: b0b3797d27e6b474be9678f3900bee4fabb09b71 (
plain)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 | # Copyright (C) 2022 The Qt Company Ltd.# SPDX-License-Identifier: BSD-3-Clauseqt_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.cmakeqt_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 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()
|