diff --git a/CMakeLists.txt b/CMakeLists.txt index d6efaa8cdd8..d1db97b13ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -152,6 +152,25 @@ else() ) endif() +# install qmake support files +install( + FILES + qtcreator.pri + qtcreatordata.pri + qtcreator_ide_branding.pri + DESTINATION include + COMPONENT Devel EXCLUDE_FROM_ALL +) +install( + FILES + src/qtcreatorlibrary.pri + src/qtcreatorplugin.pri + src/qtcreatortool.pri + src/rpath.pri + DESTINATION include/src + COMPONENT Devel EXCLUDE_FROM_ALL +) + feature_summary(INCLUDE_QUIET_PACKAGES WHAT PACKAGES_FOUND PACKAGES_NOT_FOUND ENABLED_FEATURES DISABLED_FEATURES diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 95c753e254f..1cb69ebdc28 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -161,7 +161,14 @@ function(add_qtc_library name) add_library(${name} ${library_type} ${_arg_SOURCES}) add_library(QtCreator::${name} ALIAS ${name}) + set_public_headers(${name} "${_arg_SOURCES}") + # transitional qmake plugin build support + string(TOLOWER "${name}" lowername) + set(dependencies_pri "${CMAKE_CURRENT_SOURCE_DIR}/${lowername}_dependencies.pri") + if(EXISTS ${dependencies_pri}) + qtc_add_public_header(${dependencies_pri}) + endif() # TODO remove, see above if (_arg_SOURCES_PREFIX) @@ -412,7 +419,14 @@ function(add_qtc_plugin target_name) add_library(${target_name} SHARED ${_arg_SOURCES}) add_library(QtCreator::${target_name} ALIAS ${target_name}) + set_public_headers(${target_name} "${_arg_SOURCES}") + # transitional qmake plugin build support + string(TOLOWER "${target_name}" lowername) + set(dependencies_pri "${CMAKE_CURRENT_SOURCE_DIR}/${lowername}_dependencies.pri") + if(EXISTS ${dependencies_pri}) + qtc_add_public_header(${dependencies_pri}) + endif() ### Generate EXPORT_SYMBOL string(TOUPPER "${name}_LIBRARY" EXPORT_SYMBOL) diff --git a/dist/changes-4.14.1.md b/dist/changes-4.14.1.md index 4e97b0858c7..b019dd205fb 100644 --- a/dist/changes-4.14.1.md +++ b/dist/changes-4.14.1.md @@ -50,6 +50,11 @@ Projects * Fixed crash in environment settings (QTCREATORBUG-25170) +### CMake + +* Fixed that CMake version support was not re-checked when changing its path in + settings (QTCREATORBUG-25250) + ### qmake * Fixed unnecessary `qmake` run if `separate_debug_info` is force-disabled @@ -57,6 +62,10 @@ Projects * Fixed wrong messages in `Issues` pane from cumulative parsing (QTCREATORBUG-25201) +### Meson + +* Fixed crash when switching build type + Debugging --------- @@ -86,13 +95,16 @@ Platforms Credits for these changes go to: -------------------------------- Alessandro Portale +Alexis Jeandet Andre Hartmann André Pönitz Björn Schäpers +Christiaan Janssen Christian Kandeler Christian Stenger Cristian Adam David Schulz +Denis Shienkov Eike Ziller Henning Gruendl Ivan Komissarov @@ -105,6 +117,7 @@ Lukasz Ornatek Mahmoud Badri Marco Bubke Michael Winkelmann +Miikka Heikkinen Orgad Shaneh Thomas Hartmann Tim Jenssen diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index 21bf2837331..d7311c4a6dd 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -787,6 +787,8 @@ class Dumper(DumperBase): def removeTypePrefix(self, name): return re.sub('^(struct|class|union|enum|typedef) ', '', name) + __funcSignature_Regex__ = re.compile(r'^.+\(.*\)') + def lookupNativeType(self, name): #DumperBase.warn('LOOKUP TYPE NAME: %s' % name) typeobj = self.typeCache.get(name) @@ -807,6 +809,9 @@ class Dumper(DumperBase): # Note that specifying a prefix like enum or typedef or class will make the call fail to # find the type, thus the prefix is stripped. nonPrefixedName = self.canonicalTypeName(self.removeTypePrefix(name)) + if __funcSignature_Regex__.match(nonPrefixedName) is not None: + return lldb.SBType() + typeobjlist = self.target.FindTypes(nonPrefixedName) if typeobjlist.IsValid(): for typeobj in typeobjlist: diff --git a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt index 8aadf8525f3..8dc268071a8 100644 --- a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt @@ -43,6 +43,9 @@ add_qtc_library(KSyntaxHighlighting SHARED src/lib/xml_p.h ) qtc_add_public_header(autogenerated/src/lib/State) +# transitional qmake plugin build support +qtc_add_public_header(${CMAKE_CURRENT_SOURCE_DIR}/../../../shared/syntax/syntax_shared.pri) +qtc_add_public_header(syntax-highlighting_dependencies.pri) if(TARGET KSyntaxHighlighting) install( diff --git a/src/libs/ssh/CMakeLists.txt b/src/libs/ssh/CMakeLists.txt index 6f5d1cb7642..813832c3c1e 100644 --- a/src/libs/ssh/CMakeLists.txt +++ b/src/libs/ssh/CMakeLists.txt @@ -20,3 +20,5 @@ add_qtc_library(QtcSsh sshremoteprocessrunner.cpp sshremoteprocessrunner.h sshsettings.cpp sshsettings.h ) +# transitional qmake plugin build support +qtc_add_public_header(ssh_dependencies.pri) diff --git a/src/plugins/coreplugin/CMakeLists.txt b/src/plugins/coreplugin/CMakeLists.txt index 45fa653210e..3d557cf7050 100644 --- a/src/plugins/coreplugin/CMakeLists.txt +++ b/src/plugins/coreplugin/CMakeLists.txt @@ -206,3 +206,6 @@ if ((NOT WIN32) AND (NOT APPLE)) ) endforeach() endif() + +# transitional qmake plugin build support +qtc_add_public_header(coreplugin_dependencies.pri) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp index 734793987f9..bbc1f283e1f 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp @@ -186,7 +186,7 @@ FormEditorItem *FormEditorScene::addFormEditorItem(const QmlItemNode &qmlItemNod else formEditorItem = new FormEditorItem(qmlItemNode, this); - Q_ASSERT(!m_qmlItemNodeItemHash.contains(qmlItemNode)); + QTC_ASSERT(!m_qmlItemNodeItemHash.contains(qmlItemNode), ;); m_qmlItemNodeItemHash.insert(qmlItemNode, formEditorItem); if (qmlItemNode.isRootNode()) {