From 70dac58bd9193be7668fba482391933122fff48f Mon Sep 17 00:00:00 2001 From: Fawzi Mohamed Date: Thu, 1 Jul 2021 02:17:33 +0200 Subject: [PATCH] replace devtools library with QtQml qmldevtools was needed when building with qmake, and to avoid circular dependencies in the tools (before making QtQml minimal). Now it can be avoided. This change will make qmldom, qmlformat, qmlimportscanner and qmllint depend on QtQml (just like the other Qml tools) and not be always completely static (qmldevtools was always a static library, QtQml normally isn't). Change-Id: Idfa0a70e51f0d4999fb9753121c6c228ae69c9bb Reviewed-by: Ulf Hermann Reviewed-by: Andrei Golubev Reviewed-by: Qt CI Bot --- src/CMakeLists.txt | 3 +- src/qmlcompiler/CMakeLists.txt | 2 +- src/qmldevtools/CMakeLists.txt | 135 ------------------ src/qmldom/CMakeLists.txt | 2 +- tests/auto/CMakeLists.txt | 1 - tests/auto/qmldevtools/CMakeLists.txt | 5 - tests/auto/qmldevtools/compile/CMakeLists.txt | 30 ---- .../auto/qmldevtools/compile/tst_compile.cpp | 42 ------ tests/auto/qmldom/combined/CMakeLists.txt | 1 - tests/auto/qmldom/domitem/CMakeLists.txt | 1 - tests/auto/qmldom/errormessage/CMakeLists.txt | 1 - tests/auto/qmldom/merging/CMakeLists.txt | 1 - tests/auto/qmldom/path/CMakeLists.txt | 1 - tests/auto/qmldom/reformatter/CMakeLists.txt | 1 - tests/auto/qmldom/stringdumper/CMakeLists.txt | 1 - tools/qmlcachegen/CMakeLists.txt | 1 - tools/qmldom/CMakeLists.txt | 1 - tools/qmlformat/CMakeLists.txt | 1 - tools/qmlimportscanner/CMakeLists.txt | 2 +- tools/qmllint/CMakeLists.txt | 1 - 20 files changed, 4 insertions(+), 229 deletions(-) delete mode 100644 src/qmldevtools/CMakeLists.txt delete mode 100644 tests/auto/qmldevtools/CMakeLists.txt delete mode 100644 tests/auto/qmldevtools/compile/CMakeLists.txt delete mode 100644 tests/auto/qmldevtools/compile/tst_compile.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c3efec5faf..90d05d86fc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -60,9 +60,8 @@ add_subdirectory(labs) add_subdirectory(plugins) if(QT_FEATURE_qml_devtools) - add_subdirectory(qmldevtools) - add_subdirectory(qmldom) add_subdirectory(qmlcompiler) + add_subdirectory(qmldom) # Build qmlcachegen now, so that we can use it in src/imports. if(QT_FEATURE_qml_devtools AND QT_FEATURE_xmlstreamwriter) diff --git a/src/qmlcompiler/CMakeLists.txt b/src/qmlcompiler/CMakeLists.txt index 0f4fe0be36..9c10184bc0 100644 --- a/src/qmlcompiler/CMakeLists.txt +++ b/src/qmlcompiler/CMakeLists.txt @@ -28,7 +28,7 @@ qt_internal_add_module(QmlCompilerPrivate qqmljsregistercontent.cpp qqmljsregistercontent_p.h PUBLIC_LIBRARIES Qt::CorePrivate - Qt::QmlDevToolsPrivate + Qt::QmlPrivate ) #### Keys ignored in scope 1:.:.:qmlcompiler.pro:: diff --git a/src/qmldevtools/CMakeLists.txt b/src/qmldevtools/CMakeLists.txt deleted file mode 100644 index abe12adfe5..0000000000 --- a/src/qmldevtools/CMakeLists.txt +++ /dev/null @@ -1,135 +0,0 @@ -# Generated from qmldevtools.pro. - -##################################################################### -## QmlDevToolsPrivate Module: -##################################################################### - -qt_internal_add_module(QmlDevToolsPrivate - STATIC - INTERNAL_MODULE - NO_SYNC_QT - SOURCES - ../qml/common/qqmljsdiagnosticmessage_p.h - ../qml/common/qqmljsfixedpoolarray_p.h - ../qml/common/qqmljsmemorypool_p.h - ../qml/common/qqmljssourcelocation_p.h - ../qml/common/qv4alloca_p.h - ../qml/common/qv4calldata_p.h - ../qml/common/qv4compileddata_p.h - ../qml/common/qv4staticvalue_p.h - ../qml/common/qv4stringtoarrayindex_p.h - ../qml/compiler/qqmlirbuilder.cpp ../qml/compiler/qqmlirbuilder_p.h - ../qml/compiler/qv4bytecodegenerator.cpp ../qml/compiler/qv4bytecodegenerator_p.h - ../qml/compiler/qv4bytecodehandler.cpp ../qml/compiler/qv4bytecodehandler_p.h - ../qml/compiler/qv4codegen.cpp ../qml/compiler/qv4codegen_p.h - ../qml/compiler/qv4compiler.cpp ../qml/compiler/qv4compiler_p.h - ../qml/compiler/qv4compilercontext.cpp ../qml/compiler/qv4compilercontext_p.h - ../qml/compiler/qv4compilercontrolflow_p.h - ../qml/compiler/qv4compilerglobal_p.h - ../qml/compiler/qv4compilerscanfunctions.cpp ../qml/compiler/qv4compilerscanfunctions_p.h - ../qml/compiler/qv4instr_moth.cpp ../qml/compiler/qv4instr_moth_p.h - ../qml/compiler/qv4util_p.h - ../qml/parser/qqmljsast.cpp ../qml/parser/qqmljsast_p.h - ../qml/parser/qqmljsastfwd_p.h - ../qml/parser/qqmljsastvisitor.cpp ../qml/parser/qqmljsastvisitor_p.h - ../qml/parser/qqmljsengine_p.cpp ../qml/parser/qqmljsengine_p.h - ../qml/parser/qqmljsglobal_p.h - ../qml/parser/qqmljskeywords_p.h - ../qml/parser/qqmljslexer.cpp ../qml/parser/qqmljslexer_p.h - ../qml/qmldirparser/qqmldirparser.cpp ../qml/qmldirparser/qqmldirparser_p.h - ../qml/qmldirparser/qqmlimportresolver.cpp ../qml/qmldirparser/qqmlimportresolver_p.h - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_BINARY_DIR}/../qml - ${CMAKE_CURRENT_BINARY_DIR}/../qml/compiler - ${CMAKE_CURRENT_BINARY_DIR}/../qml/qmldirparser - ../qml/compiler - ../qml/qmldirparser - PUBLIC_LIBRARIES - Qt::CorePrivate -) - -# special case begin -# Need to generate the parser files as in Qml module. -set(_qt_qlalr_flags "--no-debug" "--qt") -qt_process_qlalr(QmlDevToolsPrivate "${CMAKE_CURRENT_SOURCE_DIR}/../qml/parser/qqmljs.g" "${_qt_qlalr_flags}") - -# Need to propagate some of the include directories from Qml via QmlDevToolsPrivate -# for other tools, and also for the main QmlDevToolsPrivate module, -# until we fix the script to handle internal_module to create only one single Private module. -qt_internal_module_info(qml_module "Qml") -if(QT_FEATURE_framework) - get_target_property(_qml_fw_headers_dir Qt::Qml LIBRARY_OUTPUT_DIRECTORY) - string(APPEND _qml_fw_headers_dir /${qml_module}.framework/Versions/A/Headers) - set(_qml_dev_tools_private_includes - $ - $ - $ - ) -else() - set(_qml_dev_tools_private_includes - $ - $ - $ - $ - ) -endif() -target_include_directories(QmlDevToolsPrivate PUBLIC ${_qml_dev_tools_private_includes}) -if(QT_FEATURE_framework) - set(_qml_fw_headers_dir lib/${qml_module}.framework/Headers) - set(_qml_dev_tools_public_includes - $ - $ - $ - ) -else() - set(_qml_dev_tools_public_includes - $ - $ - $ - ) -endif() -target_include_directories(QmlDevToolsPrivate PUBLIC ${_qml_dev_tools_public_includes}) - -# We build the qlalr sources into qmldevtools, so there's no link-time -# dependency to QtQml. However we also include files in QmlDevToolsPrivate such -# as qqmlirbuilder.cpp that include that -# originate from QtQml. That particular header was created at cmake time -# via syncqt, but it's just a forwarding header that in turn includes -# the generated file. That generated file is created when building -# QtQml, so we must depend on it: -add_dependencies(QmlDevToolsPrivate Qml) -# special case end - -#### Keys ignored in scope 1:.:.:qmldevtools.pro:: -# MODULE_INCNAME = "QtQml" -# _OPTION = "host_build" - -## Scopes: -##################################################################### - -#### Keys ignored in scope 2:.:.:qmldevtools.pro:ICC: -# WERROR = "-ww2415" - -#### Keys ignored in scope 3:.:.:qmldevtools.pro:CLANG AND ( (QT_CLANG_MAJOR_VERSION GREATER 3) OR (QT_CLANG_MINOR_VERSION GREATER 3) ): -# WERROR = "-Wno-error=unused-const-variable" - -#### Keys ignored in scope 5:.:../qml/common:../qml/common/common.pri:NOT build_pass: -# compile_hash_contents = "// Generated file, DO NOT EDIT" "$${LITERAL_HASH}define QML_COMPILE_HASH "$$QML_COMPILE_HASH"" "$${LITERAL_HASH}define QML_COMPILE_HASH_LENGTH $$str_size($$QML_COMPILE_HASH)" -# tag = -# tagFile = "$$PWD/../../.tag" - -#### Keys ignored in scope 6:.:../qml/common:../qml/common/common.pri:EXISTS _ss_tagFile: -# QMAKE_INTERNAL_INCLUDED_FILES = "$$tagFile" -# tag = "$$cat($$tagFile, singleline)" - -#### Keys ignored in scope 7:.:../qml/common:../qml/common/common.pri:NOT tag___equals____ss_{LITERAL_DOLLAR}Format AND %H_ss_{LITERAL_DOLLAR}: -# QML_COMPILE_HASH = "$$tag" - -#### Keys ignored in scope 9:.:../qml/common:../qml/common/common.pri:EXISTS _ss_PWD/../../.git: -# QML_COMPILE_HASH = "$$commit" -# commit = "$$system(git rev-parse HEAD)" - -qt_internal_extend_target(QmlDevToolsPrivate CONDITION GCC AND QT_COMPILER_VERSION_MAJOR STREQUAL 5 - COMPILE_OPTIONS - -fno-strict-aliasing -) diff --git a/src/qmldom/CMakeLists.txt b/src/qmldom/CMakeLists.txt index 2387ffe5c7..bf15fe4a2a 100644 --- a/src/qmldom/CMakeLists.txt +++ b/src/qmldom/CMakeLists.txt @@ -36,7 +36,7 @@ qt_internal_add_module(QmlDomPrivate QMLDOM_LIBRARY PUBLIC_LIBRARIES Qt::CorePrivate - Qt::QmlDevToolsPrivate + Qt::QmlPrivate ) #### Keys ignored in scope 1:.:.:qmldom.pro:: diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt index 3d89d8b396..980329b5e7 100644 --- a/tests/auto/CMakeLists.txt +++ b/tests/auto/CMakeLists.txt @@ -6,7 +6,6 @@ if(TARGET Qt::Quick) add_subdirectory(quicktest) endif() add_subdirectory(core) -add_subdirectory(qmldevtools) add_subdirectory(cmake) add_subdirectory(toolsupport) if(NOT UIKIT) diff --git a/tests/auto/qmldevtools/CMakeLists.txt b/tests/auto/qmldevtools/CMakeLists.txt deleted file mode 100644 index 0a2ec8f18d..0000000000 --- a/tests/auto/qmldevtools/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# Generated from qmldevtools.pro. - -if(QT_FEATURE_private_tests) - add_subdirectory(compile) -endif() diff --git a/tests/auto/qmldevtools/compile/CMakeLists.txt b/tests/auto/qmldevtools/compile/CMakeLists.txt deleted file mode 100644 index 6c58dbb63f..0000000000 --- a/tests/auto/qmldevtools/compile/CMakeLists.txt +++ /dev/null @@ -1,30 +0,0 @@ -# Generated from compile.pro. - -##################################################################### -## tst_compile Binary: -##################################################################### - -qt_internal_add_executable(tst_compile - GUI - SOURCES - tst_compile.cpp - PUBLIC_LIBRARIES - Qt::Gui - Qt::QmlDevToolsPrivate -) - -#### Keys ignored in scope 1:.:.:compile.pro:: -# _OPTION = "host_build" - -## Scopes: -##################################################################### - -qt_internal_extend_target(tst_compile CONDITION force_bootstrap - PUBLIC_LIBRARIES - Qt::BootstrapPrivate -) - -qt_internal_extend_target(tst_compile CONDITION NOT force_bootstrap - PUBLIC_LIBRARIES - Qt::Core -) diff --git a/tests/auto/qmldevtools/compile/tst_compile.cpp b/tests/auto/qmldevtools/compile/tst_compile.cpp deleted file mode 100644 index 2d0f318b1e..0000000000 --- a/tests/auto/qmldevtools/compile/tst_compile.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include - -int main() -{ - // Nothing - this test just makes sure that the QmlDevTools headers - // are present, and that we can link against the library. - return 0; -} diff --git a/tests/auto/qmldom/combined/CMakeLists.txt b/tests/auto/qmldom/combined/CMakeLists.txt index 1eb7d7c790..ce8696662f 100644 --- a/tests/auto/qmldom/combined/CMakeLists.txt +++ b/tests/auto/qmldom/combined/CMakeLists.txt @@ -25,7 +25,6 @@ qt_internal_add_test(tst_dom_all QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../domdata\\\" PUBLIC_LIBRARIES Qt::Core - Qt::QmlDevToolsPrivate Qt::QmlDomPrivate Qt::Test TESTDATA ${test_data} diff --git a/tests/auto/qmldom/domitem/CMakeLists.txt b/tests/auto/qmldom/domitem/CMakeLists.txt index dfee9786e9..9ebd45f346 100644 --- a/tests/auto/qmldom/domitem/CMakeLists.txt +++ b/tests/auto/qmldom/domitem/CMakeLists.txt @@ -16,7 +16,6 @@ qt_internal_add_test(tst_qmldomitem QT_DEPRECATED_WARNINGS QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../domdata\\\" PUBLIC_LIBRARIES - Qt::QmlDevToolsPrivate Qt::QmlDomPrivate Qt::Test TESTDATA ${test_data} diff --git a/tests/auto/qmldom/errormessage/CMakeLists.txt b/tests/auto/qmldom/errormessage/CMakeLists.txt index 177c76c35d..a6821f2ee8 100644 --- a/tests/auto/qmldom/errormessage/CMakeLists.txt +++ b/tests/auto/qmldom/errormessage/CMakeLists.txt @@ -10,6 +10,5 @@ qt_internal_add_test(tst_qmldomerrormessage DEFINES QT_DEPRECATED_WARNINGS PUBLIC_LIBRARIES - Qt::QmlDevToolsPrivate Qt::QmlDomPrivate ) diff --git a/tests/auto/qmldom/merging/CMakeLists.txt b/tests/auto/qmldom/merging/CMakeLists.txt index 5815d1b319..801fbdf53d 100644 --- a/tests/auto/qmldom/merging/CMakeLists.txt +++ b/tests/auto/qmldom/merging/CMakeLists.txt @@ -17,7 +17,6 @@ qt_internal_add_test(tst_dommerging QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../domdata\\\" PUBLIC_LIBRARIES Qt::Core - Qt::QmlDevToolsPrivate Qt::QmlDomPrivate Qt::Test TESTDATA ${test_data} diff --git a/tests/auto/qmldom/path/CMakeLists.txt b/tests/auto/qmldom/path/CMakeLists.txt index 0a5e46079b..7da3b1a710 100644 --- a/tests/auto/qmldom/path/CMakeLists.txt +++ b/tests/auto/qmldom/path/CMakeLists.txt @@ -10,6 +10,5 @@ qt_internal_add_test(tst_qmldompath DEFINES QT_DEPRECATED_WARNINGS PUBLIC_LIBRARIES - Qt::QmlDevToolsPrivate Qt::QmlDomPrivate ) diff --git a/tests/auto/qmldom/reformatter/CMakeLists.txt b/tests/auto/qmldom/reformatter/CMakeLists.txt index 4e6f1d1a06..905b77ac24 100644 --- a/tests/auto/qmldom/reformatter/CMakeLists.txt +++ b/tests/auto/qmldom/reformatter/CMakeLists.txt @@ -15,7 +15,6 @@ qt_internal_add_test(tst_reformatter QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../domdata\\\" PUBLIC_LIBRARIES Qt::Core - Qt::QmlDevToolsPrivate Qt::QmlDomPrivate Qt::Test TESTDATA ${test_data} diff --git a/tests/auto/qmldom/stringdumper/CMakeLists.txt b/tests/auto/qmldom/stringdumper/CMakeLists.txt index c29501e4b6..2a2d353aab 100644 --- a/tests/auto/qmldom/stringdumper/CMakeLists.txt +++ b/tests/auto/qmldom/stringdumper/CMakeLists.txt @@ -12,6 +12,5 @@ qt_internal_add_test(tst_qmldomstringdumper INCLUDE_DIRECTORIES ../../../../src/qmldom PUBLIC_LIBRARIES - Qt::QmlDevToolsPrivate Qt::QmlDomPrivate ) diff --git a/tools/qmlcachegen/CMakeLists.txt b/tools/qmlcachegen/CMakeLists.txt index 8739992dd7..2296463c9e 100644 --- a/tools/qmlcachegen/CMakeLists.txt +++ b/tools/qmlcachegen/CMakeLists.txt @@ -16,7 +16,6 @@ qt_internal_add_tool(${target_name} QT_NO_CAST_TO_ASCII PUBLIC_LIBRARIES Qt::QmlCompilerPrivate - Qt::QmlDevToolsPrivate ) #### Keys ignored in scope 1:.:.:qmlcachegen.pro:: diff --git a/tools/qmldom/CMakeLists.txt b/tools/qmldom/CMakeLists.txt index b0a01d2a7b..e1b216f1b0 100644 --- a/tools/qmldom/CMakeLists.txt +++ b/tools/qmldom/CMakeLists.txt @@ -10,6 +10,5 @@ qt_internal_add_tool(${target_name} qmldomtool.cpp PUBLIC_LIBRARIES Qt::CorePrivate - Qt::QmlDevToolsPrivate Qt::QmlDomPrivate ) diff --git a/tools/qmlformat/CMakeLists.txt b/tools/qmlformat/CMakeLists.txt index eeabe1c368..0987f853e5 100644 --- a/tools/qmlformat/CMakeLists.txt +++ b/tools/qmlformat/CMakeLists.txt @@ -12,7 +12,6 @@ qt_internal_add_tool(${target_name} qmlformat.cpp PUBLIC_LIBRARIES Qt::Core - Qt::QmlDevToolsPrivate Qt::QmlDomPrivate ) diff --git a/tools/qmlimportscanner/CMakeLists.txt b/tools/qmlimportscanner/CMakeLists.txt index eb00026bc1..4146bbfcdc 100644 --- a/tools/qmlimportscanner/CMakeLists.txt +++ b/tools/qmlimportscanner/CMakeLists.txt @@ -16,7 +16,7 @@ qt_internal_add_tool(${target_name} QT_NO_CAST_TO_ASCII PUBLIC_LIBRARIES Qt::QmlCompilerPrivate - Qt::QmlDevToolsPrivate + Qt::QmlPrivate ) # special case begin diff --git a/tools/qmllint/CMakeLists.txt b/tools/qmllint/CMakeLists.txt index 8e9a737f5a..b27451fe9d 100644 --- a/tools/qmllint/CMakeLists.txt +++ b/tools/qmllint/CMakeLists.txt @@ -17,7 +17,6 @@ qt_internal_add_tool(${target_name} PUBLIC_LIBRARIES Qt::CorePrivate Qt::QmlCompilerPrivate - Qt::QmlDevToolsPrivate ) #### Keys ignored in scope 1:.:.:qmllint.pro::