Always use ninja

This commit is contained in:
2025-08-20 11:23:26 -04:00
parent 5d5d8bc495
commit a5183c3dbf

View File

@@ -8,10 +8,11 @@ WeaselDB is a high-performance write-side database component designed for system
### Build System ### Build System
- Use CMake with C++20 standard - Use CMake with C++20 standard
- **Always use ninja to build** (preferred over make)
- Primary build commands: - Primary build commands:
- `mkdir -p build && cd build` - `mkdir -p build && cd build`
- `cmake .. -DCMAKE_BUILD_TYPE=Release` - `cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release`
- `ninja` or `make -j$(nproc)` - `ninja`
### Testing and Development Workflow ### Testing and Development Workflow
- **Run all tests**: `ninja test` or `ctest` - **Run all tests**: `ninja test` or `ctest`
@@ -319,7 +320,7 @@ The modular design allows each component to be optimized independently while mai
### Build System Details ### Build System Details
- CMake generates gperf hash tables at build time - CMake generates gperf hash tables at build time
- Ninja is preferred over make for faster incremental builds - **Always use ninja** - preferred over make for faster incremental builds
- Release builds include debug symbols for profiling - Release builds include debug symbols for profiling
- All external dependencies except weaseljson are auto-fetched - All external dependencies except weaseljson are auto-fetched
@@ -485,3 +486,9 @@ background_processor.submit([raw_conn]() {
Server::releaseBackToServer(std::unique_ptr<Connection>(raw_conn)); Server::releaseBackToServer(std::unique_ptr<Connection>(raw_conn));
}); });
``` ```
## Development Notes
- **Always use ninja to build** - faster and more reliable than make
- Build from project root: `mkdir -p build && cd build && cmake .. -G Ninja && ninja`
- For specific targets: `ninja <target_name>` (e.g., `ninja load_tester`)