forked from qt-creator/qt-creator
cmake build: Fix handling of test dependencies
Test dependencies are not "real" code dependencies, they just declare that for testing the plugin the other plugin has to be loaded, even though it is _not_ a code dependency. Add PLUGIN_TEST_DEPENDS to add_qtc_plugin. We cannot assume that the target exists at that point, so adapt the usual pattern. Fixes: QTCREATORBUG-25024 Change-Id: I4165ff8df762309e0be0bfe9e8bedef796a3bf17 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
@@ -277,7 +277,7 @@ function(add_qtc_plugin target_name)
|
||||
cmake_parse_arguments(_arg
|
||||
"SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL;INTERNAL_ONLY;SKIP_TRANSLATION;EXPORT"
|
||||
"VERSION;COMPAT_VERSION;PLUGIN_JSON_IN;PLUGIN_PATH;PLUGIN_NAME;OUTPUT_NAME;BUILD_DEFAULT"
|
||||
"CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;PROPERTIES"
|
||||
"CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;PLUGIN_TEST_DEPENDS;PROPERTIES"
|
||||
${ARGN}
|
||||
)
|
||||
|
||||
@@ -363,6 +363,15 @@ function(add_qtc_plugin target_name)
|
||||
" { \"Name\" : \"${i}\", \"Version\" : \"${_v}\", \"Type\" : \"optional\" }"
|
||||
)
|
||||
endforeach(i)
|
||||
foreach(i IN LISTS _arg_PLUGIN_TEST_DEPENDS)
|
||||
if (i MATCHES "^QtCreator::")
|
||||
string(REPLACE "QtCreator::" "" i ${i})
|
||||
endif()
|
||||
set(_v ${IDE_VERSION})
|
||||
string(APPEND _arg_DEPENDENCY_STRING
|
||||
" { \"Name\" : \"${i}\", \"Version\" : \"${_v}\", \"Type\" : \"test\" }"
|
||||
)
|
||||
endforeach(i)
|
||||
|
||||
string(REPLACE "} {" "},\n {"
|
||||
_arg_DEPENDENCY_STRING "${_arg_DEPENDENCY_STRING}"
|
||||
|
@@ -1,9 +1,6 @@
|
||||
if (WITH_TESTS)
|
||||
set(TEST_COMPONENT QmakeProjectManager QtSupport)
|
||||
endif()
|
||||
|
||||
add_qtc_plugin(AutoTest
|
||||
PLUGIN_DEPENDS Core CppTools Debugger ProjectExplorer QmlJSTools TextEditor ${TEST_COMPONENT}
|
||||
PLUGIN_DEPENDS Core CppTools Debugger ProjectExplorer QmlJSTools TextEditor
|
||||
PLUGIN_TEST_DEPENDS QmakeProjectManager QtSupport QbsProjectManager
|
||||
SOURCES
|
||||
autotest.qrc
|
||||
autotest_global.h
|
||||
|
@@ -1,11 +1,8 @@
|
||||
if (WITH_TESTS)
|
||||
set(TST_COMPONENT CppEditor QmakeProjectManager)
|
||||
endif()
|
||||
|
||||
add_qtc_plugin(ClangCodeModel
|
||||
CONDITION TARGET libclang
|
||||
DEPENDS ClangSupport CPlusPlus
|
||||
PLUGIN_DEPENDS Core CppTools TextEditor ${TST_COMPONENT}
|
||||
PLUGIN_DEPENDS Core CppTools TextEditor
|
||||
PLUGIN_TEST_DEPENDS CppEditor QmakeProjectManager
|
||||
SOURCES
|
||||
clangactivationsequencecontextprocessor.cpp clangactivationsequencecontextprocessor.h
|
||||
clangactivationsequenceprocessor.cpp clangactivationsequenceprocessor.h
|
||||
|
@@ -1,14 +1,11 @@
|
||||
if (WITH_TESTS)
|
||||
set(TST_COMPONENT QmakeProjectManager)
|
||||
endif()
|
||||
|
||||
find_package(yaml-cpp QUIET MODULE)
|
||||
|
||||
add_qtc_plugin(ClangTools
|
||||
CONDITION TARGET yaml-cpp
|
||||
DEPENDS ClangSupport yaml-cpp
|
||||
PLUGIN_DEPENDS Core Debugger CppTools CppEditor ${TST_COMPONENT}
|
||||
PLUGIN_DEPENDS Core Debugger CppTools CppEditor
|
||||
PLUGIN_RECOMMENDS CppEditor
|
||||
PLUGIN_TEST_DEPENDS QmakeProjectManager QbsProjectManager
|
||||
INCLUDES ${CLANG_INCLUDE_DIRS}
|
||||
SOURCES
|
||||
clangfileinfo.h
|
||||
|
@@ -1,6 +1,7 @@
|
||||
add_qtc_plugin(CppEditor
|
||||
DEFINES CPPEDITOR_LIBRARY
|
||||
PLUGIN_DEPENDS Core CppTools ProjectExplorer TextEditor
|
||||
PLUGIN_TEST_DEPENDS QmakeProjectManager
|
||||
SOURCES
|
||||
cppautocompleter.cpp cppautocompleter.h
|
||||
cppcodemodelinspectordialog.cpp cppcodemodelinspectordialog.h cppcodemodelinspectordialog.ui
|
||||
|
@@ -2,6 +2,7 @@ add_qtc_plugin(Debugger
|
||||
DEPENDS LanguageUtils QmlDebug QmlJS QtcSsh registryaccess
|
||||
PLUGIN_DEPENDS Core CppTools ProjectExplorer QtSupport TextEditor
|
||||
PLUGIN_RECOMMENDS QmakeProjectManager
|
||||
PLUGIN_TEST_DEPENDS QmakeProjectManager
|
||||
SOURCES
|
||||
analyzer/analyzerbase.qrc
|
||||
analyzer/analyzerconstants.h
|
||||
|
@@ -1,13 +1,10 @@
|
||||
if (WITH_TESTS)
|
||||
set(TST_COMPONENT CppEditor)
|
||||
endif()
|
||||
|
||||
add_qtc_plugin(Designer
|
||||
CONDITION TARGET Qt5::DesignerComponents AND TARGET Qt5::Designer
|
||||
DEPENDS designerintegrationv2
|
||||
Qt5::Designer Qt5::PrintSupport Qt5::DesignerComponents
|
||||
DEFINES CPP_ENABLED
|
||||
PLUGIN_DEPENDS Core CppTools ProjectExplorer QtSupport ResourceEditor TextEditor ${TST_COMPONENT}
|
||||
PLUGIN_DEPENDS Core CppTools ProjectExplorer QtSupport ResourceEditor TextEditor
|
||||
PLUGIN_TEST_DEPENDS CppEditor
|
||||
SOURCES
|
||||
codemodelhelpers.cpp codemodelhelpers.h
|
||||
cpp/formclasswizard.cpp cpp/formclasswizard.h
|
||||
|
@@ -1,9 +1,6 @@
|
||||
if (WITH_TESTS)
|
||||
set(TST_COMPONENT CppEditor CppTools)
|
||||
endif()
|
||||
|
||||
add_qtc_plugin(FakeVim
|
||||
PLUGIN_DEPENDS Core TextEditor ${TST_COMPONENT}
|
||||
PLUGIN_DEPENDS Core TextEditor
|
||||
PLUGIN_TEST_DEPENDS CppEditor CppTools
|
||||
SOURCES ${TEST_SOURCES}
|
||||
fakevim.qrc
|
||||
fakevimactions.cpp fakevimactions.h
|
||||
|
@@ -1,9 +1,6 @@
|
||||
if (WITH_TESTS)
|
||||
set(TST_COMPONENT CppEditor)
|
||||
endif()
|
||||
|
||||
add_qtc_plugin(GenericProjectManager
|
||||
PLUGIN_DEPENDS Core ProjectExplorer QtSupport TextEditor ${TST_COMPONENT}
|
||||
PLUGIN_DEPENDS Core ProjectExplorer QtSupport TextEditor
|
||||
PLUGIN_TEST_DEPENDS CppEditor
|
||||
PLUGIN_RECOMMENDS CppTools
|
||||
SOURCES ${TEST_SOURCES}
|
||||
filesselectionwizardpage.cpp filesselectionwizardpage.h
|
||||
|
Reference in New Issue
Block a user