Skip to content

KazDragon/consolepp

Repository files navigation

Console++

Documentation License GitHub Releases Linux Build status Codacy Badge

Console++ is a small framework for interacting with the console on a character-at-a-time basis. Used together with Terminal++ and Munin, this library can form the foundation of any graphical terminal application.

Requirements

  • C++20 compiler
  • CMake 3.16+
  • Boost 1.69+ (required)
  • Google Test (for tests only)

Build And Install (From Source)

git clone https://github.com/KazDragon/consolepp.git
cd consolepp

cmake -S . -B build \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX="$HOME/.local"

cmake --build build --config Release
cmake --install build --config Release

Dependency Resolution With vcpkg

Console++ can resolve dependencies automatically through vcpkg:

cmake -S . -B build \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"

When using manifest mode (vcpkg.json in this repository), configure will trigger dependency installation automatically.

Consume From CMake (Installed Package)

cmake_minimum_required(VERSION 3.16)
project(my_app LANGUAGES CXX)

find_package(consolepp CONFIG REQUIRED)

add_executable(my_app main.cpp)
target_link_libraries(my_app PRIVATE KazDragon::consolepp)

If installed to a non-system prefix:

cmake -S . -B build -DCMAKE_PREFIX_PATH="$HOME/.local"

Features / Roadmap / Progress

  1. Basic console handling
    • Reading/writing from/to the console in character mode
    • Queries and callbacks for console size

Status

Console++ is automatically testing with GNU g++ 7.5.

About

A framework for interacting with the console on a character-at-a-time basis

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors