Skip to content

lefticus/cpp_box

Repository files navigation

travis Travis Build Status
Cirrus CI Cirrus CI Build Status
Appveyor AppVeyor Build status
Codecov codecov
CodeFactor CodeFactor
Codacy Codacy Badge
ScoreMe Readme Score

cpp_box

It implements a partial ARMv4 architecture in software.

For code this can accept, use gcc or clang in -march=armv4 mode. Almost all builds of clang but default support --target=armv4-linux regardless of your host platform.

Architecture Documentation

For more information on the ARMv4 architecture, look for documentation on the ARM7 core.

We plan to implement the VFP version 1 for a hardware FPU. For this support add -mfpu=vfp -mfloat-abi=hard to your build command line.

For more information, look at the ARMv5 Architecture Reference Manual.

Getting Started

Prerequisites

To compile the code, it requires at least C++17 to work. This includes std::filesystem which is not until GCC 8.

In this project Conan is used for package management. Conan is a portable package manager for C/C++ libraries. It is used to cache all the dependencies needed to build into local directories, without needing to install system packages.

For installation methods of Conan, visit this link. The step-by-step instructions to enable you to build with conan is provided in Conan's website. But in case you would like to see a live demo you can check out this video.

To build the project with conan, you will also need to have CMake with minimum version of 3.8 to support cxx_std_17.

Building

To set the compiler and the compiler version in Conan, edit the ~/.conan/profiles/default file if necessary.

Then in the project directory:

mkdir build && cd build

Conan support is built into the CMakeLists.txt file. You must have conan installed already and need to add appropriate remote:

conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan
cmake ..

If cmake cannot find the version of conan you have installed you can tell it where to find it with:

cmake .. -DCONAN_CMD:PATH=/path/to/conan

Running the tests

After successfully finishing build process, run test to see if everything is work.

You can use ctest

$ ctest

Or make

$ make test

Or execute the tests directly. To do so, simply go to build/bin folder and run the tests.

$ ./constexpr_tests
All tests passed (47 assertions in 21 test cases)
$ ./relaxed_constexpr_tests
All tests passed (47 assertions in 21 test cases)

Built With

  • Conan - The C/C++ Package Manager
  • CMake - Cross-platform build system
  • gcc - The GNU Compiler Collection

About Me

My name is Jason Turner, I'm a C++ programmer, trainer and speaker, available for code reviews and on-site training events.

License

This project is licensed under the MIT License - see the LICENSE file for details

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •