/dependency_injection

Dependency injection in C++

Primary LanguageC++Apache License 2.0Apache-2.0

C++ Dependency Injection Container

Cross-platform CMake based project developed in C++.

CMake-CI

Usage

Run one of these scripts for building or rebuilding the project depending on your OS:

run_build_debug.bat
run_build_debug.sh
rebuild_debug.bat
rebuild_debug.sh

If you prefer to manually build the project, use the following commands.

Debug and Release

Single configurations (CLI)

# Debug.
cmake -S. -B build -DCMAKE_BUILD_TYPE=Debug     # Configure.
cmake --build build --config Debug -j           # Build.

# Release.
cmake -S. -B build -DCMAKE_BUILD_TYPE=Release   # Configure.
cmake --build build --config Release -j         # Build.

Multi-configuration

cmake -S. -B build -DCMAKE_CONFIGURATION_TYPES="Debug;Release"

Or simply run generate_vs_solution.bat if you are using Windows.

Then you could use Visual Studio if you are using Windows.

Tests

Run one of these scripts to run the tests depending on your OS:

run_tests.bat
run_tests.sh

If you prefer to manually run the tests, run the following commands:

cmake --build build/tests --target test_di -j
cd build && ctest --output-on-failure && cd ..

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

Apache License 2.0