Files
ThordekkCore/BUILD_QUICK_REFERENCE.md
T
2026-01-20 21:25:30 -03:00

171 lines
4.7 KiB
Markdown

# TrinityCore Build System - Quick Reference Card
## 🚀 Most Common Commands
### Daily Development Workflow (Playerbot Module)
```batch
# Edit your code, then:
build_playerbot_and_worldserver_debug.bat
# Deploy and test:
cd M:\Wplayerbot\bin
worldserver.exe -c worldserver.conf
```
### Performance Testing
```batch
# Switch to Release build:
configure_release.bat
build_playerbot_and_worldserver_release.bat
```
---
## 📋 Build Commands Overview
| Command | Purpose | Build Time | When to Use |
|---------|---------|------------|-------------|
| `configure_debug.bat` | Setup Debug build | 2-3 min | First time or after CMake changes |
| `configure_release.bat` | Setup Release build | 2-3 min | For production deployment |
| `build_playerbot_and_worldserver_debug.bat` | **RECOMMENDED: Build Playerbot + worldserver (Debug)** | 5-10 min | **Daily development** |
| `build_playerbot_and_worldserver_release.bat` | Build Playerbot + worldserver (Release) | 5-8 min | Performance testing |
| `build_debug.bat` | Full solution build (Debug) | 20-40 min | Complete rebuild needed |
| `build_release.bat` | Full solution build (Release) | 15-30 min | Production build |
---
## ⚡ Quick Decision Tree
```
Need to build? Start here:
│
├─ Changed Playerbot code?
│ ├─ Development/Testing? → build_playerbot_and_worldserver_debug.bat ✅
│ └─ Performance Test? → build_playerbot_and_worldserver_release.bat
│
├─ First time building?
│ ├─ configure_debug.bat
│ └─ build_debug.bat
│
├─ Switching Debug ↔ Release?
│ ├─ configure_[debug/release].bat
│ └─ build_[debug/release].bat
│
└─ Build errors?
├─ Try: Clean build (rmdir /s /q build)
└─ Then: configure_debug.bat && build_debug.bat
```
---
## 📊 Configuration Comparison
| Aspect | Debug | Release | Notes |
|--------|-------|---------|-------|
| **Binary Size** | 76 MB | 25 MB | 3x smaller in Release |
| **Build Speed** | Slower | Faster | ~25% faster in Release |
| **Runtime Speed** | Baseline | +20-50% | Significant improvement |
| **Debugging** | Full | Limited | Choose based on need |
| **Memory Usage** | Higher | Lower | 20-40% less in Release |
---
## 🔧 Essential Troubleshooting
### Build Failed?
1. **First Try:**
```batch
# Clean and rebuild
rmdir /s /q build
configure_debug.bat
build_debug.bat
```
2. **Linking Errors (LNK2038)?**
- Check: `type build\CMakeCache.txt | findstr "Boost"`
- Debug libs should have `-gd-` suffix
- Release libs should NOT have `-gd-` suffix
3. **Missing Libraries?**
```batch
# Install vcpkg dependencies
C:\libs\vcpkg\vcpkg.exe install tbb:x64-windows parallel-hashmap:x64-windows
```
---
## 📁 Key File Locations
### Build Outputs
- **Debug worldserver:** `build\bin\Debug\worldserver.exe`
- **Release worldserver:** `build\bin\Release\worldserver.exe`
- **Playerbot library:** `build\src\server\modules\Playerbot\[Debug/Release]\playerbot.lib`
### Configuration Files
- **CMake cache:** `build\CMakeCache.txt`
- **VS Solution:** `build\TrinityCore.sln`
- **Build logs:** `build_*_output.txt`
### Dependencies
- **vcpkg:** `C:\libs\vcpkg`
- **Boost:** `C:\libs\boost_1_78_0`
- **MySQL:** `C:\Program Files\MySQL\MySQL Server 9.4`
---
## 🎯 Best Practices
### DO:
✅ Use `build_playerbot_and_worldserver_debug.bat` for daily development
✅ Clean build directory when switching configurations
✅ Check CMakeCache.txt if library errors occur
✅ Use Release build for performance testing
### DON'T:
❌ Mix Debug and Release builds in same directory
❌ Skip configure step after pulling CMake changes
❌ Use Debug build for production
❌ Ignore linking errors - they won't fix themselves
---
## 💡 Pro Tips
1. **Faster Builds:** Reduce `/maxcpucount:2` to `/maxcpucount:1` if running out of memory
2. **Debug Symbols:** `.pdb` files are huge but essential for debugging
3. **Incremental Builds:** Only rebuild what changed - much faster!
4. **Release Testing:** Always test Release build before deployment
---
## 🆘 Need Help?
1. Check `BUILD_DOCUMENTATION.md` for detailed explanations
2. Review `build_*_output.txt` for error details
3. Verify libraries with `C:\libs\vcpkg\vcpkg.exe list`
4. Ensure Visual Studio 2022 Enterprise is installed
---
## 📈 Performance Metrics
| Build Type | Full Build | Incremental | Module Only |
|------------|------------|-------------|-------------|
| **Debug** | 20-40 min | 5-10 min | 2-5 min |
| **Release** | 15-30 min | 5-8 min | 2-5 min |
---
## 🔄 Version Info
- **Visual Studio:** 2022 Enterprise (v17+)
- **CMake:** 3.24+
- **Boost:** 1.78
- **MySQL:** 9.4
- **C++ Standard:** C++20
---
**Last Updated:** 2025-10-16
**Quick Tip:** Bookmark this file for instant reference!