fix(build): Improve build system reliability and flexibility#55
Merged
zjw1111 merged 13 commits intoalibaba:mainfrom Jan 23, 2026
Merged
fix(build): Improve build system reliability and flexibility#55zjw1111 merged 13 commits intoalibaba:mainfrom
zjw1111 merged 13 commits intoalibaba:mainfrom
Conversation
zjw1111
reviewed
Jan 16, 2026
There was a problem hiding this comment.
Pull request overview
This PR improves the build system's reliability and flexibility by adding checksum verification for downloaded dependencies, fixing build configuration issues, and providing a convenient build/package script.
Changes:
- Added checksum verification with automatic skip of already-downloaded dependencies to avoid redundant downloads
- Fixed build configuration by setting Protobuf_ROOT for ORC, replacing undefined output path variables with proper CMAKE_* variables, and adding C++11 ABI control
- Added an automated build and packaging script for simplified workflows
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| third_party/versions.txt | Added package name variables for each dependency to support checksum verification and local file detection |
| third_party/download_dependencies.sh | Implemented SHA256 checksum verification with multi-platform support and automatic skip logic for existing valid files |
| cmake_modules/ThirdpartyToolchain.cmake | Added THIRDPARTY_DIR variable, local file fallback logic, Protobuf_ROOT for ORC, and C++11 ABI flag propagation to external projects |
| cmake_modules/BuildUtils.cmake | Replaced undefined OUTPUT_PATH variables with proper CMAKE_*_OUTPUT_DIRECTORY variables for consistent artifact placement |
| build_and_package.sh | New script providing automated build and packaging workflow with configurable options |
| CMakeLists.txt | Added PAIMON_USE_CXX11_ABI option with validation preventing Lance/Lumina from being enabled when ABI is off, and added CMAKE_RUNTIME_OUTPUT_DIRECTORY definition |
| .gitignore | Added output directory to ignore list |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
build_and_package.sh
Outdated
| fi | ||
| mkdir -p "$BUILD_DIR" | ||
| cd "$BUILD_DIR" | ||
| cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX="$PACKAGE_DIR" $CMAKE_OPTIONS .. |
There was a problem hiding this comment.
The CMAKE_OPTIONS variable should be quoted when passed to cmake to properly handle options with spaces or special characters. Without quotes, word splitting could cause issues.
lucasfang
reviewed
Jan 21, 2026
lucasfang
reviewed
Jan 21, 2026
lucasfang
approved these changes
Jan 22, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Purpose
Tests
None
API and Format
No impact on API or format
Documentation
No new features introduced