Merge remote-tracking branch 'origin/10.0' into qds/dev

bigger conflicts resolved at:
  src/plugins/qmldesigner/CMakeLists.txt
  src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp

Change-Id: I08e2a109d8e37cbd77225129854e9e633725bfc7
This commit is contained in:
Tim Jenßen
2023-03-26 15:58:49 +02:00
8349 changed files with 128327 additions and 169799 deletions

View File

@@ -90,7 +90,7 @@ NamespaceIndentation: None
ObjCBlockIndentWidth: 4
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 150
PenaltyBreakAssignment: 88
PenaltyBreakBeforeFirstCallParameter: 300
PenaltyBreakComment: 500
PenaltyBreakFirstLessLess: 400

View File

@@ -9,7 +9,7 @@ on:
env:
QT_VERSION: 6.4.2
MACOS_DEPLOYMENT_TARGET: 10.14
CLANG_VERSION: 15.0.0
CLANG_VERSION: 16.0.0-rc2
ELFUTILS_VERSION: 0.175
CMAKE_VERSION: 3.21.1
NINJA_VERSION: 1.10.2
@@ -21,19 +21,21 @@ jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
outputs:
tag: ${{ steps.git.outputs.tag }}
strategy:
fail-fast: false
matrix:
config:
- {
name: "Windows Latest MSVC", artifact: "Windows-MSVC",
name: "Windows Latest MSVC", artifact: "windows-x64-msvc",
os: windows-latest,
cc: "cl", cxx: "cl",
environment_script: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat",
is_msvc: true
}
- {
name: "Windows Latest MinGW", artifact: "Windows-MinGW",
name: "Windows Latest MinGW", artifact: "windows-x64-mingw",
os: windows-latest,
toolchain: "https://github.com/cristianadam/mingw-builds/releases/download/v11.2.0-rev1/x86_64-11.2.0-release-posix-seh-rt_v9-rev1.7z",
toolchain_path: "mingw64/bin",
@@ -41,12 +43,12 @@ jobs:
is_msvc: false
}
- {
name: "Ubuntu Latest GCC", artifact: "Linux",
name: "Ubuntu Latest GCC", artifact: "linux-x64",
os: ubuntu-latest,
cc: "gcc", cxx: "g++"
}
- {
name: "macOS Latest Clang", artifact: "macOS",
name: "macOS Latest Clang", artifact: "macos-universal",
os: macos-latest,
cc: "clang", cxx: "clang++"
}
@@ -54,9 +56,21 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Checkout submodules
id: git
shell: cmake -P {0}
run: |
git submodule set-url -- perfparser https://code.qt.io/qt-creator/perfparser.git
git submodule update --init --recursive
execute_process(COMMAND git submodule set-url -- perfparser https://code.qt.io/qt-creator/perfparser.git)
execute_process(COMMAND git submodule update --init --recursive)
file(MAKE_DIRECTORY release)
if (${{github.ref}} MATCHES "tags/v(.*)")
file(APPEND "$ENV{GITHUB_OUTPUT}" "tag=${CMAKE_MATCH_1}\n")
file(READ "dist/changelog/changes-${CMAKE_MATCH_1}.md" changelog_md)
file(WRITE "release/changelog.md" "These packages are not officially supported, for official packages please check out https://download.qt.io/official_releases/qtcreator\n\n")
file(APPEND "release/changelog.md" "${changelog_md}")
else()
file(APPEND "$ENV{GITHUB_OUTPUT}" "tag=${{github.run_id}}\n")
endif()
- name: Download Ninja and CMake
shell: cmake -P {0}
@@ -123,7 +137,8 @@ jobs:
)
execute_process(
COMMAND
sudo apt install libgl1-mesa-dev libvulkan-dev libxcb-xinput-dev libxcb-xinerama0-dev libxkbcommon-dev libxkbcommon-x11-dev
sudo apt install chrpath
libgl1-mesa-dev libvulkan-dev libxcb-xinput-dev libxcb-xinerama0-dev libxkbcommon-dev libxkbcommon-x11-dev
libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xkb1 libxcb-randr0 libxcb-icccm4
xvfb
RESULT_VARIABLE result
@@ -458,31 +473,33 @@ jobs:
string(JSON artifacts_length LENGTH "${artifacts_json}" "artifacts")
math(EXPR artifacts_length "${artifacts_length} - 1")
foreach(idx RANGE 0 ${artifacts_length})
string(JSON artifact_js GET "${artifacts_json}" "artifacts" ${idx})
string(JSON name GET "${artifact_js}" "name")
if ("${name}" STREQUAL "${{ steps.ccache.outputs.archive_name }}")
string(JSON download_url GET "${artifact_js}" "archive_download_url")
if(${artifacts_length} GREATER_EQUAL 0)
foreach(idx RANGE 0 ${artifacts_length})
string(JSON artifact_js GET "${artifacts_json}" "artifacts" ${idx})
string(JSON name GET "${artifact_js}" "name")
if ("${name}" STREQUAL "${{ steps.ccache.outputs.archive_name }}")
string(JSON download_url GET "${artifact_js}" "archive_download_url")
foreach(retry RANGE 10)
file(DOWNLOAD "${download_url}"
"${{ steps.ccache.outputs.archive_name }}.zip"
NETRC_FILE "$ENV{GITHUB_WORKSPACE}/netrc.txt"
NETRC REQUIRED
SHOW_PROGRESS)
file(SIZE "${{ steps.ccache.outputs.archive_name }}.zip" fileSize)
if (fileSize GREATER 0)
break()
endif()
endforeach()
foreach(retry RANGE 10)
file(DOWNLOAD "${download_url}"
"${{ steps.ccache.outputs.archive_name }}.zip"
NETRC_FILE "$ENV{GITHUB_WORKSPACE}/netrc.txt"
NETRC REQUIRED
SHOW_PROGRESS)
file(SIZE "${{ steps.ccache.outputs.archive_name }}.zip" fileSize)
if (fileSize GREATER 0)
break()
endif()
endforeach()
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf "${{ steps.ccache.outputs.archive_name }}.zip")
file(MAKE_DIRECTORY .ccache)
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "../${{ steps.ccache.outputs.archive_name }}.tar" WORKING_DIRECTORY .ccache)
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf "${{ steps.ccache.outputs.archive_name }}.zip")
file(MAKE_DIRECTORY .ccache)
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "../${{ steps.ccache.outputs.archive_name }}.tar" WORKING_DIRECTORY .ccache)
return()
endif()
endforeach()
return()
endif()
endforeach()
endif()
endforeach()
- name: Build
@@ -559,6 +576,10 @@ jobs:
set(ENV{PATH} "$ENV{GITHUB_WORKSPACE}/${{ matrix.config.toolchain_path }}${path_separator}$ENV{PATH}")
endif()
if ("${{ runner.os }}" STREQUAL "macOS")
set(ENV{CMAKE_OSX_ARCHITECTURES} "x86_64;arm64")
endif()
execute_process(
COMMAND python
-u
@@ -576,8 +597,9 @@ jobs:
--add-config=-DCMAKE_C_COMPILER_LAUNCHER=ccache
--add-config=-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
--add-config=-DIDE_REVISION_URL=https://github.com/$ENV{GITHUB_REPOSITORY}/commits/$ENV{GITHUB_SHA}
--zip-infix=-${{ matrix.config.artifact }}-${{ github.run_id }}
--zip-infix=-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}
--no-qbs
--with-cpack
RESULT_VARIABLE result
COMMAND_ECHO STDOUT
OUTPUT_VARIABLE output
@@ -642,35 +664,42 @@ jobs:
- name: Upload
uses: actions/upload-artifact@v3
with:
path: build/qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
name: qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
path: build/qtcreator-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}.7z
name: qtcreator-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}.7z
- name: Upload Devel
uses: actions/upload-artifact@v3
with:
path: build/qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}_dev.7z
name: qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}_dev.7z
path: build/qtcreator-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}_dev.7z
name: qtcreator-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}_dev.7z
- name: Upload wininterrupt
if: runner.os == 'Windows'
uses: actions/upload-artifact@v3
with:
path: build/wininterrupt-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
name: wininterrupt-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
path: build/wininterrupt-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}.7z
name: wininterrupt-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}.7z
- name: Upload qtcreatorcdbext
if: runner.os == 'Windows' && matrix.config.is_msvc
uses: actions/upload-artifact@v3
with:
path: build/qtcreatorcdbext-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
name: qtcreatorcdbext-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
path: build/qtcreatorcdbext-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}.7z
name: qtcreatorcdbext-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}.7z
- name: Upload Debian package
if: runner.os == 'Linux'
uses: actions/upload-artifact@v3
with:
path: build/build/qtcreator-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}.deb
name: qtcreator-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}.deb
- name: Upload disk image
if: runner.os == 'macOS' && contains(github.ref, 'tags/v')
uses: actions/upload-artifact@v3
with:
path: build/qt-creator-${{ matrix.config.artifact }}-${{ github.run_id }}.dmg
name: qt-creator-${{ matrix.config.artifact }}-${{ github.run_id }}.dmg
path: build/qt-creator-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}.dmg
name: qt-creator-${{ matrix.config.artifact }}-${{ steps.git.outputs.tag }}.dmg
- name: Create ccache archive
working-directory: .ccache
@@ -682,151 +711,38 @@ jobs:
path: ./${{ steps.ccache.outputs.archive_name }}.tar
name: ${{ steps.ccache.outputs.archive_name }}
- name: Upload Release Changelog
if: contains(github.ref, 'tags/v')
uses: actions/upload-artifact@v3
with:
path: ./release/changelog.md
name: changelog.md
release:
if: contains(github.ref, 'tags/v')
runs-on: ubuntu-latest
needs: build
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
with:
path: release-with-dirs
- name: Fixup artifacts
run: |
mkdir release
mv release-with-dirs/*/* release/
rm release/ccache*
- name: Create Release
id: create_release
uses: actions/create-release@v1
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
tag_name: v${{ needs.build.outputs.tag }}
body_path: release/changelog.md
files: release/*
draft: false
prerelease: false
- name: Store Release url
run: |
echo "${{ steps.create_release.outputs.upload_url }}" > ./upload_url
- uses: actions/upload-artifact@v3
with:
path: ./upload_url
name: upload_url
publish:
if: contains(github.ref, 'tags/v')
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- {
name: "Windows Latest MSVC", artifact: "Windows-MSVC",
os: ubuntu-latest
}
- {
name: "Windows Latest MinGW", artifact: "Windows-MinGW",
os: ubuntu-latest
}
- {
name: "Ubuntu Latest GCC", artifact: "Linux",
os: ubuntu-latest
}
- {
name: "macOS Latest Clang", artifact: "macOS",
os: ubuntu-latest
}
needs: release
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
path: ./
- name: Download Devel artifact
uses: actions/download-artifact@v3
with:
name: qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}_dev.7z
path: ./
- name: Download wininterrupt artifact
if: contains(matrix.config.artifact, 'Windows')
uses: actions/download-artifact@v3
with:
name: wininterrupt-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
path: ./
- name: Download qtcreatorcdbext artifact
if: matrix.config.artifact == 'Windows-MSVC'
uses: actions/download-artifact@v3
with:
name: qtcreatorcdbext-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
path: ./
- name: Download disk image artifact
if: matrix.config.artifact == 'macOS'
uses: actions/download-artifact@v3
with:
name: qt-creator-${{ matrix.config.artifact }}-${{ github.run_id }}.dmg
path: ./
- name: Download URL
uses: actions/download-artifact@v3
with:
name: upload_url
path: ./
- id: set_upload_url
run: |
upload_url=`cat ./upload_url`
echo upload_url=$upload_url >> $GITHUB_OUTPUT
- name: Upload to Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.set_upload_url.outputs.upload_url }}
asset_path: ./qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
asset_name: qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
asset_content_type: application/x-gtar
- name: Upload Devel to Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.set_upload_url.outputs.upload_url }}
asset_path: ./qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}_dev.7z
asset_name: qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}_dev.7z
asset_content_type: application/x-gtar
- name: Upload wininterrupt to Release
if: contains(matrix.config.artifact, 'Windows')
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.set_upload_url.outputs.upload_url }}
asset_path: ./wininterrupt-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
asset_name: wininterrupt-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
asset_content_type: application/x-gtar
- name: Upload qtcreatorcdbext to Release
if: matrix.config.artifact == 'Windows-MSVC'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.set_upload_url.outputs.upload_url }}
asset_path: ./qtcreatorcdbext-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
asset_name: qtcreatorcdbext-${{ matrix.config.artifact }}-${{ github.run_id }}.7z
asset_content_type: application/x-gtar
- name: Upload disk image to Release
if: matrix.config.artifact == 'macOS'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.set_upload_url.outputs.upload_url }}
asset_path: ./qt-creator-${{ matrix.config.artifact }}-${{ github.run_id }}.dmg
asset_name: qt-creator-${{ matrix.config.artifact }}-${{ github.run_id }}.dmg
asset_content_type: application/x-gtar

View File

@@ -54,7 +54,7 @@ set(CMAKE_AUTOUIC ON)
if (WITH_TESTS)
set(QT_TEST_COMPONENT Test)
set(IMPLICIT_DEPENDS Qt5::Test)
set(IMPLICIT_DEPENDS Qt::Test)
endif()
# suppress bogus warning
@@ -70,37 +70,23 @@ find_package(Qt5
COMPONENTS Concurrent Core Gui Network PrintSupport Qml Sql Widgets Xml Core5Compat ${QT_TEST_COMPONENT}
REQUIRED
)
if (Qt5_VERSION VERSION_LESS 6.0.0)
install(TARGETS Qt6Core5Compat EXPORT QtCreator)
# Specify standards conformance mode to MSVC 2017 and later
# Qt6 has the values as part of the Qt6::Platform target interface
if (MSVC AND MSVC_VERSION GREATER_EQUAL 1910)
add_compile_options(/permissive- /Zc:__cplusplus)
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL GNU)
add_compile_options(-Wno-missing-field-initializers)
endif()
else()
# Common intermediate directory for QML modules which are defined via qt_add_qml_module()
set(QT_QML_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/qml_modules")
# Common intermediate directory for QML modules which are defined via qt_add_qml_module()
set(QT_QML_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/qml_modules")
# This includes the code that will enable higher compiler warnings level (/W3 for MSVC, -Wall -Wextra for GCC)
# This is controlled by QT_COMPILE_OPTIONS_DISABLE_WARNINGS target property.
include(QtCompilerFlags)
# This includes the code that will enable higher compiler warnings level (/W3 for MSVC, -Wall -Wextra for GCC)
# This is controlled by QT_COMPILE_OPTIONS_DISABLE_WARNINGS target property.
include(QtCompilerFlags)
if (MSVC AND QT_FEATURE_static_runtime)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif()
if (MSVC AND QT_FEATURE_static_runtime)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif()
find_package(Qt5 COMPONENTS LinguistTools QUIET)
find_package(Qt5 COMPONENTS Quick QuickWidgets Designer DesignerComponents Help SerialPort Svg Tools QUIET)
find_package(Threads)
find_package(Clang QUIET)
if (Qt5_VERSION VERSION_LESS 6.0.0)
find_package(KF5SyntaxHighlighting QUIET)
endif()
# Crashpad
set(CRASHPAD_BACKEND_URL "" CACHE STRING "Crashpad backend URL")
@@ -124,12 +110,12 @@ function (set_if_target var target)
set(${var} "${_result}" PARENT_SCOPE)
endfunction()
set_if_target(_has_svg_target Qt5::Svg)
set_if_target(_has_svg_target Qt::Svg)
option(ENABLE_SVG_SUPPORT "Enable SVG support" "${_has_svg_target}")
add_library(OptionalSvg INTERFACE)
if (TARGET Qt5::Svg AND ENABLE_SVG_SUPPORT)
target_link_libraries(OptionalSvg INTERFACE Qt5::Svg)
if (TARGET Qt::Svg AND ENABLE_SVG_SUPPORT)
target_link_libraries(OptionalSvg INTERFACE Qt::Svg)
else()
target_compile_definitions(OptionalSvg INTERFACE QT_NO_SVG)
endif()

14
CMakePresets.json Normal file
View File

@@ -0,0 +1,14 @@
{
"version": 3,
"configurePresets": [
{
"name": "cmake-plugin-minimal",
"displayName": "CMake, C++, Git, Debug minimal Build",
"generator": "Ninja",
"cacheVariables": {
"BUILD_PLUGINS": "Core;Designer;DiffEditor;TextEditor;ProjectExplorer;CppEditor;CodePaster;Docker;Git;Help;QmakeProjectManager;CMakeProjectManager;ClangCodeModel;ClangTools;ClangFormat;Debugger;QtSupport;ResourceEditor;VcsBase;Welcome;LanguageClient;RemoteLinux",
"BUILD_EXECUTABLES": "QtCreator;qtcreator_ctrlc_stub;qtcreator_process_stub;win64interrupt;qtcreator_processlauncher"
}
}
]
}

View File

@@ -148,7 +148,12 @@ optimizations but debug information with `-DCMAKE_BUILD_TYPE=RelWithDebInfo`.
You can find more options in the generated CMakeCache.txt file. For instance,
building of Qbs together with Qt Creator can be enabled with `-DBUILD_QBS=ON`.
Installation is not needed. It is however possible, using
Installation is not needed. You can run Qt Creator directly from the build
directory. On Windows, make sure that your `PATH` environment variable points to
all required DLLs, like Qt and LLVM. On Linux and macOS, the build already
contains the necessary `RPATH`s for the dependencies.
If you want to install Qt Creator anyway, that is however possible using
cmake --install . --prefix /path/to/qtcreator_install
@@ -157,6 +162,16 @@ like Qt and LLVM, additionally run
cmake --install . --prefix /path/to/qtcreator_install --component Dependencies
To install development files like headers, CMake files, and `.lib` files on
Windows, run
cmake --install . --prefix /path/to/qtcreator_install --component Devel
If you used the `RelWithDebInfo` configuration and want debug information to be
available to the installed Qt Creator, run
cmake --install . --prefix /path/to/qtcreator_install --component DebugInfo
### Perf Profiler Support
Support for the [perf](https://perf.wiki.kernel.org/index.php/Main_Page) profiler
@@ -694,3 +709,15 @@ SQLite (https://www.sqlite.org) is in the Public Domain.
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
### TartanLlama/expected
Implementation of std::expected compatible with C++11/C++14/C++17.
https://github.com/TartanLlama/expected
To the extent possible under law, the author(s) have dedicated all
copyright and related and neighboring rights to this software to the
public domain worldwide. This software is distributed without any warranty.
http://creativecommons.org/publicdomain/zero/1.0/

View File

@@ -3,7 +3,7 @@
function(create_python_xy PythonExe PythonZipFilePath)
get_filename_component(python_lib_dir "${PythonExe}" DIRECTORY)
get_filename_component(python_lib_dir "${python_lib_dir}/Lib" ABSOLUTE)
foreach(dir collections encodings importlib json urllib)
foreach(dir collections encodings importlib json urllib re)
file(COPY ${python_lib_dir}/${dir}
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/python-lib
FILES_MATCHING PATTERN "*.py"

View File

@@ -2,10 +2,12 @@
# Findelfutils
# -----------------
#
# Try to locate the elfutils binary installation
# Try to locate the elfutils development installation
#
# The ``ELFUTILS_INSTALL_DIR`` (CMake or Environment) variable should be used
# to pinpoint the elfutils binary installation
# On Debian-like systems, you can install libdw-dev.
#
# Otherwise, the ``ELFUTILS_INSTALL_DIR`` (CMake or Environment) variable
# can be used to pinpoint the elfutils binary installation
#
# If found, this will define the following variables:
#

View File

@@ -124,7 +124,7 @@ else()
set(yaml-cpp_FOUND 1)
set_package_properties(yaml-cpp PROPERTIES DESCRIPTION "using internal src/libs/3rdparty/yaml-cpp")
if(MSVC)
target_compile_options(yaml-cpp PUBLIC /wd4251 /wd4275)
target_compile_options(yaml-cpp PUBLIC /wd4251 /wd4275 /EHsc)
endif()
endif()
unset(YAML_SOURCE_DIR)

View File

@@ -111,16 +111,23 @@ function(qtc_source_dir varName)
endif()
endfunction()
function(get_default_defines varName allow_ascii_casts)
get_directory_property(_compile_definitions COMPILE_DEFINITIONS)
list(FIND _compile_definitions QT_NO_CAST_FROM_ASCII no_cast_index)
set(default_defines_copy ${DEFAULT_DEFINES})
if(allow_ascii_casts OR no_cast_index GREATER_EQUAL 0)
list(REMOVE_ITEM default_defines_copy QT_NO_CAST_TO_ASCII QT_RESTRICTED_CAST_FROM_ASCII)
endif()
set(${varName} ${default_defines_copy} PARENT_SCOPE)
endfunction()
function(add_qtc_library name)
cmake_parse_arguments(_arg "STATIC;OBJECT;SHARED;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;FEATURE_INFO;SKIP_PCH"
cmake_parse_arguments(_arg "STATIC;OBJECT;SHARED;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;FEATURE_INFO;SKIP_PCH;EXCLUDE_FROM_INSTALL"
"DESTINATION;COMPONENT;SOURCES_PREFIX;BUILD_DEFAULT"
"CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES" ${ARGN}
)
set(default_defines_copy ${DEFAULT_DEFINES})
if (_arg_ALLOW_ASCII_CASTS)
list(REMOVE_ITEM default_defines_copy QT_NO_CAST_TO_ASCII QT_RESTRICTED_CAST_FROM_ASCII)
endif()
get_default_defines(default_defines_copy ${_arg_ALLOW_ASCII_CASTS})
if (${_arg_UNPARSED_ARGUMENTS})
message(FATAL_ERROR "add_qtc_library had unparsed arguments")
@@ -265,7 +272,7 @@ function(add_qtc_library name)
set(COMPONENT_OPTION "COMPONENT" "${_arg_COMPONENT}")
endif()
if (NOT QTC_STATIC_BUILD OR _arg_SHARED)
if (NOT _arg_EXCLUDE_FROM_INSTALL AND (NOT QTC_STATIC_BUILD OR _arg_SHARED))
install(TARGETS ${name}
EXPORT QtCreator
RUNTIME
@@ -304,7 +311,8 @@ function(add_qtc_library name)
endif()
get_target_property(have_automoc_prop ${name} AUTOMOC)
if("${Qt5_VERSION}" VERSION_GREATER_EQUAL "6.2.0" AND "${have_automoc_prop}")
# check for Qt 6 is needed because sdktool & qml2puppet still build with Qt 5
if(Qt6_VERSION AND "${have_automoc_prop}")
qt_extract_metatypes(${name})
endif()
endfunction(add_qtc_library)
@@ -616,10 +624,7 @@ function(add_qtc_executable name)
message(FATAL_ERROR "add_qtc_executable had unparsed arguments!")
endif()
set(default_defines_copy ${DEFAULT_DEFINES})
if (_arg_ALLOW_ASCII_CASTS)
list(REMOVE_ITEM default_defines_copy QT_NO_CAST_TO_ASCII QT_RESTRICTED_CAST_FROM_ASCII)
endif()
get_default_defines(default_defines_copy ${_arg_ALLOW_ASCII_CASTS})
update_cached_list(__QTC_EXECUTABLES "${name}")
@@ -831,7 +836,12 @@ function(add_qtc_test name)
endif()
set(${_build_test_var} "${_build_test_default}" CACHE BOOL "Build test ${name}.")
if (NOT ${_build_test_var} OR NOT ${_arg_CONDITION})
if ((${_arg_CONDITION}) AND ${_build_test_var})
set(_test_enabled ON)
else()
set(_test_enabled OFF)
endif()
if (NOT _test_enabled)
return()
endif()
@@ -847,8 +857,7 @@ function(add_qtc_test name)
set(TEST_DEFINES SRCDIR="${CMAKE_CURRENT_SOURCE_DIR}")
# relax cast requirements for tests
set(default_defines_copy ${DEFAULT_DEFINES})
list(REMOVE_ITEM default_defines_copy QT_NO_CAST_TO_ASCII QT_RESTRICTED_CAST_FROM_ASCII)
get_default_defines(default_defines_copy YES)
file(RELATIVE_PATH _RPATH "/${IDE_BIN_PATH}" "/${IDE_LIBRARY_PATH}")
@@ -860,7 +869,6 @@ function(add_qtc_test name)
DEFINES ${_arg_DEFINES} ${TEST_DEFINES} ${default_defines_copy}
EXPLICIT_MOC ${_arg_EXPLICIT_MOC}
SKIP_AUTOMOC ${_arg_SKIP_AUTOMOC}
CONDITION ${_arg_CONDITION}
)
set_target_properties(${name} PROPERTIES
@@ -981,7 +989,10 @@ function(qtc_add_resources target resourceName)
message(FATAL_ERROR "qtc_add_resources had unparsed arguments!")
endif()
if (DEFINED _arg_CONDITION AND NOT _arg_CONDITION)
if (NOT _arg_CONDITION)
set(_arg_CONDITION ON)
endif()
if (NOT (${_arg_CONDITION}))
return()
endif()
@@ -1055,11 +1066,11 @@ function(qtc_add_resources target resourceName)
# Process .qrc file:
add_custom_command(OUTPUT "${generatedSourceCode}"
COMMAND Qt5::rcc ${rccArgs}
COMMAND Qt::rcc ${rccArgs}
DEPENDS
${resource_dependencies}
${generatedResourceFile}
"Qt5::rcc"
"Qt::rcc"
COMMENT "RCC ${newResourceName}"
VERBATIM)

View File

@@ -277,7 +277,8 @@ function(finalize_test_setup test_name)
list(APPEND env_path $ENV{PATH})
list(APPEND env_path ${CMAKE_BINARY_DIR}/${_IDE_PLUGIN_PATH})
list(APPEND env_path ${CMAKE_BINARY_DIR}/${_IDE_BIN_PATH})
list(APPEND env_path $<TARGET_FILE_DIR:Qt5::Test>)
# version-less target Qt::Test is an interface library that links to QtX::Test
list(APPEND env_path $<TARGET_FILE_DIR:$<TARGET_PROPERTY:Qt::Test,INTERFACE_LINK_LIBRARIES>>)
if (TARGET libclang)
list(APPEND env_path $<TARGET_FILE_DIR:libclang>)
endif()
@@ -430,15 +431,15 @@ function(enable_pch target)
PROPERTIES GENERATED TRUE)
_add_pch_target(${PROJECT_NAME}PchGui
"${QtCreator_SOURCE_DIR}/src/shared/qtcreator_gui_pch.h" Qt5::Widgets)
"${QtCreator_SOURCE_DIR}/src/shared/qtcreator_gui_pch.h" Qt::Widgets)
_add_pch_target(${PROJECT_NAME}PchConsole
"${QtCreator_SOURCE_DIR}/src/shared/qtcreator_pch.h" Qt5::Core)
"${QtCreator_SOURCE_DIR}/src/shared/qtcreator_pch.h" Qt::Core)
endif()
unset(PCH_TARGET)
if ("Qt5::Widgets" IN_LIST dependencies)
if ("Qt::Widgets" IN_LIST dependencies)
set(PCH_TARGET ${PROJECT_NAME}PchGui)
elseif ("Qt5::Core" IN_LIST dependencies)
elseif ("Qt::Core" IN_LIST dependencies)
set(PCH_TARGET ${PROJECT_NAME}PchConsole)
endif()

View File

@@ -9,7 +9,7 @@ add_feature_info("Build online documentation" WITH_ONLINE_DOCS "")
# as this is not yet exported by cmake.
# Used for QT_INSTALL_DOCS
function(qt5_query_qmake)
if (NOT TARGET Qt5::qmake)
if (NOT TARGET Qt::qmake)
message(FATAL_ERROR "Qmake was not found. Add find_package(Qt5 COMPONENTS Core) to CMake to enable.")
endif()
# dummy check for if we already queried qmake
@@ -17,7 +17,7 @@ function(qt5_query_qmake)
return()
endif()
get_target_property(_qmake_binary Qt5::qmake IMPORTED_LOCATION)
get_target_property(_qmake_binary Qt::qmake IMPORTED_LOCATION)
execute_process(COMMAND "${_qmake_binary}" "-query"
TIMEOUT 10
RESULT_VARIABLE _qmake_result
@@ -43,23 +43,6 @@ function(qt5_query_qmake)
endforeach()
endfunction()
# Find programs:
function(_doc_find_program result_var)
if (NOT TARGET Qt5::qmake)
message(FATAL_ERROR "QDoc is only available in Qt5 projects")
endif()
get_target_property(_qmake_binary Qt5::qmake IMPORTED_LOCATION)
get_filename_component(_qmake_dir "${_qmake_binary}" DIRECTORY)
find_program("_prg_${result_var}" ${ARGN} HINTS "${_qmake_dir}")
if ("_prg_${result_var}" STREQUAL "_prg_${result_var}-NOTFOUND")
set("_prg_${result_var}" "${result_var}-NOTFOUND")
message(WARNING "Could not find binary for ${result_var}")
endif()
set(${result_var} "${_prg_${result_var}}" PARENT_SCOPE)
endfunction()
function(_setup_doc_targets)
# Set up important targets:
if (NOT TARGET html_docs)
@@ -78,6 +61,11 @@ function(_setup_qdoc_targets _qdocconf_file _retval)
cmake_parse_arguments(_arg "" "HTML_DIR;INSTALL_DIR;POSTFIX"
"INDEXES;INCLUDE_DIRECTORIES;FRAMEWORK_PATHS;ENVIRONMENT_EXPORTS" ${ARGN})
if (NOT TARGET Qt::qdoc)
message(WARNING "qdoc missing: No documentation targets were generated. Add find_package(Qt5 COMPONENTS Help) to CMake to enable.")
return()
endif()
foreach(_index ${_arg_INDEXES})
list(APPEND _qdoc_index_args "-indexdir;${_index}")
endforeach()
@@ -90,9 +78,9 @@ function(_setup_qdoc_targets _qdocconf_file _retval)
list(APPEND _env "${_export}=${${_export}}")
endforeach()
set(_full_qdoc_command "${_qdoc}")
get_target_property(_full_qdoc_command Qt::qdoc IMPORTED_LOCATION)
if (_env)
set(_full_qdoc_command "${CMAKE_COMMAND}" "-E" "env" ${_env} "${_qdoc}")
set(_full_qdoc_command "${CMAKE_COMMAND}" "-E" "env" ${_env} "${_full_qdoc_command}")
endif()
if (_arg_HTML_DIR STREQUAL "")
@@ -153,7 +141,7 @@ function(_setup_qhelpgenerator_targets _qdocconf_file _html_outputdir)
set(_arg_QCH_DIR "${CMAKE_CURRENT_BINARY_DIR}/doc")
endif()
if (NOT TARGET Qt5::qhelpgenerator)
if (NOT TARGET Qt::qhelpgenerator)
message(WARNING "qhelpgenerator missing: No QCH documentation targets were generated. Add find_package(Qt5 COMPONENTS Help) to CMake to enable.")
return()
endif()
@@ -166,7 +154,7 @@ function(_setup_qhelpgenerator_targets _qdocconf_file _html_outputdir)
set(_qch_target "qch_docs_${_target}")
set(_html_target "html_docs_${_target}")
add_custom_target("${_qch_target}"
Qt5::qhelpgenerator "${_html_outputdir}/${_target}.qhp" -o "${_qch_outputdir}/${_target}.qch"
Qt::qhelpgenerator "${_html_outputdir}/${_target}.qhp" -o "${_qch_outputdir}/${_target}.qch"
COMMENT "Build QCH documentation from ${_qdocconf_file}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
VERBATIM
@@ -182,12 +170,6 @@ endfunction()
function(qdoc_build_qdocconf_file _qdocconf_file)
_setup_doc_targets()
_doc_find_program(_qdoc NAMES qdoc qdoc-qt5)
if (_qdoc STREQUAL "_prg__qdoc-NOTFOUND")
message(WARNING "No qdoc binary found: No documentation targets were generated")
return()
endif()
cmake_parse_arguments(_arg "QCH" "HTML_DIR;QCH_DIR;INSTALL_DIR;POSTFIX"
"INDEXES;INCLUDE_DIRECTORIES;FRAMEWORK_PATHS;ENVIRONMENT_EXPORTS" ${ARGN})
if (_arg_UNPARSED_ARGUMENTS)
@@ -206,7 +188,7 @@ function(qdoc_build_qdocconf_file _qdocconf_file)
FRAMEWORK_PATHS ${_arg_FRAMEWORK_PATHS}
)
if (_arg_QCH)
if (_arg_QCH AND _html_outputdir)
_setup_qhelpgenerator_targets("${_qdocconf_file}" "${_html_outputdir}"
QCH_DIR "${_arg_QCH_DIR}" INSTALL_DIR "${_arg_INSTALL_DIR}")
endif()

View File

@@ -1,7 +1,7 @@
set(IDE_VERSION "9.0.2") # The IDE version.
set(IDE_VERSION_COMPAT "9.0.0") # The IDE Compatibility version.
set(IDE_VERSION_DISPLAY "9.0.2") # The IDE display version.
set(IDE_COPYRIGHT_YEAR "2022") # The IDE current copyright year.
set(IDE_VERSION "10.0.0") # The IDE version.
set(IDE_VERSION_COMPAT "10.0.0") # The IDE Compatibility version.
set(IDE_VERSION_DISPLAY "10.0.0") # The IDE display version.
set(IDE_COPYRIGHT_YEAR "2023") # The IDE current copyright year.
set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation.
set(IDE_DISPLAY_NAME "Qt Creator") # The IDE display name.

View File

@@ -49,7 +49,7 @@ function(_extract_ts_data_from_targets outprefix)
endfunction()
function(_create_ts_custom_target name)
cmake_parse_arguments(_arg "" "FILE_PREFIX;TS_TARGET_PREFIX" "LANGUAGES;SOURCES;INCLUDES" ${ARGN})
cmake_parse_arguments(_arg "EXCLUDE_FROM_ALL" "FILE_PREFIX;TS_TARGET_PREFIX" "SOURCES;INCLUDES" ${ARGN})
if (_arg_UNPARSED_ARGUMENTS)
message(FATAL_ERROR "Invalid parameters to _create_ts_custom_target: ${_arg_UNPARSED_ARGUMENTS}.")
endif()
@@ -58,14 +58,7 @@ function(_create_ts_custom_target name)
set(_arg_TS_TARGET_PREFIX "ts_")
endif()
set(ts_languages ${_arg_LANGUAGES})
if (NOT ts_languages)
set(ts_languages "${name}")
endif()
foreach(l IN ITEMS ${ts_languages})
list(APPEND ts_files "${CMAKE_CURRENT_SOURCE_DIR}/${_arg_FILE_PREFIX}_${l}.ts")
endforeach()
set(ts_file "${CMAKE_CURRENT_SOURCE_DIR}/${_arg_FILE_PREFIX}_${l}.ts")
set(_sources "${_arg_SOURCES}")
list(SORT _sources)
@@ -91,33 +84,51 @@ function(_create_ts_custom_target name)
file(WRITE "${ts_file_list}" "${_sources_str}\n${_includes_str}\n")
add_custom_target("${_arg_TS_TARGET_PREFIX}${name}"
COMMAND Qt5::lupdate -locations relative -no-ui-lines -no-sort "@${ts_file_list}" -ts ${ts_files}
COMMAND Qt::lupdate -locations relative -no-ui-lines "@${ts_file_list}" -ts ${ts_file}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMENT "Generate .ts files"
COMMENT "Generate .ts file (${name}), with obsolete translations and files and line numbers"
DEPENDS ${_sources}
VERBATIM)
add_custom_target("${_arg_TS_TARGET_PREFIX}${name}_no_locations"
COMMAND Qt::lupdate -locations none -no-ui-lines "@${ts_file_list}" -ts ${ts_file}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMENT "Generate .ts file (${name}), with obsolete translations, without files and line numbers"
DEPENDS ${_sources}
VERBATIM)
# Add cleaned target only for single-ts targets
# Uses lupdate + convert instead of just lupdate with '-locations none -no-obsolete'
# to keep the same sorting as the non-'cleaned' target and therefore keep the diff small
list(LENGTH ts_files file_count)
if(file_count EQUAL 1)
# get path for lconvert...
get_target_property(_lupdate_binary Qt5::lupdate IMPORTED_LOCATION)
get_filename_component(_bin_dir ${_lupdate_binary} DIRECTORY)
# get path for lconvert...
get_target_property(_lupdate_binary Qt::lupdate IMPORTED_LOCATION)
get_filename_component(_bin_dir ${_lupdate_binary} DIRECTORY)
add_custom_target("${_arg_TS_TARGET_PREFIX}${name}_cleaned"
COMMAND Qt5::lupdate -locations relative -no-ui-lines -no-sort "@${ts_file_list}" -ts ${ts_files}
COMMAND ${_bin_dir}/lconvert -locations none -no-ui-lines -no-obsolete ${ts_files} -o ${ts_files}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMENT "Generate .ts files, remove obsolete and vanished translations, and do not add files and line number"
DEPENDS ${_sources}
VERBATIM)
add_custom_target("${_arg_TS_TARGET_PREFIX}${name}_cleaned"
COMMAND Qt::lupdate -locations relative -no-ui-lines "@${ts_file_list}" -ts ${ts_file}
COMMAND ${_bin_dir}/lconvert -locations none -no-ui-lines -no-obsolete ${ts_file} -o ${ts_file}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMENT "Generate .ts file (${name}), remove obsolete and vanished translations, and do not add files and line number"
DEPENDS ${_sources}
VERBATIM)
if (NOT _arg_EXCLUDE_FROM_ALL)
if (NOT TARGET ts_all_cleaned)
add_custom_target(ts_all_cleaned
COMMENT "Generate .ts files, remove obsolete and vanished translations, and do not add files and line numbers")
add_custom_target(ts_all
COMMENT "Generate .ts files, with obsolete translations and files and line numbers")
add_custom_target(ts_all_no_locations
COMMENT "Generate .ts files, with obsolete translations, without files and line numbers")
endif()
add_dependencies(ts_all_cleaned ${_arg_TS_TARGET_PREFIX}${name}_cleaned)
add_dependencies(ts_all ${_arg_TS_TARGET_PREFIX}${name})
add_dependencies(ts_all_no_locations ${_arg_TS_TARGET_PREFIX}${name}_no_locations)
endif()
endfunction()
function(add_translation_targets file_prefix)
if (NOT TARGET Qt5::lrelease OR NOT TARGET Qt5::lupdate)
if (NOT TARGET Qt::lrelease OR NOT TARGET Qt::lupdate)
# No Qt translation tools were found: Skip this directory
message(WARNING "No Qt translation tools found, skipping translation targets. Add find_package(Qt5 COMPONENTS LinguistTools) to CMake to enable.")
return()
@@ -154,7 +165,8 @@ function(add_translation_targets file_prefix)
_create_ts_custom_target(untranslated
FILE_PREFIX "${file_prefix}" TS_TARGET_PREFIX "${_arg_TS_TARGET_PREFIX}"
SOURCES ${_to_process_sources} ${_arg_SOURCES} INCLUDES ${_to_process_includes} ${_arg_INCLUDES})
SOURCES ${_to_process_sources} ${_arg_SOURCES} INCLUDES ${_to_process_includes} ${_arg_INCLUDES}
EXCLUDE_FROM_ALL)
if (NOT TARGET "${_arg_ALL_QM_TARGET}")
add_custom_target("${_arg_ALL_QM_TARGET}" ALL COMMENT "Generate .qm-files")
@@ -170,7 +182,7 @@ function(add_translation_targets file_prefix)
SOURCES ${_to_process_sources} ${_arg_SOURCES} INCLUDES ${_to_process_includes} ${_arg_INCLUDES})
add_custom_command(OUTPUT "${_qm_file}"
COMMAND Qt5::lrelease "${_ts_file}" -qm "${_qm_file}"
COMMAND Qt::lrelease "${_ts_file}" -qm "${_qm_file}"
MAIN_DEPENDENCY "${_ts_file}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMENT "Generate .qm file"
@@ -180,12 +192,4 @@ function(add_translation_targets file_prefix)
add_dependencies("${_arg_ALL_QM_TARGET}" "${_arg_QM_TARGET_PREFIX}${l}")
endforeach()
_create_ts_custom_target(all
LANGUAGES ${_arg_LANGUAGES}
TS_TARGET_PREFIX "${_arg_TS_TARGET_PREFIX}"
FILE_PREFIX "${file_prefix}"
SOURCES ${_to_process_sources} ${_arg_SOURCES}
INCLUDES ${_to_process_includes} ${_arg_INCLUDES}
)
endfunction()

View File

@@ -11,7 +11,7 @@ function(setup_dependencies_component)
if (NOT Python3_Interpreter_FOUND)
message("No python interpreter found, skipping \"Dependencies\" install component.")
else()
get_target_property(_qmake_binary Qt5::qmake IMPORTED_LOCATION)
get_target_property(_qmake_binary Qt::qmake IMPORTED_LOCATION)
set(_llvm_arg)
if (LLVM_INSTALL_PREFIX)
set(_llvm_arg "--llvm \"${LLVM_INSTALL_PREFIX}\"")

View File

@@ -7,7 +7,7 @@ instructions:
variableValue: "RelWithDebInfo"
- type: EnvironmentVariable
variableName: LLVM_BASE_URL
variableValue: http://master.qt.io/development_releases/prebuilt/libclang/libclang-release_15.0.0-based
variableValue: http://master.qt.io/development_releases/prebuilt/libclang/libclang-release_16.0.0-rc2-based
- type: EnvironmentVariable
variableName: QTC_QT_BASE_URL
variableValue: "http://ci-files02-hki.intra.qt.io/packages/jenkins/archive/qt/6.4/6.4.2-released/Qt"

275
dist/changelog/changes-10.0.0.md vendored Normal file
View File

@@ -0,0 +1,275 @@
Qt Creator 10
=============
Qt Creator version 10 contains bug fixes and new features.
The most important changes are listed in this document. For a complete list of
changes, see the Git log for the Qt Creator sources that you can check out from
the public Git repository. For example:
git clone git://code.qt.io/qt-creator/qt-creator.git
git log --cherry-pick --pretty=oneline origin/9.0..v10.0.0
General
-------
* Added support for temporarily dragging progress details out of the way
in addition to hiding them with the button below them (QTCREATORBUG-28078)
* Fixed that the locator search term was not preserved when using `Open as
Centered Popup`
Editing
-------
* Added `Follow Symbol` for `http(s)` string literals (QTCREATORBUG-14967)
* Added environment expansion to the file system locator filter (QTCREATORBUG-242)
* Added `Temporarily hide inline annotations` for types of annotations
* Improved cursor visibility with indentation visualization (QTCREATORBUG-28645)
* Fixed the editor so that it scrolls to cursor position when pressing backspace
(QTCREATORBUG-28316)
* Fixed the performance of rendering many search results (QTCREATORBUG-21056)
### C++
* Updated LLVM to version 16.0.0
* Added renaming of includes when renaming `.ui` files (QTCREATORBUG-14259)
* Added automatic refactoring of C++ code when forms in `.ui` files are renamed
(QTCREATORBUG-1179)
* Added the option to ignore files for indexing to `Preferences > C++ >
Code Model` (QTCREATORBUG-28313)
* Added `Tools > C++ > Find Unused Functions`, and `Find Unused C/C++ Functions`
to the `Projects` view context menu (QTCREATORBUG-6772)
* Fixed text codec when rewriting headers as part of renaming
(QTCREATORBUG-28164)
* Fixed the color of whitespace visualization in string literals
(QTCREATORBUG-26693, QTCREATORBUG-28284)
* Fixed `Move Definition` for template functions (QTCREATORBUG-28186)
* Clangd
* Made temporary disabling of global indexing possible by canceling it in the
progress indicator
* Added support for highlighting angle brackets
* Built-in
* Added support for the spaceship operator (QTCREATORBUG-27503)
* Fixed the handling of `= default` (QTCREATORBUG-28102)
* ClangFormat
* Enabled by default
* Added the option to disable `ClangFormat` for a project in
`Edit > Preferences > C++ > Formatting mode` (QTCREATORBUG-28188)
### Language Server Protocol
* Added the `Restart` action to the menu in the editor tool bar
* Added `Call Hierarchy` (QTCREATORBUG-11660)
### QML
* Updated code model to Qt 6.5
* Added experimental support for the QML language server (qmlls) to `Edit >
Preferences > Qt Quick > QML/JS Editing`
* Added a color preview tooltip (QTCREATORBUG-28446)
* Added the option to apply `qmlformat` on file save to `Edit > Preferences >
Qt Quick > QML/JS Editing > Command` (QTCREATORBUG-28192,
QTCREATORBUG-26602)
* Added `Follow Symbol` for QRC paths in string literals (QTCREATORBUG-28087)
* Adapted the Qt Quick Application wizard template to new features in Qt 6.4
and Qt 6.5 (QTBUG-47996)
* Fixed a freeze when closing files (QTCREATORBUG-28206)
* Fixed that `QtObject` was not recognized (QTCREATORBUG-28287,
QTCREATORBUG-28375)
### Python
* Added an interpreter selector to the editor toolbar (PYSIDE-2154)
Projects
--------
* Moved the `Preferences` page for `Devices` to below `Kits`
* Added `Build > Run Generator` for exporting projects to other build systems
(QTCREATORBUG-28149)
* Added the option to browse remote file systems for remote builds and targets
in `Projects > Build Settings > Build directory > Browse`, for example
* Added support for opening remote terminals from `Projects > Build Settings >
Build Environment > Open Terminal`
* Fixed that wizards did not create target directories (QTCREATORBUG-28346)
* Fixed that absolute paths could be shown when relative paths would be
preferable (QTCREATORBUG-288)
### CMake
* Added a deployment method with `cmake --install` to `Projects > Run Settings >
Add Deploy Step > CMake Install` (QTCREATORBUG-25880)
* Added the option to use `cmake-format` for CMake files to `Edit > Preferences >
CMake > Formatter`
([cmake-format Documentation](https://cmake-format.readthedocs.io/en/latest/))
* Added `Show advanced options by default` to `Edit > Preferences > CMake > Tools`
* Added support for the `external` strategy for the architecture and toolset of
presets (QTCREATORBUG-28693)
* Moved `Autorun CMake` to `Edit > Preferences > CMake > General`
* Changed the environment for running CMake to be based on the build environment
by default (QTCREATORBUG-28513)
* Fixed that `Package manager auto setup` created a dependency of the project
build to the Qt Creator installation
* Fixed that cloned build configurations could miss values from the `Initial
Parameters` (QTCREATORBUG-28759)
* Fixed that CMake preset macros were not expanded for environment variables
(QTCREATORBUG-28606)
* Fixed a crash with the `Kit Configuration` button for build configurations
(QTCREATORBUG-28740)
### Qbs
* Added the `Profile` build variant (QTCREATORBUG-27206)
* Fixed that generated files were not made known to the code model
### Python
* Removed the wizard template for dynamically loaded `.ui` projects
(QTCREATORBUG-25807)
Debugging
---------
### C++
* Added pretty printers for `variant`, `optional` and `tuple` from `libcpp`
(QTCREATORBUG-25865)
* Fixed highlighting in the `Disassembler` view
* Fixed skipping `std::function` details when stepping
* Fixed an out of memory issue when debugging long lists (QTCREATORBUG-26416)
* Fixed the highlighting of values and members in the memory view
(QTCREATORBUG-23681)
* GDB
* Fixed issues with GDB 13.1
* CDB
* Fixed the printing of addresses of pointers with multiple base classes
(QTCREATORBUG-28337)
* Fixed some performance issues (QTCREATORBUG-18287)
* Fixed a freeze with non-UTF-8 system encoding (QTCREATORBUG-25054)
### Python
* Fixed that the debugger always interrupted at the first line in Python scripts
(QTCREATORBUG-28732)
Analyzer
--------
### Clang
* Split `Clang-Tidy and Clazy` into separate `Clang-Tidy` and `Clazy` analyzers
Version Control Systems
-----------------------
* Moved support for the `Fossil` SCM into the mainline repository
* Removed settings for prompting to submit (QTCREATORBUG-22233)
* Added links to file names in diff output (QTCREATORBUG-27309)
* Fixed blame on symbolic links (QTCREATORBUG-20792)
* Fixed the saving of files before applying an action on chunks
(QTCREATORBUG-22506)
* Fixed line ending preservation when reverting chunks (QTCREATORBUG-12690)
### Git
* Improved tracking of external changes (QTCREATORBUG-21089)
* Added editor annotation for blame information (instant blame) with the setting
`Edit > Preferences > Version Control Git > Add instant blame annotations to
editor` (opt-out) and the `Tools > Git > Current File > Instant Blame` action
to show annotation manually for the current line (QTCREATORBUG-23299)
Test Integration
----------------
* Improved `Run` and `Debug Test Under Cursor` (QTCREATORBUG-28496)
* Improved the number of files that are scanned for tests
* Improved output handling (QTCREATORBUG-28706)
* Added an option to enable the expensive checking for tests in derived
`TestCase` objects to `Edit > Preferences > Testing > Qt Test`
Platforms
---------
### macOS
* Changed kits to prefer Xcode toolchains over the wrappers in `/bin`
### Android
* Removed service management from the manifest editor (QTCREATORBUG-28024)
* Fixed `Open package location after build` (QTCREATORBUG-28791)
### Boot to Qt
* Fixed the deployment of Qt Quick UI Prototype projects
### Docker
* Added support for the remote code model via a remote Clangd
* Added support for loading and attaching to core dumps from remote devices
* Added support for using ClangFormat on remote files
* Added an option to enable necessary capabilities for debugging with LLDB
to `Edit > Preferences > Devices` for a Docker device
* Fixed an issue with space in file paths (QTCREATORBUG-28476)
* Fixed that auto-detection controls were shown for devices registered by the
installer
Credits for these changes go to:
--------------------------------
Aleksei German
Alessandro Portale
Alexander Pershin
Ali Kianian
Amr Essam
Andre Hartmann
André Pönitz
Antti Määttä
Artem Sokolovskii
Artur Shepilko
Assam Boudjelthia
BogDan Vatra
Burak Hancerli
Christian Kandeler
Christian Stenger
Cristian Adam
Cristián Maureira-Fredes
David Schulz
Dmitry Bravikov
Eike Ziller
Fabian Kosmale
Fawzi Mohamed
Henning Gruendl
Jaroslaw Kobus
Jussi Witick
Kai Köhne
Knud Dollereder
Knut Petter Svendsen
Leena Miettinen
Łukasz Wojniłowicz
Mahmoud Badri
Marc Mutz
Marco Bubke
Marcus Tillmanns
Mats Honkamaa
Miikka Heikkinen
Mikhail Khachayants
Orgad Shaneh
Oswald Buddenhagen
Philip Van Hoof
Pranta Dastider
Robert Löhning
Sami Shalayel
Samuel Gaist
Samuel Ghinet
Sergey Levin
Sivert Krøvel
Tasuku Suzuki
Thiago Macieira
Thomas Hartmann
Tim Jenssen
Tomáš Juřena
Topi Reinio
Ulf Hermann
Vikas Pachdha
Xavier Besson
Yasser Grimes

102
dist/changelog/changes-9.0.2.md vendored Normal file
View File

@@ -0,0 +1,102 @@
Qt Creator 9.0.2
================
Qt Creator version 9.0.2 contains bug fixes.
The most important changes are listed in this document. For a complete list of
changes, see the Git log for the Qt Creator sources that you can check out from
the public Git repository. For example:
git clone git://code.qt.io/qt-creator/qt-creator.git
git log --cherry-pick --pretty=oneline origin/v9.0.1..v9.0.2
General
-------
* Fixed that the UI language selection dropdown could be empty
(QTCREATORBUG-28591)
Editing
-------
* Fixed that the `delete` key on number blocks did not work with multiple
cursors (QTCREATORBUG-28584)
* Fixed a crash with snippets (QTCREATORBUG-28631)
* Fixed a freeze when pressing `Ctrl+D` (QTCREATORBUG-28709)
### C++
* Fixed the update of the code style preview (QTCREATORBUG-28621)
* Fixed some selection rendering issues in code that is not recognized by the
code model (QTCREATORBUG-28637, QTCREATORBUG-28639)
* ClangFormat
* Fixed a crash when indenting (QTCREATORBUG-28600)
### Language Server Protocol
* Fixed a wrong response that can crash language servers (QTCREATORBUG-27856,
QTCREATORBUG-28598)
Projects
--------
### CMake
* Fixed that the path to Ninja from the online installer was not passed to CMake
when using a MSVC toolchain (QTCREATORBUG-28685)
* Fixed the editing of `CMAKE_PREFIX_PATH` in the `Initial Configuration`
(QTCREATORBUG-28779)
* Presets
* Fixed that relative compiler paths in presets were not resolved correctly
(QTCREATORBUG-28602)
* Fixed that changes were not reflected in the kit (QTCREATORBUG-28609)
### Qmake
* Fixed a crash when connecting or disconnecting Android devices
(QTCREATORBUG-28370)
Test Integration
----------------
### QtTest
* Fixed the checked state in the tree
* Fixed the handling of data tags with spaces
Platforms
---------
### macOS
* Fixed that macOS could ask over and over again for permissions
(QTCREATORBUG-26705)
* Fixed that opening terminals failed on macOS 13 (QTCREATORBUG-28683)
* Fixed the detection of CMake from Homebrew on ARM Macs
### Android
* Fixed that `ANDROID_PLATFORM` was missing for NDK 23b and later
(QTCREATORBUG-28624)
### Remote Linux
* Fixed that opening a file dialog unnecessarily asked for passwords for
remote devices
Credits for these changes go to:
--------------------------------
Alexey Edelev
André Pönitz
Artem Sokolovskii
Christian Kandeler
Christian Stenger
Cristian Adam
David Schulz
Eike Ziller
Leena Miettinen
Marco Bubke
Marcus Tillmanns
Patrik Teivonen
Robert Löhning
Tim Jenssen

View File

@@ -1,3 +1,3 @@
// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0

View File

@@ -12,5 +12,8 @@
<true/>
<key>com.apple.security.automation.apple-events</key>
<true/>
<!-- RTA needs Squish to inject itself via DYLD_* -->
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
</dict>
</plist>

View File

@@ -25,7 +25,9 @@ function(_find_all_includes _ret_includes _ret_framework_paths)
# framework path
if (APPLE)
get_target_property(_qt_target Qt5::Core LOCATION) # <fw_path>/QtCore.framework/QtCore
# version-less target Qt::Core is an interface library that links to QtX::Core
get_target_property(_qt_core Qt::Core INTERFACE_LINK_LIBRARIES)
get_target_property(_qt_target ${_qt_core} LOCATION) # <fw_path>/QtCore.framework/QtCore
get_filename_component(_qt_loc "${_qt_target}" DIRECTORY)
set("${_ret_framework_paths}" "${_qt_loc}/.." PARENT_SCOPE)
endif()

View File

@@ -2,10 +2,11 @@ cmake_minimum_required(VERSION 3.16)
project(accelbubble VERSION 0.1 LANGUAGES CXX)
set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 6.2 COMPONENTS Quick Sensors Svg Xml REQUIRED)
find_package(Qt6 6.4 REQUIRED COMPONENTS Quick Sensors Svg Xml)
qt_standard_project_setup()
qt_add_executable(appaccelbubble
main.cpp
@@ -15,7 +16,7 @@ qt_add_executable(appaccelbubble
qt_add_qml_module(appaccelbubble
URI accelbubble
VERSION 1.0
QML_FILES main.qml
QML_FILES Main.qml
RESOURCES Bluebubble.svg
)
@@ -37,4 +38,8 @@ target_compile_definitions(appaccelbubble
target_link_libraries(appaccelbubble
PRIVATE Qt6::Quick Qt6::Sensors Qt6::Svg Qt6::Xml)
install(TARGETS appaccelbubble
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
qt_finalize_executable(appaccelbubble)

View File

@@ -2,10 +2,11 @@ cmake_minimum_required(VERSION 3.16)
project(transitions VERSION 0.1 LANGUAGES CXX)
set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 6.2 COMPONENTS Quick REQUIRED)
find_package(Qt6 6.4 REQUIRED COMPONENTS Quick)
qt_standard_project_setup()
qt_add_executable(apptransitions
main.cpp
@@ -14,7 +15,7 @@ qt_add_executable(apptransitions
qt_add_qml_module(apptransitions
URI transitions
VERSION 1.0
QML_FILES main.qml Page.qml
QML_FILES Main.qml Page.qml
RESOURCES qt-logo.png
)
@@ -26,7 +27,10 @@ set_target_properties(apptransitions PROPERTIES
WIN32_EXECUTABLE TRUE
)
target_compile_definitions(apptransitions
PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(apptransitions
PRIVATE Qt6::Quick)
PRIVATE Qt6::Quick
)
install(TARGETS apptransitions
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

@@ -1,2 +1,3 @@
{HTML.extraimages,qhp.QtCreator.extraFiles} += \
images/commercial.png
images/commercial.png \
images/5OiIqFTjUZI.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Some files were not shown because too many files have changed in this diff Show More