Убедитесь, что все зависимости в вашей системе удовлетворены.
Убедитесь, что все зависимости в вашей системе удовлетворены. Смотрите [эту](https://i2pd.readthedocs.io/en/latest/devs/building/requirements/ "Build requirements") страницу с общими требованиями.
Если это так, то приступаем к сборке i2pd.
Если требования удовлетворены, приступаем к сборке i2pd!
Клонируем репозиторий и собираем:
Клонируем репозиторий и начинаем сборку:
```bash
```bash
git clone https://github.com/PurpleI2P/i2pd.git
git clone https://github.com/PurpleI2P/i2pd.git
```
В общем случае, процесс сборки выглядит так (с cmake):
```bash
cd i2pd/build
cd i2pd/build
cmake -DCMAKE_BUILD_TYPE=Release # есть больше опций, смотрите раздел "Опции CMake"
cmake <cmakeoptions> . # смотрите раздел "Опции CMake" ниже
make # можно добавить опцию VERBOSE=1 для отладки
make # можно добавить опцию VERBOSE=1 для отладки
```
```
...или быстрый и грязный путь:
После сборки i2pd можно установить в систему следующей командой:
```bash
cd i2pd/
make
```
После успешной сборки i2pd можно установить в систему следующей командой:
```bash
```bash
make install
make install
```
```
Вы так же можете использовать упрощенный вариант сборки:
Опции СMake
-----------
Доступные опции CMake (каждая форма имеет форму: `-D<key>=<value>`, подробности смотрите в `man 1 cmake`):
* `CMAKE_BUILD_TYPE` профиль сборки, отладочный или релиз (Debug/Release, по умолчанию: без оптимизации и отладочных символов)
* `WITH_BINARY` сборка самого i2pd (по-умолчанию: включено (ON))
* `WITH_LIBRARY` сборка библиотеки libi2pd (по-умолчанию: включено (ON))
* `WITH_STATIC` сборка статических версий библиотеки и самого i2pd (по-умолчанию: отключено (OFF))
* `WITH_UPNP` сборка с поддержкой UPnP (нужна библиотека libupnp, по-умолчанию: отключено (OFF))
* `WITH_AESNI` сборка с поддержкой AES-NI (ON/OFF, по-умолчанию: отключено (OFF))