Always use ninja
This commit is contained in:
13
design.md
13
design.md
@@ -8,10 +8,11 @@ WeaselDB is a high-performance write-side database component designed for system
|
||||
|
||||
### Build System
|
||||
- Use CMake with C++20 standard
|
||||
- **Always use ninja to build** (preferred over make)
|
||||
- Primary build commands:
|
||||
- `mkdir -p build && cd build`
|
||||
- `cmake .. -DCMAKE_BUILD_TYPE=Release`
|
||||
- `ninja` or `make -j$(nproc)`
|
||||
- `cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release`
|
||||
- `ninja`
|
||||
|
||||
### Testing and Development Workflow
|
||||
- **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
|
||||
- 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
|
||||
- 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));
|
||||
});
|
||||
```
|
||||
|
||||
## 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`)
|
||||
|
||||
Reference in New Issue
Block a user