You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Installed system-provider packages must support CMake versions whose FindSQLite3 module exposes SQLite::SQLite3 instead of SQLite3::SQLite3. Normalize the legacy target to the SDK's canonical target so Linux system mode remains optional and portable.
Files changed:
- cmake/MatsdkDependencyTargets.cmake
- cmake/MSTelemetryConfig.cmake.in
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Require CMake 4.3 for builds and installed-package consumers so FindSQLite3 provides SQLite3::SQLite3 without a legacy compatibility alias. Pin CI to CMake 4.4.2 and use the newest sdkmanager release, CMake 4.1.2, for Android source builds where system SQLite discovery is not used.
Files changed: root/package dependency configuration, CI workflows and setup action, Android build entry points, standalone examples/tests/wrappers, and build documentation.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Persist the pip-installed CMake binary directory through GITHUB_PATH so subsequent workflow steps use 4.4.2 instead of the runner default. Avoid the removed Android SDK 'tools' package while retaining platform-tools and the explicitly installed NDK and CMake packages.
Files changed: .github/actions/setup-cmake/action.yml, .github/workflows/build-android.yml, and .github/workflows/codeql-analysis.yml.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Make the supported build.sh setup path install verified CMake 4.4.2 binaries on x86_64 and arm64 when the host provides an older release. Preserve caller-provided modern CMake paths and document the CMake 4.3 floor.
Files changed: build.sh, tools/setup-buildtools.sh, and docs/linux-setup-build.md.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Version the build-tools marker so existing checkouts rerun setup for the CMake 4.4.2 requirement. Propagate installer failures without writing a success marker, and give unsupported architectures an actionable CMake 4.3+ requirement.
Files changed: build.sh, tools/build-common.sh, and tools/setup-buildtools.sh.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Allow the Android embedding test and downstream Android source consumers to enter the root project with sdkmanager's CMake 4.1.2. The root project continues to reject versions below 4.3 on non-Android platforms.
Files changed: tests/embedding/CMakeLists.txt.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Write CMake version marker only after successful setup
build.sh:167
This unconditionally records cmake-4.4.2 even when the NOROOT branch deliberately skipped installation. If that run leaves an older CMake on PATH, a later run without noroot sees the matching marker, skips setup, and fails the new 4.3 requirement instead of installing CMake. Only write the version marker after a successful setup (and leave it stale/empty when setup was skipped).
Resolve the Windows workflow conflict while preserving CMake setup and the WinHTTP/WinInet matrix. Set the desktop API floor to Windows 8.1 and remove the pre-8.1 WinHTTP proxy fallback so CI enforces the supported contract.
Files changed: merged upstream main; .github/workflows/test-win-latest.yml; README.md; lib/CMakeLists.txt; lib/http/HttpClient_WinHttp.cpp; Solutions Windows project files; tests/headers/check_public_headers.cmd.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Version and validate the Android CMake/NDK marker so stale setup state cannot hide missing tools. Provision CMake for the Linux no-exceptions job that failed under the runner's 3.31 release.
Raise desktop builds and header gates to the Windows 10 API floor. Remove the Windows 7 runtime probe, hand-defined network-cost GUID, and obsolete warning suppressions in favor of the SDK IID.
Files changed: Android and Linux setup paths, Windows workflows/docs/project definitions, WinHTTP and network detection sources, and the public-header gate.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: fa477318-3257-45cd-8711-d5214b5cb119
Expose the public mbedTLS threading macros to curl so both dependencies compile public context types with identical layouts and avoid an entropy-context overflow.
Files changed: cmake/MatsdkFetchCurl.cmake.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: fa477318-3257-45cd-8711-d5214b5cb119
iOS wrapper treats stale unversioned buildtools marker as valid
cmake/MatsdkRequirePresetSupport.cmake:1
Raising this check leaves build-ios.sh unable to migrate an existing checkout: that wrapper still treats any .buildtools file as valid (build-ios.sh:89-94), while older runs created an unversioned/empty marker. With CMake 3.x and that marker present, the wrapper skips Homebrew setup and now fails here on every run. Version or validate the iOS marker just as build.sh and the Android setup now do.
Added commands to install Android SDK platforms and sources.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Add uuid to the Windows target dependencies so SDK-declared COM GUID symbols resolve for CMake consumers instead of relying on toolchain defaults.
Files changed:
- lib/CMakeLists.txt: propagate the Windows UUID import library through mat.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c72c9f67-f709-4c28-a8fa-809e0aefc14d
Returning a nonzero status here does not stop build.sh: its only caller at build.sh:155 invokes this function as an unchecked command, and that script does not enable set -e. An installer failure therefore prints the message and avoids the marker, but the build continues anyway. Update the caller to exit when this function fails (while preserving return 1 in this sourced helper).
Disable curl's build-host CA auto-detection and remove generated CA path macros so redistributable Linux binaries rely on the target host's runtime CA selection.
Files changed:
- cmake/MatsdkFetchCurl.cmake: sanitize fetched curl CA defaults and enforce that no build-time path remains.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c72c9f67-f709-4c28-a8fa-809e0aefc14d
Integrate PR microsoft#1537 into PR microsoft#1536 so the dependency and platform updates ship with the leak-analysis work. Resolve the network detector overlap in favor of the leak-safe WinRT lifecycle, narrow the SEH warning suppressions, and consistently enforce the Windows 10 API floor without legacy Windows fallbacks.
Files changed: Windows workflows/projects/docs, CMake dependency setup, Android build setup, WinHTTP transport, and WinRT network detection.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d2b55402-0dec-4ad7-bf0f-d30d92c96171
Integrated into #1536 in merge commit 330c78c. The conflict was resolved in favor of #1536's leak-safe WinRT network detector, and the combined branch now consistently targets Windows 10 or newer without legacy Windows 7/8/8.1 fallbacks.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
git diff --check