aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/QtIROptionsHelpers.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/QtIROptionsHelpers.cmake')
-rw-r--r--cmake/QtIROptionsHelpers.cmake48
1 files changed, 48 insertions, 0 deletions
diff --git a/cmake/QtIROptionsHelpers.cmake b/cmake/QtIROptionsHelpers.cmake
new file mode 100644
index 00000000..d87c7463
--- /dev/null
+++ b/cmake/QtIROptionsHelpers.cmake
@@ -0,0 +1,48 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Declare command line options known to init-repository.
+macro(qt_ir_set_known_command_line_options)
+ # Implemented options
+
+ # Note alternates is a qt specific option name, but it uses
+ # git submodule's --reference option underneath which also implies --shared.
+ # It essentially uses the git object storage of another repo, to avoid
+ # cloning the same objects and thus saving space.
+ qt_ir_commandline_option(alternates TYPE string)
+
+ qt_ir_commandline_option(berlin TYPE boolean)
+ qt_ir_commandline_option(branch TYPE boolean)
+ qt_ir_commandline_option(codereview-username TYPE string)
+ qt_ir_commandline_option(copy-objects TYPE boolean)
+ qt_ir_commandline_option(fetch TYPE boolean DEFAULT_VALUE yes)
+ qt_ir_commandline_option(force SHORT_NAME f TYPE boolean)
+ qt_ir_commandline_option(force-hooks TYPE boolean)
+ qt_ir_commandline_option(help SHORT_NAME h TYPE boolean)
+ qt_ir_commandline_option(ignore-submodules TYPE boolean)
+ qt_ir_commandline_option(mirror TYPE string)
+ qt_ir_commandline_option(module-subset TYPE string)
+ qt_ir_commandline_option(optional-deps TYPE boolean DEFAULT_VALUE yes)
+ qt_ir_commandline_option(oslo TYPE boolean)
+ qt_ir_commandline_option(perl-identical-output TYPE boolean)
+ qt_ir_commandline_option(perl-init-check TYPE boolean)
+ qt_ir_commandline_option(quiet SHORT_NAME q TYPE boolean)
+ qt_ir_commandline_option(resolve-deps TYPE boolean DEFAULT_VALUE yes)
+ qt_ir_commandline_option(update TYPE boolean DEFAULT_VALUE yes)
+ qt_ir_commandline_option(verbose TYPE boolean)
+
+ # These are used when init-repository is called from configure.
+ qt_ir_commandline_option(from-configure TYPE boolean)
+ # Implies force.
+ qt_ir_commandline_option(init-submodules TYPE boolean)
+ # We alias qtbase's submodules option to init-repository module-subset.
+ qt_ir_commandline_option(submodules ALIAS module-subset TYPE string)
+
+ set_property(GLOBAL PROPERTY _qt_ir_known_command_line_options "${commandline_known_options}")
+endmacro()
+
+# Gets list of known command line options.
+function(qt_ir_get_known_command_line_options out_var)
+ get_property(values GLOBAL PROPERTY _qt_ir_known_command_line_options)
+ set(${out_var} "${values}" PARENT_SCOPE)
+endfunction()