SchoolyB / Hallpass-Hero

A lightweight CLI tool for instructors to track student performance and attendance | WIP
MIT License
4 stars 1 forks source link

Introduction

This README consists of two sections. The first will contain installation/cloning instructions for developers. The second section will contain the documentation for Hallpass-Hero.

Cloning & Initial Setup

For developers there a few things to note:

Step 1

Clone the repository

git clone https://github.com/SchoolyB/Hallpass-Hero.git  

Step 2

Navigate into the projects root directory

cd path/to/your/project/Hallpass-hero

Step 3

Make a new directory called 'build' then navigate into it

mkdir build && cd build

Step 4

Use the following commands in order to create the executable

cmake ..
make

Step 5

Run the executable

./Hallpasshero.exe

Running The Program After Initial Setup

After the initial setup is complete you can freely change code. To run the program after you have made changes to the following.

  1. Run make to build the program and create the executable

  2. Run ./Hallpasshero.exe to run the program

Alternatively you can run make && ./Hallpasshero.exe to do both!

Extra Info

CMake Cannot Find SQLite3

When trying to build the program you might get thrown the following errors:

errorCMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find SQLite3 (missing: SQLite3_INCLUDE_DIR SQLite3_LIBRARY)

Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.22/Modules/FindSQLite3.cmake:54 (find_package_handle_standard_args)
CMakeLists.txt:7 (find_package)

This happens when CMake is not able to find SQLite3 during the build process.

For Debian-based systems use the following command:

sudo apt-get install libsqlite3-dev

For Red Hat-based systems you could try

sudo yum install sqlite-devel

For Arch Linux you could try

sudo pacman -S sqlite

After running your respective command try building and running the program again.