Qt Creator CMake port

Based on Tobias Hunger's work from a few months ago.

The CMake configuration needs libclang and Qt paths specified as
CMAKE_PREFIX_PATH.

Auto tests are run with "ctest". At the moment the pass rate is 87%.

Change-Id: Iba98e39bf22077d52706dce6c85986be67a6eab0
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Cristian Adam
2019-05-12 22:20:56 +02:00
parent f872a95fdd
commit d855b84c5d
232 changed files with 5998 additions and 138 deletions

View File

@@ -0,0 +1,57 @@
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}
SOURCES
clangactivationsequencecontextprocessor.cpp clangactivationsequencecontextprocessor.h
clangactivationsequenceprocessor.cpp clangactivationsequenceprocessor.h
clangassistproposalitem.cpp clangassistproposalitem.h
clangassistproposalmodel.cpp clangassistproposalmodel.h
clangbackendcommunicator.cpp clangbackendcommunicator.h
clangbackendlogging.cpp clangbackendlogging.h
clangbackendreceiver.cpp clangbackendreceiver.h
clangbackendsender.cpp clangbackendsender.h
clangcodemodelplugin.cpp clangcodemodelplugin.h
clangcompletionassistinterface.cpp clangcompletionassistinterface.h
clangcompletionassistprocessor.cpp clangcompletionassistprocessor.h
clangcompletionassistprovider.cpp clangcompletionassistprovider.h
clangcompletionchunkstotextconverter.cpp clangcompletionchunkstotextconverter.h
clangcompletioncontextanalyzer.cpp clangcompletioncontextanalyzer.h
clangconstants.h
clangcurrentdocumentfilter.cpp clangcurrentdocumentfilter.h
clangdiagnosticfilter.cpp clangdiagnosticfilter.h
clangdiagnosticmanager.cpp clangdiagnosticmanager.h
clangdiagnostictooltipwidget.cpp clangdiagnostictooltipwidget.h
clangeditordocumentparser.cpp clangeditordocumentparser.h
clangeditordocumentprocessor.cpp clangeditordocumentprocessor.h
clangfixitoperation.cpp clangfixitoperation.h
clangfixitoperationsextractor.cpp clangfixitoperationsextractor.h
clangfollowsymbol.cpp clangfollowsymbol.h
clangfunctionhintmodel.cpp clangfunctionhintmodel.h
clanghighlightingresultreporter.cpp clanghighlightingresultreporter.h
clanghoverhandler.cpp clanghoverhandler.h
clangisdiagnosticrelatedtolocation.h
clangmodelmanagersupport.cpp clangmodelmanagersupport.h
clangoverviewmodel.cpp clangoverviewmodel.h
clangpreprocessorassistproposalitem.cpp clangpreprocessorassistproposalitem.h
clangprojectsettings.cpp clangprojectsettings.h
clangprojectsettingswidget.cpp clangprojectsettingswidget.h clangprojectsettingswidget.ui
clangrefactoringengine.cpp clangrefactoringengine.h
clangtextmark.cpp clangtextmark.h
clanguiheaderondiskmanager.cpp clanguiheaderondiskmanager.h
clangutils.cpp clangutils.h
EXPLICIT_MOC clangcodemodelplugin.h
)
if (WITH_TESTS)
target_sources(ClangCodeModel PRIVATE
test/clangautomationutils.cpp test/clangautomationutils.h
test/clangbatchfileprocessor.cpp test/clangbatchfileprocessor.h
test/clangcodecompletion_test.cpp test/clangcodecompletion_test.h
test/data/clangtestdata.qrc
)
endif()

View File

@@ -0,0 +1,4 @@
git checkout -- clangcodemodelplugin.h
git checkout -- clangcompletionassistinterface.cpp
git checkout -- clangcompletionassistinterface.h
git checkout -- clangcompletionassistprocessor.cpp