Skip to content

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

Stars

311 stars

Watchers

26 watching

Forks

Releases

Packages

Contributors

Languages