OCCT VCPKG Extended Package Support Now Available #592
dpasukhi
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hello OCCT Community,
We're excited to announce that starting from July 7th, 2025, OCCT master branch (not released version) now provides comprehensive support for VCPKG's extended package list, significantly simplifying the dependency management process for OCCT builds.
What's New
Enhanced VCPKG Integration
Key Benefits
Package Management Options
OCCT now supports multiple approaches for managing third-party dependencies:
Option 1: VCPKG (Recommended for cross-platform)
Best for consistent, reproducible builds across different platforms.
Option 2: System Package Managers
Use your system's native package manager for dependencies:
Linux (Ubuntu/Debian):
# Install dependencies via apt sudo apt-get install libfreetype6-dev libfreeimage-dev \ libffmpeg-dev libtbb-dev libgl1-mesa-dev libdraco-dev \ rapidjson-dev libvtk9-dev tk-dev
Linux (CentOS/RHEL):
# Install dependencies via yum/dnf sudo yum install freetype-devel freeimage-devel \ ffmpeg-devel tbb-devel mesa-libGL-devel draco-devel \ rapidjson-devel vtk-devel tk-devel
Windows (MINGW):
# Install dependencies via MINGW package manager pacman -S mingw-w64-x86_64-freetype mingw-w64-x86_64-freeimage \ mingw-w64-x86_64-ffmpeg mingw-w64-x86_64-tbb \ mingw-w64-x86_64-mesa mingw-w64-x86_64-rapidjson
Option 3: Manual Installation
Install dependencies manually (not recommended for complex setups).
How to Use VCPKG with OCCT
Prerequisites
Build Configuration
When compiling OCCT, you need to:
Enable VCPKG support:
-DBUILD_USE_VCPKG=ON
Specify VCPKG root directory:
-DVCPKG_ROOT=/path/to/your/vcpkg
Dependency Control
Use the
USE_*
pattern to enable or disable specific third-party dependencies:Complete Build Example
cmake -S . -B build \ -DBUILD_USE_VCPKG=ON \ -DVCPKG_ROOT=/path/to/vcpkg \ -DUSE_OPENGL=ON \ -DUSE_FREEIMAGE=ON \ -DUSE_FFMPEG=ON \ -DUSE_TBB=ON \ -DUSE_FREETYPE=ON \ -DUSE_TK=ON \ -DUSE_DRACO=ON \ -DUSE_RAPIDJSON=ON
Working Examples
For practical implementation examples, you can refer to the OCCT GitHub Actions workflows:
VCPKG Setup Action
See the complete VCPKG setup configuration:
OCCT Build Action
See the complete build process with VCPKG integration:
These GitHub Actions provide real-world examples of:
Supported Dependencies via VCPKG
The following dependencies are now available through VCPKG:
Graphics and Visualization
Image and Font Processing
Audio/Video Processing
Performance Libraries
Data Formats and Serialization
User Interface
All these dependencies are automatically managed by VCPKG, ensuring consistent versions and proper integration with OCCT.
Migration Guide
For Existing Projects
If you're currently managing OCCT dependencies manually:
For New Projects
Simply follow the build configuration steps above from the start.
Troubleshooting
Common Issues
BUILD_USE_VCPKG=ON
is setImportant Configuration Note
VCPKG can only be enabled with a clean configuration. It cannot be enabled during re-configuration of an existing build.
If you encounter configuration errors:
cmake -S . -B build \ -DBUILD_USE_VCPKG=ON \ -DVCPKG_ROOT=/path/to/vcpkg \ [other options...]
This limitation means you must decide whether to use VCPKG before your initial configuration. Switching between VCPKG and non-VCPKG builds requires starting with a clean build directory.
Getting Help
What's Next
This enhancement is part of our ongoing effort to improve the OCCT development experience. We're continuously working on:
Conclusion
The VCPKG extended package support represents a significant step forward in making OCCT more accessible and easier to build. We encourage all developers to try this new feature and share their feedback.
This change will particularly benefit:
Best regards,
OCCT3D Team
For technical questions or feedback, please reach out through Forum or GitHub discussion.
Beta Was this translation helpful? Give feedback.
All reactions