Skip to content

Pin MSVC toolchain and add automatic min version check#2296

Merged
jianminzhao merged 1 commit into
masterfrom
msvcp_check_master
Jun 27, 2025
Merged

Pin MSVC toolchain and add automatic min version check#2296
jianminzhao merged 1 commit into
masterfrom
msvcp_check_master

Conversation

@borrrden

@borrrden borrrden commented Jun 27, 2025

Copy link
Copy Markdown
Member

This will run immediately on a process loading LiteCore into its process space.

# Conflicts:
#	CMakeLists.txt
#	jenkins/build_server_win.ps1

This will run immediately on a process loading LiteCore into its process space.

# Conflicts:
#	CMakeLists.txt
#	jenkins/build_server_win.ps1
@borrrden borrrden requested review from Copilot and jianminzhao June 27, 2025 00:00

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR pins the MSVC toolchain version and adds an automatic minimum version check for msvcp140.dll to help ensure process stability. Key changes include:

  • Updating job scripts (jenkins_win.ps1 and build_server_win.ps1) to use a fixed MSVC toolchain version.
  • Modifying the build configuration in CMakeLists.txt and platform_win.cmake to improve parallel build settings.
  • Introducing a new DLL (MSVC/dllmain.c) that performs a runtime version check on msvcp140.dll.

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
jenkins/jenkins_win.ps1 Adds toolchain version flag and uses NUMBER_OF_PROCESSORS for build.
jenkins/build_server_win.ps1 Introduces MSVC toolchain version specification in build script.
cmake/platform_win.cmake Adds parallel build options and updates Minsizerel flags.
MSVC/dllmain.c Implements automatic runtime version check for msvcp140.dll.
CMakeLists.txt Updates shared library build process to include dllmain.c on MSVC.

Comment thread MSVC/dllmain.c
Comment on lines +83 to +84
loaded.major, loaded.minor, loaded.revision, loaded.build, expected.major, expected.minor,
expected.revision, expected.build);

Copilot AI Jun 27, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The order of version numbers is inconsistent with the defined version structure; the 'build' value should be printed before the 'revision' to correctly reflect the version as major.minor.build.revision.

Suggested change
loaded.major, loaded.minor, loaded.revision, loaded.build, expected.major, expected.minor,
expected.revision, expected.build);
loaded.major, loaded.minor, loaded.build, loaded.revision, expected.major, expected.minor,
expected.build, expected.revision);

Copilot uses AI. Check for mistakes.
@cbl-bot

cbl-bot commented Jun 27, 2025

Copy link
Copy Markdown

Code Coverage Results:

Type Percentage
branches 65.87
functions 77.57
instantiations 70.21
lines 77.01
regions 72.95

@jianminzhao jianminzhao merged commit 466bed4 into master Jun 27, 2025
8 checks passed
@jianminzhao jianminzhao deleted the msvcp_check_master branch June 27, 2025 02:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants