Compare commits
2 Commits
2172ce3da3
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| a7018ac419 | |||
| a804694726 |
@@ -1 +1,44 @@
|
||||
A basic C++ exercise.
|
||||
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
|
||||
$ cppchallenge --help
|
||||
Just a simple 'hello'
|
||||
Usage: cppchallenge [OPTIONS]
|
||||
|
||||
Options:
|
||||
-h,--help Print this help message and exit
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user