diff --git a/.github/workflows/github-cxx-qt-tests.yml b/.github/workflows/github-cxx-qt-tests.yml index 0fe826435..ad0ac15b8 100644 --- a/.github/workflows/github-cxx-qt-tests.yml +++ b/.github/workflows/github-cxx-qt-tests.yml @@ -8,7 +8,7 @@ name: cxx-qt tests on: push: branches: - - 'main' + - "main" - '[0-9]+\.[0-9]+\.x' pull_request: merge_group: @@ -20,7 +20,7 @@ on: inputs: tmate_debugging: type: boolean - description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' + description: "Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)" required: false default: false @@ -61,7 +61,7 @@ jobs: - uses: actions/checkout@v6 - uses: DavidAnson/markdownlint-cli2-action@v22 with: - globs: '**/*.md' + globs: "**/*.md" shellcheck: runs-on: ubuntu-24.04 @@ -75,7 +75,7 @@ jobs: coverage: # Run after pre checks - needs: [ clang_format, license_check, rust_format_check, markdown_lint, shellcheck ] + needs: [clang_format, license_check, rust_format_check, markdown_lint, shellcheck] runs-on: ubuntu-24.04 steps: - name: Checkout repository @@ -92,7 +92,8 @@ jobs: run: | # Note that the llvm version needs to match, see the link above rustup default 1.77.2 - cargo install --locked --version 0.8.20 grcov + cargo add --version 0.4.16 globset + cargo install --version 0.8.20 grcov rustup component add rustfmt # Ensure we do not have any existing coverage files - run: rm -f coverage/*.profraw @@ -156,11 +157,11 @@ jobs: - name: "Build Rust tools" if: steps.rust-tools-cache.outputs.cache-hit != 'true' # Do not build with storage backends enabled, we only need local - # cargo install --locked --no-default-features --version 0.9.1 sccache + # cargo install --no-default-features --version 0.9.1 sccache run: | - cargo install --locked --no-default-features --git=https://github.com/ahayzen-kdab/sccache --branch=2092-ignore-notfound-errors sccache - cargo install --locked --version 0.4.36 mdbook - cargo install --locked --version 0.7.7 mdbook-linkcheck + cargo install --no-default-features --git=https://github.com/ahayzen-kdab/sccache --branch=2092-ignore-notfound-errors sccache + cargo install --version 0.4.36 mdbook + cargo install --version 0.7.7 mdbook-linkcheck # We want our compiler cache to always update to the newest state. # The best way for us to achieve this is to **always** update the cache after every landed commit. # That way it will closely follow our development. @@ -203,7 +204,7 @@ jobs: ./emsdk/emsdk install 2.0.14 ./emsdk/emsdk activate 2.0.14 - name: "Install Dependencies" - run: | + run: | sudo apt-get update && sudo apt-get install -y ninja-build pip install --user --break-system-packages clang-format==18.1.8 test -x ~/.local/bin/clang-format @@ -211,11 +212,11 @@ jobs: - name: Install Qt WASM & Desktop uses: jurplel/install-qt-action@v4 with: - version: '6.2.4' - host: 'linux' - target: 'desktop' - arch: 'wasm_32' - tools: 'tools_cmake' + version: "6.2.4" + host: "linux" + target: "desktop" + arch: "wasm_32" + tools: "tools_cmake" cache: true - name: "Configure" # FIXME: ninja is not being found? @@ -273,9 +274,9 @@ jobs: - name: Ubuntu 24.04 (gcc) Qt5 os: ubuntu-24.04 qt_version: 5 - aqt_version: '5.15.2' - aqt_arch: 'gcc_64' - aqt_host: 'linux' + aqt_version: "5.15.2" + aqt_arch: "gcc_64" + aqt_host: "linux" cores: 4 # FIXME: valgrind complains about invalid debuginfo. Might be fixed when Ubuntu updates to valgrind 3.20 # https://bugs.kde.org/show_bug.cgi?id=452758 @@ -290,9 +291,9 @@ jobs: - name: Ubuntu 24.04 (gcc) Qt6 os: ubuntu-24.04 qt_version: 6 - aqt_version: '6.10.1' - aqt_arch: 'linux_gcc_64' - aqt_host: 'linux' + aqt_version: "6.10.1" + aqt_arch: "linux_gcc_64" + aqt_host: "linux" cores: 4 # FIXME: valgrind complains about invalid debuginfo. Might be fixed when Ubuntu updates to valgrind 3.20 # https://bugs.kde.org/show_bug.cgi?id=452758 @@ -305,19 +306,19 @@ jobs: rustc_wrapper: sccache build_type: Release packages-extra: >- - libgl1-mesa-dev - libvulkan-dev - libxkbcommon-dev + libgl1-mesa-dev + libvulkan-dev + libxkbcommon-dev - name: macOS 15 (clang) Qt5 os: macos-15-intel qt_version: 5 - aqt_version: '5.15.2' - aqt_arch: 'clang_64' - aqt_host: 'mac' + aqt_version: "5.15.2" + aqt_arch: "clang_64" + aqt_host: "mac" dyld_framework_path: /Users/runner/work/cxx-qt/Qt/5.15.2/clang_64/lib # https://doc.qt.io/qt-5/macos.html#target-platforms - macosx_deployment_target: '10.13' + macosx_deployment_target: "10.13" cores: 3 # FIXME: qmltestrunner fails to import QtQuick module # https://github.com/KDAB/cxx-qt/issues/110 @@ -334,12 +335,12 @@ jobs: - name: macOS 15 (clang) Qt6 os: macos-15 qt_version: 6 - aqt_version: '6.10.1' - aqt_arch: 'clang_64' - aqt_host: 'mac' + aqt_version: "6.10.1" + aqt_arch: "clang_64" + aqt_host: "mac" dyld_framework_path: /Users/runner/work/cxx-qt/Qt/6.10.1/macos/lib # https://doc.qt.io/qt-6.7/macos.html#target-platforms - macosx_deployment_target: '13.0' + macosx_deployment_target: "13.0" cores: 3 # FIXME: qmltestrunner fails to import QtQuick module # https://github.com/KDAB/cxx-qt/issues/110 @@ -357,9 +358,9 @@ jobs: - name: Windows 2022 (MSVC) Qt5 os: windows-2022 qt_version: 5 - aqt_version: '5.15.2' - aqt_arch: 'win64_msvc2019_64' - aqt_host: 'windows' + aqt_version: "5.15.2" + aqt_arch: "win64_msvc2019_64" + aqt_host: "windows" cores: 4 ctest_args: --exclude-regex '^(cargo_clippy|cargo_doc|cargo_build_rerun|.*valgrind)$' exe_suffix: .exe @@ -375,9 +376,9 @@ jobs: - name: Windows 2022 (MSVC2019) Qt6 os: windows-2022 qt_version: 6 - aqt_version: '6.7.3' - aqt_arch: 'win64_msvc2019_64' - aqt_host: 'windows' + aqt_version: "6.7.3" + aqt_arch: "win64_msvc2019_64" + aqt_host: "windows" cores: 4 ctest_args: --exclude-regex '^(cargo_clippy|cargo_doc|cargo_build_rerun|.*valgrind)$' exe_suffix: .exe @@ -394,9 +395,9 @@ jobs: - name: Windows 2022 (MSVC2022) Qt6 Debug os: windows-2022 qt_version: 6 - aqt_version: '6.10.1' - aqt_arch: 'win64_msvc2022_64' - aqt_host: 'windows' + aqt_version: "6.10.1" + aqt_arch: "win64_msvc2022_64" + aqt_host: "windows" cores: 4 ctest_args: --exclude-regex '^(cargo_clippy|cargo_doc|cargo_build_rerun|.*valgrind)$' exe_suffix: .exe @@ -413,192 +414,192 @@ jobs: runs-on: ${{ matrix.os }} name: ${{ matrix.name }} env: - # ld: warning: object file (LIB) was built for newer macOS version (12.7) than being linked (12.0) - MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }} - # sccache is around 180-300M in size for a normal build - # With GitHub caches we have a 10 GB limit / 6 conditions = 1666 MB - # Allow a larger cache size so that code in branches can be cached - # but still leave room for the tools cache - SCCACHE_CACHE_SIZE: 600M - SCCACHE_ERROR_LOG: ${{ matrix.sccache_log_path }} + # ld: warning: object file (LIB) was built for newer macOS version (12.7) than being linked (12.0) + MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }} + # sccache is around 180-300M in size for a normal build + # With GitHub caches we have a 10 GB limit / 6 conditions = 1666 MB + # Allow a larger cache size so that code in branches can be cached + # but still leave room for the tools cache + SCCACHE_CACHE_SIZE: 600M + SCCACHE_ERROR_LOG: ${{ matrix.sccache_log_path }} steps: - - name: "Clone Git repository" - uses: actions/checkout@v6 - # Ensure clippy and rustfmt is installed, they should come from github runner - # clippy version needs to be 1.78.0 for the MSRV lint - # - # Note we still need rustfmt for the cxx-qt-gen tests - - name: "Install Rust toolchain" - run: | - rustup toolchain add 1.78.0 --component clippy - rustup default 1.77.2 - rustup component add rustfmt - - - name: "Rust tools cache" - uses: actions/cache@v5 - id: rust-tools-cache - with: - path: | - ${{ matrix.cargo_dir }}/bin/sccache${{ matrix.exe_suffix }} - ${{ matrix.cargo_dir }}/bin/mdbook${{ matrix.exe_suffix }} - ${{ matrix.cargo_dir }}/bin/mdbook-linkcheck${{ matrix.exe_suffix }} - key: ${{ matrix.os }}_sccache-0.9.1-patched_mdbook-0.4.36_mdbook-linkcheck-0.7.7 - - name: "Build Rust tools" - if: steps.rust-tools-cache.outputs.cache-hit != 'true' - # Do not build with storage backends enabled, we only need local - # cargo install --locked --no-default-features --version 0.9.1 sccache - run: | - cargo install --locked --no-default-features --git=https://github.com/ahayzen-kdab/sccache --branch=2092-ignore-notfound-errors sccache - cargo install --locked --version 0.4.36 mdbook - cargo install --locked --version 0.7.7 mdbook-linkcheck - - # We want our compiler cache to always update to the newest state. - # The best way for us to achieve this is to **always** update the cache after every landed commit. - # That way it will closely follow our development. - # And if a PR diverges a lot with its cache that's not a big deal, as it will be merged eventually. - # - # This is a workaround for the fact that GH doesn't support updating existing caches. - # See: https://github.com/azu/github-actions-overwrite-cache-example - # - # Ideally we'd like to use this: - # - name: "Compiler cache" - # uses: actions/cache@v5 - # with: - # update: true <------- THIS DOESN'T EXIST YET - # path: ${{ matrix.compiler_cache_path }} - # key: ${{ matrix.name }}_compiler_cache - - name: "Restore Compiler Cache" - id: compiler-cache-restore - uses: actions/cache/restore@v5 - with: - path: ${{ matrix.compiler_cache_path }} - key: ${{ matrix.name }}_compiler_cache - - - name: "[Windows] Start sccache server" - # If the compiler cache couldn't be restored, we have to create the cache path, - # as otherwise the server startup fails. - if: runner.os == 'Windows' - run: | - md ${{ matrix.compiler_cache_path }} -ea 0 - sccache --start-server - - - name: "[Other] Start sccache server" - # If the compiler cache couldn't be restored, we have to create the cache path, - # as otherwise the server startup fails. - if: runner.os != 'Windows' - run: | - mkdir -p ${{ matrix.compiler_cache_path }} - sccache --start-server - - - name: "Install clang-format" - # Note ensure that clang-format runner is updated too - run: | - pip install --user --break-system-packages --verbose clang-format==18.1.8 - echo "Checking for path: ${{ matrix.clang_format_path }}" - test -x ${{ matrix.clang_format_path }} - - # Version info found using https://ddalcino.github.io/aqt-list-server/ - - name: "Install Qt" - uses: jurplel/install-qt-action@v4 - with: - version: ${{ matrix.aqt_version }} - host: ${{ matrix.aqt_host }} - target: 'desktop' - arch: ${{ matrix.aqt_arch }} - tools: 'tools_cmake' - cache: true - - - name: "[Ubuntu] Install dependencies" - if: runner.os == 'Linux' - run: >- - sudo apt-get update && - sudo apt-get install -y - ninja-build - libssl-dev - pkg-config - valgrind - ${{ matrix.packages-extra }} - - # hack around https://bugs.launchpad.net/ubuntu/+source/qtchooser/+bug/1964763 - - name: "[Ubuntu] Add Qt6 tools to PATH" - if: runner.os == 'Linux' && matrix.qt_version == 6 - run: echo "PATH=/usr/lib/qt6/bin:${PATH}" >> "${GITHUB_ENV}" - - - name: "[macOS] Install dependencies" - if: runner.os == 'macOS' - # automake is needed for building libicu which is a dependency of Qt - run: brew install automake autoconf-archive ninja - - # Required for CMake to find Ninja - - name: "[Windows] Set up MSVC Developer Command Prompt" - if: runner.os == 'Windows' - uses: seanmiddleditch/gha-setup-vsdevenv@v5 - - # Enable tmate debugging of manually-triggered workflows if the input option was provided - - name: Setup tmate session - if: ${{ github.event_name == 'workflow_dispatch' && inputs.tmate_debugging }} - uses: mxschmitt/action-tmate@v3 - - # Ninja is required on Windows for CMAKE_CXX_COMPILER_LAUNCHER to work for using sccache. - - name: "Configure" - run: >- - cmake ${{ matrix.cmake_args }} - -D USE_QT5=${{ matrix.qt_version == 5 }} - -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} - -G Ninja - -S . -B build - env: - RUSTC_WRAPPER: ${{ matrix.rustc_wrapper }} - CC: ${{ matrix.cc }} - CXX: ${{ matrix.cxx }} - - name: "Build" - run: cmake --build build --config ${{ matrix.build_type }} --parallel ${{ matrix.cores }} - env: - RUSTC_WRAPPER: ${{ matrix.rustc_wrapper }} - - - name: "Print compiler cache statistics" - run: sccache --show-stats - - - name: "Test" - run: ctest ${{ matrix.ctest_args }} -C ${{ matrix.build_type }} -T test --output-on-failure --parallel ${{ matrix.cores }} - working-directory: ./build - env: - # Use the version of clang-format from pip - CLANG_FORMAT_BINARY: ${{ matrix.clang_format_path }} - RUSTC_WRAPPER: ${{ matrix.rustc_wrapper }} - QT_QPA_PLATFORM: ${{ matrix.qt_qpa_platform }} - QT_SELECT: qt${{ matrix.qt_version }} - DYLD_FRAMEWORK_PATH: ${{ matrix.dyld_framework_path }} - - - name: "Print compiler cache statistics" - run: sccache --show-stats - - # This is a workaround for the fact that GH doesn't support updating existing caches. - # See: https://github.com/azu/github-actions-overwrite-cache-example - - name: "Delete previous compiler cache" - # Updating the cache doesn't work from forks - # So update it once it's merged into the repo or via scheduled workflows or manual triggers - if: ${{ steps.compiler-cache-restore.outputs.cache-hit && (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && github.ref_name == 'main' }} - continue-on-error: true - run: | - gh extension install actions/gh-actions-cache - gh actions-cache delete "${{ matrix.name }}_compiler_cache" --confirm - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: "Save Compiler Cache" - # Updating the cache doesn't work from forks - # So update it once it's merged into the repo or via scheduled workflows or manual triggers - if: ${{ (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && github.ref_name == 'main' }} - uses: actions/cache/save@v5 - with: - path: ${{ matrix.compiler_cache_path }} - key: ${{ matrix.name }}_compiler_cache - - - name: Upload GitHub Actions artifacts of sccache debug log - if: always() - uses: actions/upload-artifact@v6 - with: - name: sccache_log_${{ matrix.name }} - path: ${{ matrix.sccache_log_path }} - if-no-files-found: ignore + - name: "Clone Git repository" + uses: actions/checkout@v6 + # Ensure clippy and rustfmt is installed, they should come from github runner + # clippy version needs to be 1.78.0 for the MSRV lint + # + # Note we still need rustfmt for the cxx-qt-gen tests + - name: "Install Rust toolchain" + run: | + rustup toolchain add 1.78.0 --component clippy + rustup default 1.77.2 + rustup component add rustfmt + + - name: "Rust tools cache" + uses: actions/cache@v5 + id: rust-tools-cache + with: + path: | + ${{ matrix.cargo_dir }}/bin/sccache${{ matrix.exe_suffix }} + ${{ matrix.cargo_dir }}/bin/mdbook${{ matrix.exe_suffix }} + ${{ matrix.cargo_dir }}/bin/mdbook-linkcheck${{ matrix.exe_suffix }} + key: ${{ matrix.os }}_sccache-0.9.1-patched_mdbook-0.4.36_mdbook-linkcheck-0.7.7 + - name: "Build Rust tools" + if: steps.rust-tools-cache.outputs.cache-hit != 'true' + # Do not build with storage backends enabled, we only need local + # cargo install --no-default-features --version 0.9.1 sccache + run: | + cargo install --no-default-features --git=https://github.com/ahayzen-kdab/sccache --branch=2092-ignore-notfound-errors sccache + cargo install --version 0.4.36 mdbook + cargo install --version 0.7.7 mdbook-linkcheck + + # We want our compiler cache to always update to the newest state. + # The best way for us to achieve this is to **always** update the cache after every landed commit. + # That way it will closely follow our development. + # And if a PR diverges a lot with its cache that's not a big deal, as it will be merged eventually. + # + # This is a workaround for the fact that GH doesn't support updating existing caches. + # See: https://github.com/azu/github-actions-overwrite-cache-example + # + # Ideally we'd like to use this: + # - name: "Compiler cache" + # uses: actions/cache@v5 + # with: + # update: true <------- THIS DOESN'T EXIST YET + # path: ${{ matrix.compiler_cache_path }} + # key: ${{ matrix.name }}_compiler_cache + - name: "Restore Compiler Cache" + id: compiler-cache-restore + uses: actions/cache/restore@v5 + with: + path: ${{ matrix.compiler_cache_path }} + key: ${{ matrix.name }}_compiler_cache + + - name: "[Windows] Start sccache server" + # If the compiler cache couldn't be restored, we have to create the cache path, + # as otherwise the server startup fails. + if: runner.os == 'Windows' + run: | + md ${{ matrix.compiler_cache_path }} -ea 0 + sccache --start-server + + - name: "[Other] Start sccache server" + # If the compiler cache couldn't be restored, we have to create the cache path, + # as otherwise the server startup fails. + if: runner.os != 'Windows' + run: | + mkdir -p ${{ matrix.compiler_cache_path }} + sccache --start-server + + - name: "Install clang-format" + # Note ensure that clang-format runner is updated too + run: | + pip install --user --break-system-packages --verbose clang-format==18.1.8 + echo "Checking for path: ${{ matrix.clang_format_path }}" + test -x ${{ matrix.clang_format_path }} + + # Version info found using https://ddalcino.github.io/aqt-list-server/ + - name: "Install Qt" + uses: jurplel/install-qt-action@v4 + with: + version: ${{ matrix.aqt_version }} + host: ${{ matrix.aqt_host }} + target: "desktop" + arch: ${{ matrix.aqt_arch }} + tools: "tools_cmake" + cache: true + + - name: "[Ubuntu] Install dependencies" + if: runner.os == 'Linux' + run: >- + sudo apt-get update && + sudo apt-get install -y + ninja-build + libssl-dev + pkg-config + valgrind + ${{ matrix.packages-extra }} + + # hack around https://bugs.launchpad.net/ubuntu/+source/qtchooser/+bug/1964763 + - name: "[Ubuntu] Add Qt6 tools to PATH" + if: runner.os == 'Linux' && matrix.qt_version == 6 + run: echo "PATH=/usr/lib/qt6/bin:${PATH}" >> "${GITHUB_ENV}" + + - name: "[macOS] Install dependencies" + if: runner.os == 'macOS' + # automake is needed for building libicu which is a dependency of Qt + run: brew install automake autoconf-archive ninja + + # Required for CMake to find Ninja + - name: "[Windows] Set up MSVC Developer Command Prompt" + if: runner.os == 'Windows' + uses: seanmiddleditch/gha-setup-vsdevenv@v5 + + # Enable tmate debugging of manually-triggered workflows if the input option was provided + - name: Setup tmate session + if: ${{ github.event_name == 'workflow_dispatch' && inputs.tmate_debugging }} + uses: mxschmitt/action-tmate@v3 + + # Ninja is required on Windows for CMAKE_CXX_COMPILER_LAUNCHER to work for using sccache. + - name: "Configure" + run: >- + cmake ${{ matrix.cmake_args }} + -D USE_QT5=${{ matrix.qt_version == 5 }} + -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} + -G Ninja + -S . -B build + env: + RUSTC_WRAPPER: ${{ matrix.rustc_wrapper }} + CC: ${{ matrix.cc }} + CXX: ${{ matrix.cxx }} + - name: "Build" + run: cmake --build build --config ${{ matrix.build_type }} --parallel ${{ matrix.cores }} + env: + RUSTC_WRAPPER: ${{ matrix.rustc_wrapper }} + + - name: "Print compiler cache statistics" + run: sccache --show-stats + + - name: "Test" + run: ctest ${{ matrix.ctest_args }} -C ${{ matrix.build_type }} -T test --output-on-failure --parallel ${{ matrix.cores }} + working-directory: ./build + env: + # Use the version of clang-format from pip + CLANG_FORMAT_BINARY: ${{ matrix.clang_format_path }} + RUSTC_WRAPPER: ${{ matrix.rustc_wrapper }} + QT_QPA_PLATFORM: ${{ matrix.qt_qpa_platform }} + QT_SELECT: qt${{ matrix.qt_version }} + DYLD_FRAMEWORK_PATH: ${{ matrix.dyld_framework_path }} + + - name: "Print compiler cache statistics" + run: sccache --show-stats + + # This is a workaround for the fact that GH doesn't support updating existing caches. + # See: https://github.com/azu/github-actions-overwrite-cache-example + - name: "Delete previous compiler cache" + # Updating the cache doesn't work from forks + # So update it once it's merged into the repo or via scheduled workflows or manual triggers + if: ${{ steps.compiler-cache-restore.outputs.cache-hit && (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && github.ref_name == 'main' }} + continue-on-error: true + run: | + gh extension install actions/gh-actions-cache + gh actions-cache delete "${{ matrix.name }}_compiler_cache" --confirm + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: "Save Compiler Cache" + # Updating the cache doesn't work from forks + # So update it once it's merged into the repo or via scheduled workflows or manual triggers + if: ${{ (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && github.ref_name == 'main' }} + uses: actions/cache/save@v5 + with: + path: ${{ matrix.compiler_cache_path }} + key: ${{ matrix.name }}_compiler_cache + + - name: Upload GitHub Actions artifacts of sccache debug log + if: always() + uses: actions/upload-artifact@v6 + with: + name: sccache_log_${{ matrix.name }} + path: ${{ matrix.sccache_log_path }} + if-no-files-found: ignore diff --git a/.gitignore b/.gitignore index c7414eca1..654a44982 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ pip3/* rustup/* CMakeUserPresets.json CMakeLists.txt.user +Cargo.lock # clangd compile_commands.json diff --git a/CMakeLists.txt b/CMakeLists.txt index fa1adbf1d..60ca8fadd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,7 +49,7 @@ if(NOT USE_QT5) endif() if(NOT Qt6_FOUND) if(BUILD_WASM) - message(FATAL_ERROR + message(FATAL_ERROR "CXX-Qt for WebAssembly only currently supports Qt 6 builds." ) endif() @@ -149,10 +149,10 @@ set(CARGO_TARGET_DIR "${CMAKE_BINARY_DIR}/${BUILD_DIR}/cargo/build") if(BUILD_TESTING) # Add CMake tests for `cargo test/clippy/fmt/doc`. - add_test(NAME cargo_tests COMMAND cargo test --locked --release --all-features --target-dir ${CARGO_TARGET_DIR}) - add_test(NAME cargo_doc COMMAND cargo doc --locked --release --all-features --target-dir ${CARGO_TARGET_DIR}) + add_test(NAME cargo_tests COMMAND cargo test --release --all-features --target-dir ${CARGO_TARGET_DIR}) + add_test(NAME cargo_doc COMMAND cargo doc --release --all-features --target-dir ${CARGO_TARGET_DIR}) # Minimum clippy version for the incompatible_msrv lint is 1.78.0 - add_test(NAME cargo_clippy COMMAND cargo +1.78.0 clippy --locked --release --all-features --target-dir ${CARGO_TARGET_DIR} -- -D warnings) + add_test(NAME cargo_clippy COMMAND cargo +1.78.0 clippy --release --all-features --target-dir ${CARGO_TARGET_DIR} -- -D warnings) set_tests_properties(cargo_tests cargo_clippy PROPERTIES ENVIRONMENT_MODIFICATION "${CARGO_ENV}" @@ -160,16 +160,16 @@ if(BUILD_TESTING) set_tests_properties(cargo_doc PROPERTIES ENVIRONMENT_MODIFICATION "${CARGO_ENV};RUSTDOCFLAGS=set:--deny=warnings" ) - + # Ensure test inputs and outputs are formatted file(GLOB CXX_QT_GEN_TEST_INPUTS ${CMAKE_CURRENT_SOURCE_DIR}/crates/cxx-qt-gen/test_inputs/*.rs) file(GLOB CXX_QT_GEN_TEST_OUTPUTS ${CMAKE_CURRENT_SOURCE_DIR}/crates/cxx-qt-gen/test_outputs/*.rs) add_test(NAME cxx_qt_gen_test_inputs_gen COMMAND rustfmt --check ${CXX_QT_GEN_TEST_INPUTS}) add_test(NAME cxx_qt_gen_test_outputs_gen COMMAND rustfmt --check ${CXX_QT_GEN_TEST_OUTPUTS}) - + # Add test which checks that a build rerun doesn't recompile and uses caches instead add_test(NAME cargo_build_rerun COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/scripts/check_cargo_build_rerun.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${CARGO_TARGET_DIR}") - + # Ensure that cargo_build_rerun doesn't run while we are already building set_tests_properties(cargo_build_rerun PROPERTIES RUN_SERIAL TRUE) @@ -186,7 +186,7 @@ if(BUILD_TESTING) add_test(NAME example_cargo_without_cmake_qmllint_check COMMAND ${QMLLINT_COMMAND} --max-warnings 0 -I ${CARGO_TARGET_DIR}/cxxqt/qml_modules ${QMLLINT_QML_FILES}) # Add a fixture to so that this test can depend on cargo build being run before - add_test(NAME example_cargo_without_cmake_qmllint_check_fixture COMMAND cargo build -p qml-minimal-no-cmake --locked --release --all-features --target-dir ${CARGO_TARGET_DIR}) + add_test(NAME example_cargo_without_cmake_qmllint_check_fixture COMMAND cargo build -p qml-minimal-no-cmake --release --all-features --target-dir ${CARGO_TARGET_DIR}) set_tests_properties(example_cargo_without_cmake_qmllint_check_fixture PROPERTIES FIXTURES_SETUP fixture_cargo_without_cmake_build) set_tests_properties(example_cargo_without_cmake_qmllint_check PROPERTIES FIXTURES_REQUIRED fixture_cargo_without_cmake_build) diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index 73ec1274e..000000000 --- a/Cargo.lock +++ /dev/null @@ -1,1759 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anstyle" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" - -[[package]] -name = "anyhow" -version = "1.0.97" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" - -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener 2.5.3", - "futures-core", -] - -[[package]] -name = "async-channel" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-executor" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "slab", -] - -[[package]] -name = "async-global-executor" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" -dependencies = [ - "async-channel 2.3.1", - "async-executor", - "async-io", - "async-lock", - "blocking", - "futures-lite", - "once_cell", -] - -[[package]] -name = "async-io" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" -dependencies = [ - "async-lock", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix", - "slab", - "tracing", - "windows-sys", -] - -[[package]] -name = "async-lock" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" -dependencies = [ - "event-listener 5.4.0", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-std" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615" -dependencies = [ - "async-channel 1.9.0", - "async-global-executor", - "async-io", - "async-lock", - "crossbeam-utils", - "futures-channel", - "futures-core", - "futures-io", - "futures-lite", - "gloo-timers", - "kv-log-macro", - "log", - "memchr", - "once_cell", - "pin-project-lite", - "pin-utils", - "slab", - "wasm-bindgen-futures", -] - -[[package]] -name = "async-task" -version = "4.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "basic_cxx_only" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt-build", -] - -[[package]] -name = "basic_cxx_qt" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", - "serde", - "serde_json", -] - -[[package]] -name = "bitflags" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" - -[[package]] -name = "blocking" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" -dependencies = [ - "async-channel 2.3.1", - "async-task", - "futures-io", - "futures-lite", - "piper", -] - -[[package]] -name = "bumpalo" -version = "3.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" - -[[package]] -name = "bytemuck" -version = "1.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "byteorder-lite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" - -[[package]] -name = "bytes" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" - -[[package]] -name = "cc" -version = "1.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9" -dependencies = [ - "jobserver", - "libc", - "shlex", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-targets", -] - -[[package]] -name = "clang-format" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "696283b40e1a39d208ee614b92e5f6521d16962edeb47c48372585ec92419943" -dependencies = [ - "thiserror", -] - -[[package]] -name = "clap" -version = "4.5.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acebd8ad879283633b343856142139f2da2317c96b05b4dd6181c61e2480184" -dependencies = [ - "clap_builder", -] - -[[package]] -name = "clap_builder" -version = "4.5.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ba32cbda51c7e1dfd49acc1457ba1a7dec5b64fe360e828acb13ca8dc9c2f9" -dependencies = [ - "anstyle", - "clap_lex", - "strsim", -] - -[[package]] -name = "clap_lex" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" - -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - -[[package]] -name = "color_quant" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" - -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "cxx" -version = "1.0.146" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de88e785b0a1ce3f28af40f289e5f368a23528562db4c6837036d2dff9a5cbf" -dependencies = [ - "cc", - "cxxbridge-cmd", - "cxxbridge-flags", - "cxxbridge-macro", - "foldhash", - "link-cplusplus", -] - -[[package]] -name = "cxx-gen" -version = "0.7.140" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3474c45958d2260d293bf2e1b5dd10a1a8369007a1146b1322fc4de789445b1c" -dependencies = [ - "codespan-reporting", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "cxx-qt" -version = "0.8.0" -dependencies = [ - "cxx", - "cxx-qt-build", - "cxx-qt-macro", - "qt-build-utils", - "static_assertions", - "thiserror", -] - -[[package]] -name = "cxx-qt-basics" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", -] - -[[package]] -name = "cxx-qt-build" -version = "0.8.0" -dependencies = [ - "cc", - "codespan-reporting", - "cxx-gen", - "cxx-qt-gen", - "proc-macro2", - "qt-build-utils", - "quote", - "serde", - "serde_json", -] - -[[package]] -name = "cxx-qt-gen" -version = "0.8.0" -dependencies = [ - "clang-format", - "convert_case", - "cxx-gen", - "indoc", - "pretty_assertions", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "cxx-qt-lib" -version = "0.8.0" -dependencies = [ - "bytes", - "chrono", - "cxx", - "cxx-qt", - "cxx-qt-build", - "http", - "image 0.24.9", - "image 0.25.5", - "qt-build-utils", - "rgb", - "serde", - "serde_json", - "time", - "url", - "uuid", -] - -[[package]] -name = "cxx-qt-lib-extras" -version = "0.8.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", -] - -[[package]] -name = "cxx-qt-macro" -version = "0.8.0" -dependencies = [ - "cxx-qt-gen", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "cxx-qt-todo-app" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", -] - -[[package]] -name = "cxx_qt_demo_threading" -version = "0.1.0" -dependencies = [ - "async-std", - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", - "futures", - "futures-timer", - "serde", - "serde_json", - "uuid", -] - -[[package]] -name = "cxxbridge-cmd" -version = "1.0.146" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a20529e8e70e5b11bb265ca926758ff22dac41008b94e831d043b8fef66d672" -dependencies = [ - "clap", - "codespan-reporting", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.146" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d85a5be275867aefa8fd18790d8f6c03915eb79619672d6b4b7d0fca5ecfa37" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.146" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d0f54b137299572d42ef838ad7beeff8eea80eced305a30431756c7f6bf20f" -dependencies = [ - "proc-macro2", - "quote", - "rustversion", - "syn", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - -[[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "errno" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" -dependencies = [ - "libc", - "windows-sys", -] - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "event-listener" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" -dependencies = [ - "event-listener 5.4.0", - "pin-project-lite", -] - -[[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foldhash" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-lite" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "gloo-timers" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - -[[package]] -name = "http" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "icu_collections" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - -[[package]] -name = "icu_normalizer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" - -[[package]] -name = "icu_properties" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" - -[[package]] -name = "icu_provider" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "idna" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "image" -version = "0.24.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" -dependencies = [ - "bytemuck", - "byteorder", - "color_quant", - "num-traits", -] - -[[package]] -name = "image" -version = "0.25.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" -dependencies = [ - "bytemuck", - "byteorder-lite", - "num-traits", -] - -[[package]] -name = "indoc" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" - -[[package]] -name = "itoa" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" - -[[package]] -name = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - -[[package]] -name = "libc" -version = "0.2.169" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" - -[[package]] -name = "link-cplusplus" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d240c6f7e1ba3a28b0249f774e6a9dd0175054b52dfbb61b16eb8505c3785c9" -dependencies = [ - "cc", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - -[[package]] -name = "litemap" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" - -[[package]] -name = "log" -version = "0.4.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" -dependencies = [ - "value-bag", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "once_cell" -version = "1.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" - -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "piper" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" -dependencies = [ - "atomic-waker", - "fastrand", - "futures-io", -] - -[[package]] -name = "polling" -version = "3.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" -dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi", - "pin-project-lite", - "rustix", - "tracing", - "windows-sys", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "pretty_assertions" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" -dependencies = [ - "diff", - "yansi", -] - -[[package]] -name = "prettyplease" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6837b9e10d61f45f987d50808f83d1ee3d206c66acf650c3e4ae2e1f6ddedf55" -dependencies = [ - "proc-macro2", - "syn", -] - -[[package]] -name = "proc-macro2" -version = "1.0.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "qml-minimal-no-cmake" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", -] - -[[package]] -name = "qml_features" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", - "serde", - "serde_json", -] - -[[package]] -name = "qml_minimal" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", -] - -[[package]] -name = "qml_minimal_plugin" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", -] - -[[package]] -name = "qml_multi_crates" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", - "sub1", - "sub2", - "sub3", -] - -[[package]] -name = "qt-build-utils" -version = "0.8.0" -dependencies = [ - "anyhow", - "cc", - "semver", - "serde", - "thiserror", -] - -[[package]] -name = "qt_types_standalone" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt-build", - "cxx-qt-gen", - "cxx-qt-lib", - "qt-build-utils", -] - -[[package]] -name = "quote" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rgb" -version = "0.8.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys", -] - -[[package]] -name = "rustversion" -version = "1.0.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" - -[[package]] -name = "ryu" -version = "1.0.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" - -[[package]] -name = "semver" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" - -[[package]] -name = "serde" -version = "1.0.217" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.217" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.138" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "span-inspector" -version = "0.8.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-gen", - "cxx-qt-lib", - "cxx-qt-macro", - "prettyplease", - "proc-macro2", - "syn", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "sub1" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", -] - -[[package]] -name = "sub2" -version = "0.1.0" -dependencies = [ - "cxx", - "cxx-qt", - "cxx-qt-build", - "cxx-qt-lib", -] - -[[package]] -name = "sub3" -version = "0.1.0" -dependencies = [ - "cxx-qt-build", -] - -[[package]] -name = "syn" -version = "2.0.98" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "synstructure" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "time" -version = "0.3.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" -dependencies = [ - "deranged", - "num-conv", - "powerfmt", - "serde", - "time-core", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "tinystr" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tracing" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" -dependencies = [ - "pin-project-lite", - "tracing-core", -] - -[[package]] -name = "tracing-core" -version = "0.1.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" - -[[package]] -name = "unicode-ident" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" - -[[package]] -name = "unicode-segmentation" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" - -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - -[[package]] -name = "url" -version = "2.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - -[[package]] -name = "uuid" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" -dependencies = [ - "serde", -] - -[[package]] -name = "value-bag" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" - -[[package]] -name = "wasm-bindgen" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" -dependencies = [ - "cfg-if", - "js-sys", - "once_cell", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "web-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "winapi-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys", -] - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - -[[package]] -name = "writeable" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" - -[[package]] -name = "yansi" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" - -[[package]] -name = "yoke" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zerofrom" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zerovec" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] diff --git a/Cargo.lock.license b/Cargo.lock.license deleted file mode 100644 index c36b6d662..000000000 --- a/Cargo.lock.license +++ /dev/null @@ -1,4 +0,0 @@ -# SPDX-FileCopyrightText: 2025 Klarälvdalens Datakonsult AB, a KDAB Group company -# SPDX-FileContributor: Andrew Hayzen -# -# SPDX-License-Identifier: MIT OR Apache-2.0 diff --git a/Cargo.toml b/Cargo.toml index f131067bf..fc76efe98 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -56,9 +56,9 @@ cc = { version = "1.0.100", features = ["parallel"] } # ./book/src/getting-started/4-cargo-executable.md # ./book/src/getting-started/5-cmake-integration.md # TODO: Can we re-export cxx from cxx-qt, so people don't need to manually add this anymore? -cxx = "1.0.144" -cxx-build = { version = "1.0.95", features = [ "parallel" ] } -cxx-gen = "0.7.121" +cxx = "1.0.176" +cxx-build = { version = "1.0.176", features = [ "parallel" ] } +cxx-gen = "0.7.176" proc-macro2 = "1.0" syn = { version = "2.0", features = ["extra-traits", "full"] } quote = "1.0" diff --git a/scripts/check_cargo_build_rerun.sh b/scripts/check_cargo_build_rerun.sh index b3e58b845..da8ffc7f1 100755 --- a/scripts/check_cargo_build_rerun.sh +++ b/scripts/check_cargo_build_rerun.sh @@ -16,7 +16,7 @@ cd "$SOURCE_FOLDER" # Ensure that we do see a "Compiling" in the output # as if we do it means we have a cargo::rerun-if-changed incorrectly function check_build_contains_compiling() { - BUILD=$(cargo build --locked --release --target-dir="$BUILD_FOLDER" -p qml-minimal-no-cmake 2>&1) + BUILD=$(cargo build --release --target-dir="$BUILD_FOLDER" -p qml-minimal-no-cmake 2>&1) if ! echo "$BUILD" | grep -q Compiling; then echo "cargo build is missing text 'Compiling', likely an incorrect cargo::rerun-if-changed in a build script." @@ -27,7 +27,7 @@ function check_build_contains_compiling() { # Ensure that we don't see any "Compiling" in the output # as if we do it means we have a cargo::rerun-if-changed incorrectly function check_build_no_compiling() { - BUILD=$(cargo build --locked --release --target-dir="$BUILD_FOLDER" -p qml-minimal-no-cmake 2>&1) + BUILD=$(cargo build --release --target-dir="$BUILD_FOLDER" -p qml-minimal-no-cmake 2>&1) if echo "$BUILD" | grep -q Compiling; then echo "cargo build contained text 'Compiling', likely an incorrect cargo::rerun-if-changed in a build script." @@ -36,7 +36,7 @@ function check_build_no_compiling() { } # Build once -cargo build --locked --release --target-dir="$BUILD_FOLDER" -p qml-minimal-no-cmake +cargo build --release --target-dir="$BUILD_FOLDER" -p qml-minimal-no-cmake # Build a second time check_build_no_compiling