Skip to content

Commit

Permalink
adds recipe for Tabulate project
Browse files Browse the repository at this point in the history
  • Loading branch information
fpelliccioni committed Apr 13, 2020
1 parent cbef47a commit a07230d
Show file tree
Hide file tree
Showing 6 changed files with 255 additions and 0 deletions.
4 changes: 4 additions & 0 deletions recipes/tabulate/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
sources:
"1.0":
url: https://github.com/p-ranav/tabulate/archive/v1.0.tar.gz
sha256: 34eda3605e2ce0c7ca339fa2af6a0c77a5e49321b2f549ff5313f955273c8ac8
27 changes: 27 additions & 0 deletions recipes/tabulate/all/conanfile.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import os
from conans import ConanFile, tools

class Tabulate(ConanFile):
name = "tabulate"
url = "https://github.com/conan-io/conan-center-index"
homepage = "https://github.com/p-ranav/tabulate"
description = "Table Maker for Modern C++"
topics = ("conan", "cpp17", "any", "any-implementations")
license = "MIT License"
no_copy_source = True

@property
def _source_subfolder(self):
return "source_subfolder"

def source(self):
tools.get(**self.conan_data["sources"][self.version])
extracted_dir = self.name + "-" + self.version
os.rename(extracted_dir, self._source_subfolder)

def package(self):
self.copy("*.hpp", dst="include", src=os.path.join(self._source_subfolder, "include"))
self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder)

def package_id(self):
self.info.header_only()
9 changes: 9 additions & 0 deletions recipes/tabulate/all/test_package/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
cmake_minimum_required(VERSION 2.8.11)
project(test_package CXX)

include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()

add_executable(${PROJECT_NAME} test_package.cpp)
target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS})
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
16 changes: 16 additions & 0 deletions recipes/tabulate/all/test_package/conanfile.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import os
from conans import ConanFile, CMake


class TestPackageConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "cmake"

def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()

def test(self):
bin_path = os.path.join("bin", "test_package")
self.run(bin_path, run_environment=True)
195 changes: 195 additions & 0 deletions recipes/tabulate/all/test_package/test_package.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
#include <tabulate/table.hpp>
using namespace tabulate;

int main() {
Table mario;
mario.format().color(Color::white).border("").corner("").column_separator("").padding(0);
size_t rows = 16;
for (size_t i = 0; i < rows; ++i) {
std::vector<std::variant<std::string, Table>> row;
size_t cols = 30;
for (size_t j = 0; j < cols; ++j) {
row.push_back("");
}
mario.add_row(row);
}
// Row 0
for (size_t i = 7; i < 20; ++i) {
mario[0][i].format().color(Color::red);
}
// Row 1
for (size_t i = 5; i < 26; ++i) {
mario[1][i].format().color(Color::red);
}
// Row 2
for (size_t i = 5; i < 13; ++i) {
mario[2][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 13; i < 18; ++i) {
mario[2][i].format().color(Color::yellow);
}
for (size_t i = 18; i < 20; ++i) {
mario[2][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 20; i < 22; ++i) {
mario[2][i].format().color(Color::yellow);
}
// Row 3
for (size_t i = 3; i < 7; ++i) {
mario[3][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 7; i < 9; ++i) {
mario[3][i].format().color(Color::yellow);
}
for (size_t i = 9; i < 11; ++i) {
mario[3][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 11; i < 18; ++i) {
mario[3][i].format().color(Color::yellow);
}
for (size_t i = 18; i < 20; ++i) {
mario[3][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 20; i < 26; ++i) {
mario[3][i].format().color(Color::yellow);
}
// Row 4
for (size_t i = 3; i < 7; ++i) {
mario[4][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 7; i < 9; ++i) {
mario[4][i].format().color(Color::yellow);
}
for (size_t i = 9; i < 13; ++i) {
mario[4][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 13; i < 20; ++i) {
mario[4][i].format().color(Color::yellow);
}
for (size_t i = 20; i < 22; ++i) {
mario[4][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 22; i < 28; ++i) {
mario[4][i].format().color(Color::yellow);
}
// Row 5
for (size_t i = 3; i < 9; ++i) {
mario[5][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 9; i < 18; ++i) {
mario[5][i].format().color(Color::yellow);
}
for (size_t i = 18; i < 26; ++i) {
mario[5][i].format().color(Color::green).font_style({FontStyle::dark});
}
// Row 6
for (size_t i = 7; i < 24; ++i) {
mario[6][i].format().color(Color::yellow);
}
// Row 7
for (size_t i = 5; i < 11; ++i) {
mario[7][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 11; i < 13; ++i) {
mario[7][i].format().color(Color::red);
}
for (size_t i = 13; i < 20; ++i) {
mario[7][i].format().color(Color::green).font_style({FontStyle::dark});
}
// Row 8
for (size_t i = 3; i < 11; ++i) {
mario[8][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 11; i < 13; ++i) {
mario[8][i].format().color(Color::red);
}
for (size_t i = 13; i < 18; ++i) {
mario[8][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 18; i < 20; ++i) {
mario[8][i].format().color(Color::red);
}
for (size_t i = 20; i < 26; ++i) {
mario[8][i].format().color(Color::green).font_style({FontStyle::dark});
}
// Row 9
for (size_t i = 1; i < 11; ++i) {
mario[9][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 11; i < 20; ++i) {
mario[9][i].format().color(Color::red);
}
for (size_t i = 20; i < 29; ++i) {
mario[9][i].format().color(Color::green).font_style({FontStyle::dark});
}
// Row 10
for (size_t i = 1; i < 7; ++i) {
mario[10][i].format().color(Color::yellow);
}
for (size_t i = 7; i < 9; ++i) {
mario[10][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 9; i < 11; ++i) {
mario[10][i].format().color(Color::red);
}
for (size_t i = 11; i < 13; ++i) {
mario[10][i].format().color(Color::yellow);
}
for (size_t i = 13; i < 18; ++i) {
mario[10][i].format().color(Color::red);
}
for (size_t i = 18; i < 20; ++i) {
mario[10][i].format().color(Color::yellow);
}
for (size_t i = 20; i < 22; ++i) {
mario[10][i].format().color(Color::red);
}
for (size_t i = 22; i < 24; ++i) {
mario[10][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 24; i < 29; ++i) {
mario[10][i].format().color(Color::yellow);
}
// Row 11
for (size_t i = 1; i < 9; ++i) {
mario[11][i].format().color(Color::yellow);
}
for (size_t i = 9; i < 22; ++i) {
mario[11][i].format().color(Color::red);
}
for (size_t i = 22; i < 29; ++i) {
mario[11][i].format().color(Color::yellow);
}
// Row 12
for (size_t i = 1; i < 7; ++i) {
mario[12][i].format().color(Color::yellow);
}
for (size_t i = 24; i < 29; ++i) {
mario[12][i].format().color(Color::yellow);
}
for (size_t i = 7; i < 24; ++i) {
mario[12][i].format().color(Color::red);
}
// Row 13
for (size_t i = 5; i < 14; ++i) {
mario[13][i].format().color(Color::red);
}
for (size_t i = 16; i < 24; ++i) {
mario[13][i].format().color(Color::red);
}
// Row 14
for (size_t i = 3; i < 12; ++i) {
mario[14][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 18; i < 26; ++i) {
mario[14][i].format().color(Color::green).font_style({FontStyle::dark});
}
// Row 15
for (size_t i = 1; i < 12; ++i) {
mario[15][i].format().color(Color::green).font_style({FontStyle::dark});
}
for (size_t i = 18; i < 29; ++i) {
mario[15][i].format().color(Color::green).font_style({FontStyle::dark});
}
std::cout << mario << "\n";
}
4 changes: 4 additions & 0 deletions recipes/tabulate/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
versions:
"1.0":
folder: all

0 comments on commit a07230d

Please sign in to comment.