From a804694726997848ae0c10795a5d85ced9bddec6 Mon Sep 17 00:00:00 2001 From: Ron Hough Date: Sat, 11 Mar 2023 14:14:18 -0600 Subject: [PATCH] Updates README with setup/build/run instructions --- README.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index dc0dac7..432ec17 100644 --- a/README.md +++ b/README.md @@ -1 +1,38 @@ -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 + ```