/vlibs2

Primary LanguageC++

# vlibs2

Репозиторий решений на *C++11*, собранных в виде микрокомпонент. 
В этом репозитории собираются переосмысленные идеи репозитория **vlibs**.<br />

---

## Установка

Протестировано в *Linux Ubuntu 16.04 / 14.04 32-bit LTS* и *Linux Mint 19. * 64-bit*.

---

### Зависимости

- Google Tests <br />

Google Tests used for Unit-testing. For installation it is necessary to run:<br />
```
sudo apt install libgtest-dev
cd /usr/src/gtest/
sudo cmake -DBUILD_SHARED_LIBS=ON
sudo make
sudo cp *.so /usr/lib
```
---

- Other

---

### Подключение

Добавляются папки *qmake* и *cmake*, чтобы туда (симлинками) добавлять **.pri & *.cmake* файлы. Там же создаются простенькие подключения каких-нибудь ключей (например, ```cmake/c++11.cmake``` ```qmake/pthread.pri```).<br/>

Чтобы подключить компонент <vcomponent> нужно:
1. Скачать репозиторий.
2. Прописать в файле проекта строчки:

Для cmake:
```
	set( VLIBS_DIR "path_to/vlibs" )
	include( "${VLIBS_DIR}/cmake/vcomponent.cmake" )
```
Для qmake:
```
	VLIBS_DIR = $$PWD/path_to/vlibs
	include( $$VLIBS_DIR/qmake/vcomponent.pri )
```

3. Пользоваться:
```
	#include "vcomponent.h"
	VComponent c;
	c.use(); // :-).
```

---

### Тестирование

Start unit tests:<br />

```
git checkout develop
./test.sh
```
---

## Компоненты

Каждый компонент обеспечивает решение, либо помогающий в решении какой-либо задачи. Компоненты объединяет общий подход в использовании, подключении к проектам QMake и CMake. Весь код поставляется как есть, никакие исходники собирать не надо, а надо подключать нужные компоненты, непосредственно, к системе сборки проекта QMake / CMake.

Тонкостей и вопросов много, это "затравочное" описание, которое следует развивать по мере возможностей, вопросы и замечания очень приветствуются.

---

- [gtests](./gtests/README)
- [vbyte_buffer]()
- [vcan_socket](./vcan_socket/README)
- [vcat](./vcat/README)
- [vchrono]()
- [vcompiler_traits](./vcompiler_traits/README)
- [vgit](./vgit/README)
- [vlog](./vlog/README)
- [vnetwork]()
- [vposix](./vposix/README)
- [vprofile]()
- [vserial_port]()
- [vsettings](./vsettings/README)
- [vsignal]()
- [vtimer]()

---

## Версии

* 0.0.1 - Coming soon...

---

## Contributing

1. Clone it (<ssh://git@bb.niias:7999/~elapidae/vlibs2.git>)
2. Create your feature branch (`git checkout -b feature/fooBar`)
3. Commit your changes (`git add . & git commit -m "Feature. Add some fooBar."`)
4. Push to the branch (`git push origin feature/fooBar`)
5. Create a new Pull Request to `~elapidae/develop`

---

## Support

Reach out to us at one of the following places!

---
- Slack at <a href="http://jscniias.slack.com" target="_blank">`jscniias.slack.com/Sasha Gromtsev`</a><br />
- Email at <elapidae.grom@gmail.com><br />
---
- Slack at <a href="http://jscniias.slack.com" target="_blank">`jscniias.slack.com/Vsevolod Fedorov`</a><br />
- Email at <v.fedorov.niias@gmail.com><br />
---
- Slack at <a href="http://jscniias.slack.com" target="_blank">`jscniias.slack.com/Dmitrii Leliuhin`</a><br />
- Telegram at <a href="http://https://telegram.org" target="_blank">`@DLeliuhin`</a><br />
- Email at <dleliuhin@gmail.com><br />
---

## [TODO](./TODO.md)

---

## [FAQ](./FAQ.md)

---