Skip to content

Commit

Permalink
Updated Readme.md, added CMake install
Browse files Browse the repository at this point in the history
Signed-off-by: ZigRazor <zigrazor@gmail.com>
  • Loading branch information
ZigRazor committed May 27, 2024
1 parent 8ecc8f7 commit 1276157
Show file tree
Hide file tree
Showing 2 changed files with 122 additions and 0 deletions.
9 changes: 9 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,15 @@ target_sources ( ${PROJECT_NAME} INTERFACE ${HEADERS_FILES} ${SRC_FILES} )
target_compile_features( ${PROJECT_NAME} INTERFACE cxx_std_20 )
target_include_directories( ${PROJECT_NAME} INTERFACE include/ )


set_target_properties( ${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${HEADERS_FILES}")

install(TARGETS ${PROJECT_NAME} PUBLIC_HEADER
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/DogBreeds/JackRussell)

install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}
DESTINATION ${CMAKE_INSTALL_LIBDIR}/DogBreeds/JackRussell)

option(TEST "Enable Test" OFF)
if(TEST)
enable_testing()
Expand Down
113 changes: 113 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,115 @@
# JackRussell

<img style="float: right;" align="left" src="https://images.unsplash.com/photo-1675870405034-3a2fb38852be" width="200">

A C++ Publish/Subscriber Library

[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![GitHub release](https://img.shields.io/github/release/ZigRazor/JackRussell.svg)](https://github.com/ZigRazor/JackRussell/releases/) [![CMake](https://github.com/ZigRazor/JackRussell/actions/workflows/cmake.yml/badge.svg)](https://github.com/ZigRazor/JackRussell/actions/workflows/cmake.yml)

[![codecov](https://codecov.io/gh/ZigRazor/JackRussell/graph/badge.svg?token=24SM5HBW6C)](https://codecov.io/gh/ZigRazor/JackRussell) [![CodeFactor](https://www.codefactor.io/repository/github/zigrazor/JackRussell/badge)](https://www.codefactor.io/repository/github/zigrazor/jackRussell)

[![Generic badge](https://img.shields.io/badge/required-C++20-Green.svg)](https://shields.io/) [![Generic badge](https://img.shields.io/badge/Required-CMake3.16-Green.svg)](https://shields.io/)

## Table of Contents
- [Description](#description)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
- [Acknowledgements](#acknowledgements)

## Description

JackRussell is a C++ Publish/Subscriber Library. This project aims to fulfill a framework with easy-to-use mechanisms of Publish and Subscriber. By using JackRussell, users can:
- Create a Topics;
- Publish to Topic;
- Create Subscribers Classes;
- Register the Subscribers Classes to one or more Topics;
- Manage the message received by Subscribers

## Features

- Topic Manager Singleton
- Topic Class
- Subscriber Interface

## Installation

To install and set up JackRussell, follow these steps:

1. **Clone the repository:**
```bash
git clone https://github.com/ZigRazor/JackRussell.git
```
2. **Navigate to the project directory:**
```bash
cd JackRussell
```
3. **Prepare CMake:**
```bash
mkdir build
cd build
cmake ..
```
4. **Install Library**
```bash
make install
```

## Usage

You can use the Library in your project with CMake adding the following lines:

```cmake
CPMAddPackage(
NAME JackRussell
GITHUB_REPOSITORY ZigRazor/JackRussell
GIT_TAG origin/main
)
```
or install it and the add to the include path *{StandardIncludePath}/DogBreeds/JackRussell* and to the linking_path *{StandardLinkingPath}/DogBreeds/JackRussell*.

For simple use you can see the [Example](https://github.com/ZigRazor/JackRussell/tree/main/example)
For more detailed usage instructions, refer to the documentation.

## Contributing
We welcome contributions to JackRussell! To contribute, follow these steps:

1. **Fork the repository.**
2. **Create a new branch:**
```bash
git checkout -b feature/your-feature-name
```
3. **Make your changes and commit them:**
```bash
git commit -m "Add your commit message"
```
4. **Push to the branch:**
```bash
git push origin feature/your-feature-name
```
5. **Create a pull request.**

Please read our [contributing guidelines](https://github.com/ZigRazor/JackRussell/blob/main/CONTRIBUTING.md) for more details.

## License
This project is licensed under the MIT License. See the [LICENSE](https://github.com/ZigRazor/JackRussell/blob/main/LICENSE) file for details.

## Contact
If you have any questions, suggestions, or feedback, feel free to reach out:

- Email: zigrazor@gmail.com
- GitHub Issues: [issues](https://github.com/ZigRazor/JackRussell/issues)

## Acknowledgements
We would like to thank the following individuals for their support:

[![Contributors](https://contrib.rocks/image?repo=zigrazor/JackRussell)](https://github.com/ZigRazor/JackRussell/graphs/contributors)

## Credits

Photo by <a href="https://unsplash.com/@nataliekinnear?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Natalie Kinnear</a> on <a href="https://unsplash.com/photos/a-black-and-white-dog-sitting-on-top-of-a-lush-green-field-QscvNWv6HUo?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Unsplash</a>


0 comments on commit 1276157

Please sign in to comment.