CMake: Provide supported qt_internal_add_module() args via a function
This is to allow other repos like qtdeclarative to more easily pass through supported arguments to qt_internal_add_module() from their own functions. Task-number: QTBUG-88763 Change-Id: I965d593de4c6f9d5295a0d427c32dc3d5b1bb639 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
27d9c0542c
commit
21607d5db5
@ -1,3 +1,37 @@
|
|||||||
|
macro(qt_internal_get_internal_add_module_keywords option_args single_args multi_args)
|
||||||
|
set(${option_args}
|
||||||
|
STATIC
|
||||||
|
EXCEPTIONS
|
||||||
|
INTERNAL_MODULE
|
||||||
|
HEADER_MODULE
|
||||||
|
DISABLE_TOOLS_EXPORT
|
||||||
|
SKIP_DEPENDS_INCLUDE
|
||||||
|
NO_MODULE_HEADERS
|
||||||
|
NO_SYNC_QT
|
||||||
|
NO_PRIVATE_MODULE
|
||||||
|
NO_CONFIG_HEADER_FILE
|
||||||
|
NO_ADDITIONAL_TARGET_INFO
|
||||||
|
NO_GENERATE_METATYPES
|
||||||
|
GENERATE_METATYPES # TODO: Remove once it is not used anymore
|
||||||
|
)
|
||||||
|
set(${single_args}
|
||||||
|
MODULE_INCLUDE_NAME
|
||||||
|
CONFIG_MODULE_NAME
|
||||||
|
PRECOMPILED_HEADER
|
||||||
|
CONFIGURE_FILE_PATH
|
||||||
|
${__default_target_info_args}
|
||||||
|
)
|
||||||
|
set(${multi_args}
|
||||||
|
QMAKE_MODULE_CONFIG
|
||||||
|
EXTRA_CMAKE_FILES
|
||||||
|
EXTRA_CMAKE_INCLUDES
|
||||||
|
NO_PCH_SOURCES
|
||||||
|
${__default_private_args}
|
||||||
|
${__default_public_args}
|
||||||
|
${__default_private_module_args}
|
||||||
|
)
|
||||||
|
endmacro()
|
||||||
|
|
||||||
# This is the main entry function for creating a Qt module, that typically
|
# This is the main entry function for creating a Qt module, that typically
|
||||||
# consists of a library, public header files, private header files and configurable
|
# consists of a library, public header files, private header files and configurable
|
||||||
# features.
|
# features.
|
||||||
@ -17,12 +51,18 @@
|
|||||||
function(qt_internal_add_module target)
|
function(qt_internal_add_module target)
|
||||||
qt_internal_module_info(module "${target}")
|
qt_internal_module_info(module "${target}")
|
||||||
|
|
||||||
# TODO: Remove GENERATE_METATYPES once it's not used anymore.
|
qt_internal_get_internal_add_module_keywords(
|
||||||
# Process arguments:
|
option_args
|
||||||
qt_parse_all_arguments(arg "qt_add_module"
|
single_args
|
||||||
"NO_MODULE_HEADERS;STATIC;DISABLE_TOOLS_EXPORT;EXCEPTIONS;INTERNAL_MODULE;NO_SYNC_QT;NO_PRIVATE_MODULE;HEADER_MODULE;GENERATE_METATYPES;NO_GENERATE_METATYPES;NO_CONFIG_HEADER_FILE;SKIP_DEPENDS_INCLUDE;NO_ADDITIONAL_TARGET_INFO"
|
multi_args
|
||||||
"MODULE_INCLUDE_NAME;CONFIG_MODULE_NAME;PRECOMPILED_HEADER;CONFIGURE_FILE_PATH;${__default_target_info_args}"
|
)
|
||||||
"${__default_private_args};${__default_public_args};${__default_private_module_args};QMAKE_MODULE_CONFIG;EXTRA_CMAKE_FILES;EXTRA_CMAKE_INCLUDES;NO_PCH_SOURCES" ${ARGN})
|
|
||||||
|
qt_parse_all_arguments(arg "qt_internal_add_module"
|
||||||
|
"${option_args}"
|
||||||
|
"${single_args}"
|
||||||
|
"${multi_args}"
|
||||||
|
${ARGN}
|
||||||
|
)
|
||||||
|
|
||||||
qt_internal_add_qt_repo_known_module("${target}")
|
qt_internal_add_qt_repo_known_module("${target}")
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user