PIVector2D - add funcs, optimize, tests, fixes, doxygen #194

Merged
andrey merged 29 commits from vibecoding_pivector2d into master 2026-02-27 23:58:45 +03:00
Showing only changes of commit a581d9bf9d - Show all commits

View File

@@ -18,36 +18,36 @@ PIP is a C++ cross-platform library providing platform-independent abstractions
### Basic Build ### Basic Build
```bash ```bash
cmake -B ../build_pip cmake -B build
cmake --build ../build_pip cmake --build build
``` ```
### Build with Tests ### Build with Tests
```bash ```bash
cmake -B ../build_pip -DTESTS=ON cmake -B build -DTESTS=ON
cmake --build ../build_pip cmake --build build
``` ```
### Run Tests ### Run Tests
```bash ```bash
ctest --test-dir ../build_pip/tests/ # Run all tests ctest --test-dir build/tests # Run all tests
ctest --test-dir ../build_pip/tests/ -R <regex> # Run specific tests matching regex ctest --test-dir build/tests -R <regex> # Run specific tests matching regex
ctest --test-dir ../build_pip/tests/ -V # Verbose output ctest --test-dir build/tests -V # Verbose output
``` ```
To run a single test: To run a single test:
```bash ```bash
# Build the test executable, then run directly: # Build the test executable, then run directly:
../build_pip/tests/pip_<test_name>_test ./build/tests/pip_<test_name>_test
# Or use ctest with specific test name # Or use ctest with specific test name
ctest --test-dir ../build_pip/tests/ -R "TestName" ctest --test-dir build/tests -R "TestName"
``` ```
### Other Commands ### Other Commands
```bash ```bash
cmake --build ../build_pip --target clean # Clean build cmake --build build --target clean # Clean build
cmake --install ../build_pip # Install cmake --install build_pip # Install
cmake --build ../build_pip --target doc # Build documentation cmake --build build --target doc # Build documentation
``` ```
### Build Options ### Build Options
@@ -157,14 +157,6 @@ TEST(PIString_Tests, constructor_empty) {
- Third-party: `3rd/` - Third-party: `3rd/`
- Utils: `utils/` - Utils: `utils/`
### Important Macros
- `PIP_EXPORT` - Export symbol from shared library
- `PIP_NO_EXPORT` - Don't export
- `PIP_DEPRECATED` - Mark as deprecated
- Conditional compilation: `#ifdef PIP_ICU`, `#ifdef WINDOWS`, etc.
### Key Files ### Key Files
- `CMakeLists.txt` - Main build configuration - `CMakeLists.txt` - Main build configuration
- `libs/main/pip.h` - Master include
- `libs/main/piplatform.h` - Platform definitions
- `tests/CMakeLists.txt` - Test configuration - `tests/CMakeLists.txt` - Test configuration