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,63 @@
add_qtc_plugin(Valgrind
DEPENDS CPlusPlus QtcSsh
PLUGIN_DEPENDS Core Debugger ProjectExplorer TextEditor
SOURCES
callgrind/callgrindabstractmodel.h
callgrind/callgrindcallmodel.cpp callgrind/callgrindcallmodel.h
callgrind/callgrindcontroller.cpp callgrind/callgrindcontroller.h
callgrind/callgrindcostitem.cpp callgrind/callgrindcostitem.h
callgrind/callgrindcycledetection.cpp callgrind/callgrindcycledetection.h
callgrind/callgrinddatamodel.cpp callgrind/callgrinddatamodel.h
callgrind/callgrindfunction.cpp callgrind/callgrindfunction.h callgrind/callgrindfunction_p.h
callgrind/callgrindfunctioncall.cpp callgrind/callgrindfunctioncall.h
callgrind/callgrindfunctioncycle.cpp callgrind/callgrindfunctioncycle.h
callgrind/callgrindparsedata.cpp callgrind/callgrindparsedata.h
callgrind/callgrindparser.cpp callgrind/callgrindparser.h
callgrind/callgrindproxymodel.cpp callgrind/callgrindproxymodel.h
callgrind/callgrindstackbrowser.cpp callgrind/callgrindstackbrowser.h
callgrindcostdelegate.cpp callgrindcostdelegate.h
callgrindcostview.cpp callgrindcostview.h
callgrindengine.cpp callgrindengine.h
callgrindhelper.cpp callgrindhelper.h
callgrindnamedelegate.cpp callgrindnamedelegate.h
callgrindtextmark.cpp callgrindtextmark.h
callgrindtool.cpp callgrindtool.h
callgrindvisualisation.cpp callgrindvisualisation.h
memcheckerrorview.cpp memcheckerrorview.h
memchecktool.cpp memchecktool.h
suppressiondialog.cpp suppressiondialog.h
valgrind.qrc
valgrindconfigwidget.cpp valgrindconfigwidget.h valgrindconfigwidget.ui
valgrindengine.cpp valgrindengine.h
valgrindplugin.cpp valgrindplugin.h
valgrindrunner.cpp valgrindrunner.h
valgrindsettings.cpp valgrindsettings.h
xmlprotocol/announcethread.cpp xmlprotocol/announcethread.h
xmlprotocol/error.cpp xmlprotocol/error.h
xmlprotocol/errorlistmodel.cpp xmlprotocol/errorlistmodel.h
xmlprotocol/frame.cpp xmlprotocol/frame.h
xmlprotocol/modelhelpers.cpp xmlprotocol/modelhelpers.h
xmlprotocol/parser.cpp xmlprotocol/parser.h
xmlprotocol/stack.cpp xmlprotocol/stack.h
xmlprotocol/stackmodel.cpp xmlprotocol/stackmodel.h
xmlprotocol/status.cpp xmlprotocol/status.h
xmlprotocol/suppression.cpp xmlprotocol/suppression.h
xmlprotocol/threadedparser.cpp xmlprotocol/threadedparser.h
)
if (WIN32)
target_compile_definitions(Valgrind PRIVATE UNICODE _UNICODE)
endif()
if (WITH_TESTS)
target_sources(Valgrind PRIVATE
valgrindmemcheckparsertest.cpp valgrindmemcheckparsertest.h
valgrindtestrunnertest.cpp valgrindtestrunnertest.h
)
target_compile_definitions(Valgrind PRIVATE
PARSERTESTS_DATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}/unit_testdata"
VALGRIND_FAKE_PATH="${PROJECT_SOURCE_DIR}/src/tools/valgrindfake"
TESTRUNNER_SRC_DIR="${PROJECT_SOURCE_DIR}/tests/auto/valgrind/memcheck/testapps"
TESTRUNNER_APP_DIR="${PROJECT_BINARY_DIR}/tests/auto/valgrind/memcheck/testapps"
)
endif()