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
|
### 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`)
|
||||||
|
|||||||
Reference in New Issue
Block a user