cpp-challenge/README.md

39 lines
1.0 KiB
Markdown

A basic C++ exercise which uses `conan` to satisfy dependencies before building a shared library and
an executable that links it. Also produces a `.deb` package which installs the executable, library,
and public headers.
## Prerequisites
* Ubuntu 22.04 (or equivalent)
* Additional required packages:
* `g++`
* `cmake`
* `python3-venv`
## Setup
Create a `python` virtual environment, install `conan`, and create a default profile:
```bash
python3 -m venv conan.venv
source conan.venv/bin/activate
pip install conan
conan profile detect
```
## Building and running
1. To build, run:
```bash
./build.sh
```
2. The build command will generate a `deb` package in the `_packages` directory. To install (to
`/usr/local`) run:
```
sudo dpkg -i _packages/_packages/cppchallenge_1.0.0_*.deb
sudo ldconfig
```
__TODO__: The `sudo ldconfig` step should be added to the `deb` package `postinst` step...
3. To run:
```
$ cppchallenge
Hello World!
File name is: aname
```