Go to file
Ron Hough 1e1bbfaeb7 wip 2023-03-11 15:08:24 -06:00
cmake Adds rudimentary DEB package creation 2023-03-04 19:03:34 -06:00
include Adds an extremely basic shared library 2023-03-11 13:50:45 -06:00
src Adds an extremely basic shared library 2023-03-11 13:50:45 -06:00
.gitignore Adds rudimentary DEB package creation 2023-03-04 19:03:34 -06:00
CMakeLists.txt Adds an extremely basic shared library 2023-03-11 13:50:45 -06:00
README.md wip 2023-03-11 15:08:24 -06:00
build.sh Adds deb package build to build script 2023-03-04 19:06:52 -06:00
conanfile.txt Use conan to add dependency on CLI11 2023-03-04 14:28:46 -06:00

README.md

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:

python3 -m venv conan.venv
source conan.venv/bin/activate
pip install conan
conan profile detect

Building and running

  1. To build, run:
./build.sh
  1. 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...