-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add policies to build_info.cmake and write the file only once. #38629
Merged
Conversation
This file contains 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
BillyONeal
added
info:internal
This PR or Issue was filed by the vcpkg team.
category:infrastructure
Pertaining to the CI/Testing infrastrucutre
labels
May 8, 2024
FrankXie05
added
the
category:tool-update
The issue is with build tool or build script, which requires update or should be executed correctly
label
May 8, 2024
FrankXie05
approved these changes
May 9, 2024
Thanks for the review @FrankXie05 |
Jimmy-Hu
added a commit
to Jimmy-Hu/vcpkg
that referenced
this pull request
May 9, 2024
Add policies to build_info.cmake and write the file only once. (microsoft#38629)
BillyONeal
added a commit
to BillyONeal/vcpkg-tool
that referenced
this pull request
May 10, 2024
Depends on microsoft/vcpkg#38629 Depends on docs being added for the new policies. Also audited for: * Consistently following the 'IDE error format' pointing to portfile.cmake. * Consistently referring to the correct skip policy in the error message where applicable. * Printing paths and other information relative to ${CURRENT_PACKAGES_DIR} or similar as appropriate. * Debug before release. * Don't duplicate messages when a problem happens for both debug and release. Drive by bugfix: if (!build_info.policies.is_enabled(BuildPolicy::ONLY_RELEASE_CRT)) { error_count += check_crt_linkage_of_libs( build_info, false, debug_libs, debug_lib_info.value_or_exit(VCPKG_LINE_INFO), msg_sink); } was wrong; ONLY_RELEASE_CRT should mean 'these should all be release', not 'we aren't even going to look at debug'. It is fixed to: error_count += check_crt_linkage_of_libs(build_info.crt_linkage, build_info.policies.is_enabled(BuildPolicy::ONLY_RELEASE_CRT), debug_libs, debug_lib_info.value_or_exit(VCPKG_LINE_INFO), msg_sink); here. Drive-by bugfix: EMPTY_INCLUDE_FOLDER should not block CMAKE_HELPER_PORT from checking that the include folder is, in fact, empty. Drive-by bugfix: if (!violations.empty()) { msg_sink.println_warning(msgPortBugRestrictedHeaderPaths); print_paths(msg_sink, violations); msg_sink.println(msgPortBugRestrictedHeaderPaths); // <-- duplicate! return LintStatus::PROBLEM_DETECTED; } Drive-by bugfix: There were duplicate checks for the lib/cmake and debug/lib/cmake directories which even printed the same message; these have been merged. Drive-by bugfix: The existing copyright check emitted nonsense output that included full absolute paths like: warning: The software license must be available at ${CURRENT_PACKAGES_DIR}/share/cmdline/copyright. vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/D:/b/cmdline//LICENSE") since at least microsoft#1116 That check has been basically rewritten to use vcpkg_install_copyright if there's only one src directory, and otherwise give up and print them all Drive-by bugfix: Several of the outdated CRTs didn't have the debug versions listed. Also, P was duplicated and there was no R for VC6.
BillyONeal
added a commit
to BillyONeal/vcpkg-tool
that referenced
this pull request
May 11, 2024
Depends on microsoft/vcpkg#38629 Depends on microsoft/vcpkg-docs#319 Also audited for: * Consistently following the 'IDE error format' pointing to portfile.cmake. * Consistently referring to the correct skip policy in the error message where applicable. * Printing paths and other information relative to ${CURRENT_PACKAGES_DIR} or similar as appropriate. * Debug before release. * Don't duplicate messages when a problem happens for both debug and release. Drive by bugfix: if (!build_info.policies.is_enabled(BuildPolicy::ONLY_RELEASE_CRT)) { error_count += check_crt_linkage_of_libs( build_info, false, debug_libs, debug_lib_info.value_or_exit(VCPKG_LINE_INFO), msg_sink); } was wrong; ONLY_RELEASE_CRT should mean 'these should all be release', not 'we aren't even going to look at debug'. It is fixed to: error_count += check_crt_linkage_of_libs(build_info.crt_linkage, build_info.policies.is_enabled(BuildPolicy::ONLY_RELEASE_CRT), debug_libs, debug_lib_info.value_or_exit(VCPKG_LINE_INFO), msg_sink); here. Drive-by bugfix: EMPTY_INCLUDE_FOLDER should not block CMAKE_HELPER_PORT from checking that the include folder is, in fact, empty. Drive-by bugfix: if (!violations.empty()) { msg_sink.println_warning(msgPortBugRestrictedHeaderPaths); print_paths(msg_sink, violations); msg_sink.println(msgPortBugRestrictedHeaderPaths); // <-- duplicate! return LintStatus::PROBLEM_DETECTED; } Drive-by bugfix: There were duplicate checks for the lib/cmake and debug/lib/cmake directories which even printed the same message; these have been merged. Drive-by bugfix: The existing copyright check emitted nonsense output that included full absolute paths like: warning: The software license must be available at ${CURRENT_PACKAGES_DIR}/share/cmdline/copyright. vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/D:/b/cmdline//LICENSE") since at least microsoft#1116 That check has been basically rewritten to use vcpkg_install_copyright if there's only one src directory, and otherwise give up and print them all Drive-by bugfix: Several of the outdated CRTs didn't have the debug versions listed. Also, P was duplicated and there was no R for VC6. Drive-by bugfix: https://github.com/microsoft/vcpkg-tool/pull/1368/files#diff-9a4355abe0b8aae1ff2cd6cc86c0e4ce6bc4e6b7c469eb41332da0325cd20c88R984 broke usage text for header-only libs by adding an extra paren.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
category:infrastructure
Pertaining to the CI/Testing infrastrucutre
category:tool-update
The issue is with build tool or build script, which requires update or should be executed correctly
info:internal
This PR or Issue was filed by the vcpkg team.
info:reviewed
Pull Request changes follow basic guidelines
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.
This adds new policies to
build_info.cmake
in support of making all post build checks have suppressions.In support of WIP: BillyONeal/vcpkg-tool@7f59eca