diff options
author | Eike Ziller <eike.ziller@qt.io> | 2020-05-18 10:09:40 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2020-05-18 11:19:01 +0000 |
commit | d5443cea77b4a8fbaa411a7bc32e1f6cdd431724 (patch) | |
tree | 4924a6c4916d404ce4e9469663e725ad2c8e328f /cmake | |
parent | d09c453ff1b4e74d520304e03b419d86bd6c1900 (diff) |
CMake build: Unify handling of qtc_add_... arguments
Unify handling of EXPLICIT_MOC, SKIP_AUTOMOC, EXTRA_TRANSLATIONS
Change-Id: I9f5cbe9fe6b58ec527edd5e25008153455857ed8
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/QtCreatorAPI.cmake | 25 | ||||
-rw-r--r-- | cmake/QtCreatorAPIInternal.cmake | 7 |
2 files changed, 19 insertions, 13 deletions
diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 33dea5812d..4eed007b0e 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -60,7 +60,7 @@ endfunction() function(add_qtc_library name) cmake_parse_arguments(_arg "STATIC;OBJECT;SKIP_TRANSLATION;BUILD_BY_DEFAULT;ALLOW_ASCII_CASTS;UNVERSIONED" "DESTINATION;COMPONENT" - "DEFINES;DEPENDS;EXTRA_TRANSLATIONS;INCLUDES;PUBLIC_DEFINES;PUBLIC_DEPENDS;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;PROPERTIES" ${ARGN} + "DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES" ${ARGN} ) set(default_defines_copy ${DEFAULT_DEFINES}) @@ -124,6 +124,8 @@ function(add_qtc_library name) DEPENDS ${_arg_DEPENDS} ${IMPLICIT_DEPENDS} PUBLIC_DEPENDS ${_arg_PUBLIC_DEPENDS} EXPLICIT_MOC ${_arg_EXPLICIT_MOC} + SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC} + EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS} ) file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) @@ -135,10 +137,6 @@ function(add_qtc_library name) "$<INSTALL_INTERFACE:include/${include_dir_relative_path}/..>" ) - foreach(file IN LISTS _arg_SKIP_AUTOMOC) - set_property(SOURCE ${file} PROPERTY SKIP_AUTOMOC ON) - endforeach() - set(skip_translation OFF) if (_arg_SKIP_TRANSLATION) set(skip_translation ON) @@ -231,15 +229,13 @@ function(add_qtc_library name) OPTIONAL ) endif() - - append_extra_translations("${name}" "${_arg_EXTRA_TRANSLATIONS}") endfunction(add_qtc_library) function(add_qtc_plugin target_name) cmake_parse_arguments(_arg "EXPERIMENTAL;SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL;INTERNAL_ONLY;SKIP_TRANSLATION" "VERSION;COMPAT_VERSION;PLUGIN_JSON_IN;PLUGIN_PATH;PLUGIN_NAME;OUTPUT_NAME" - "CONDITION;DEPENDS;EXTRA_TRANSLATIONS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;SOURCES;EXPLICIT_MOC" + "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS" ${ARGN} ) @@ -372,6 +368,8 @@ function(add_qtc_plugin target_name) DEPENDS ${_arg_DEPENDS} ${_DEP_PLUGINS} ${IMPLICIT_DEPENDS} PUBLIC_DEPENDS ${_arg_PUBLIC_DEPENDS} EXPLICIT_MOC ${_arg_EXPLICIT_MOC} + SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC} + EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS} ) file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) @@ -420,7 +418,6 @@ function(add_qtc_plugin target_name) PREFIX "" ) endif() - append_extra_translations("${target_name}" "${_arg_EXTRA_TRANSLATIONS}") enable_pch(${target_name}) if (NOT _arg_SKIP_INSTALL) @@ -474,7 +471,7 @@ endfunction() function(add_qtc_executable name) cmake_parse_arguments(_arg "SKIP_INSTALL;SKIP_TRANSLATION;ALLOW_ASCII_CASTS" "DESTINATION;COMPONENT" - "DEFINES;DEPENDS;EXTRA_TRANSLATIONS;INCLUDES;SOURCES;PROPERTIES" ${ARGN}) + "DEPENDS;DEFINES;INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES" ${ARGN}) if ($_arg_UNPARSED_ARGUMENTS) message(FATAL_ERROR "add_qtc_executable had unparsed arguments!") @@ -522,6 +519,9 @@ function(add_qtc_executable name) INCLUDES "${CMAKE_BINARY_DIR}/src" ${_arg_INCLUDES} DEFINES ${default_defines_copy} ${TEST_DEFINES} ${_arg_DEFINES} DEPENDS ${_arg_DEPENDS} ${IMPLICIT_DEPENDS} + EXPLICIT_MOC ${_arg_EXPLICIT_MOC} + SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC} + EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS} ) set(skip_translation OFF) @@ -550,7 +550,6 @@ function(add_qtc_executable name) VISIBILITY_INLINES_HIDDEN ON ${_arg_PROPERTIES} ) - append_extra_translations("${name}" "${_arg_EXTRA_TRANSLATIONS}") enable_pch(${name}) if (NOT _arg_SKIP_INSTALL) @@ -634,7 +633,7 @@ function(extend_qtc_executable name) endfunction() function(add_qtc_test name) - cmake_parse_arguments(_arg "GTEST" "" "DEFINES;DEPENDS;INCLUDES;SOURCES" ${ARGN}) + cmake_parse_arguments(_arg "GTEST" "" "DEFINES;DEPENDS;INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC" ${ARGN}) foreach(dependency ${_arg_DEPENDS}) if (NOT TARGET ${dependency} AND NOT _arg_GTEST) @@ -660,6 +659,8 @@ function(add_qtc_test name) DEPENDS ${_arg_DEPENDS} ${IMPLICIT_DEPENDS} INCLUDES "${CMAKE_BINARY_DIR}/src" ${_arg_INCLUDES} DEFINES ${_arg_DEFINES} ${TEST_DEFINES} ${DEFAULT_DEFINES} + EXPLICIT_MOC ${_arg_EXPLICIT_MOC} + SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC} ) set_target_properties(${name} PROPERTIES diff --git a/cmake/QtCreatorAPIInternal.cmake b/cmake/QtCreatorAPIInternal.cmake index 6c4987e498..2a743968d9 100644 --- a/cmake/QtCreatorAPIInternal.cmake +++ b/cmake/QtCreatorAPIInternal.cmake @@ -377,7 +377,7 @@ function(extend_qtc_target target_name) cmake_parse_arguments(_arg "" "SOURCES_PREFIX;FEATURE_INFO" - "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC" + "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS" ${ARGN} ) @@ -441,4 +441,9 @@ function(extend_qtc_target target_name) set_explicit_moc(${target_name} "${file}") endforeach() + foreach(file IN LISTS _arg_SKIP_AUTOMOC) + set_property(SOURCE ${file} PROPERTY SKIP_AUTOMOC ON) + endforeach() + + append_extra_translations(${target_name} "${_arg_EXTRA_TRANSLATIONS}") endfunction() |