Skip to content

Commit

Permalink
initial draft
Browse files Browse the repository at this point in the history
  • Loading branch information
christianparpart committed Jul 21, 2021
0 parents commit 845c2cb
Show file tree
Hide file tree
Showing 25 changed files with 2,355 additions and 0 deletions.
17 changes: 17 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
root = true

[*]
indent_style = space
indent_size = 4
insert_final_newline = true
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true

[*.md]
indent_style = space
indent_size = 2

[*.yml]
indent_style = space
indent_size = 4
4 changes: 4 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# These are supported funding model platforms

github: ['christianparpart']
custom: ['https://paypal.me/ChristianParpart']
10 changes: 10 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
CI:
- .github/**
CMake:
- "**CMakeLists.txt"
- cmake/**
documentation:
- "**/*.md"
- docs/**
test:
- src/**/*_test.cpp
159 changes: 159 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
name: Build

on:
push:
paths-ignore:
- 'docs/**'
- '.github/ISSUE_TEMPLATE/**'
- '.github/*.yml'
- 'LICENSE.txt'
- '*.md'
- '*.sh'
branches:
- master
- feature/**
- fix/**
- improvement/**
pull_request:
branches:
- master

env:
CTEST_OUTPUT_ON_FAILURE: 1
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules

jobs:
ubuntu_2004:
name: "Ubuntu Linux 20.04"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{github.workflow}}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: set environment variables
id: set_vars
run: ./scripts/ci-set-vars.sh
env:
REPOSITORY: ${{ github.event.repository.name }}
- name: "install dependencies"
run: |
set -ex
sudo apt -q update
sudo ./scripts/install-deps.sh
- name: "create build directory"
run: mkdir build
- name: "cmake"
run: |
BUILD_DIR="build" \
CMAKE_BUILD_TYPE="RelWithDebInfo" \
CXX="g++-9" \
EXTRA_CMAKE_FLAGS="" \
./scripts/ci-prepare-contour.sh
- name: "build"
run: cmake --build build/ -- -j3

ubuntu1804:
name: "Ubuntu Linux 18.04"
runs-on: ubuntu-18.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{github.workflow}}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: set environment variables
id: set_vars
run: ./scripts/ci-set-vars.sh
env:
REPOSITORY: ${{ github.event.repository.name }}
- name: "install dependencies"
run: |
set -ex
sudo apt -q update
sudo ./scripts/install-deps.sh
- name: "Get specific version CMake, v3.18.3"
uses: lukka/[email protected]
- name: "create build directory"
run: mkdir build
- name: "cmake"
run: |
BUILD_DIR="build" \
CMAKE_BUILD_TYPE="Release" \
CXX="g++-8" \
EXTRA_CMAKE_FLAGS="-DCONTOUR_BLUR_PLATFORM_KWIN=ON -DUSE_BOOST_FILESYSTEM=ON" \
./scripts/ci-prepare-contour.sh
- name: "build"
run: cmake --build build/ -- -j3

osx:
name: "OS/X"
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{github.workflow}}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: set variables
id: set_vars
run: ./scripts/ci-set-vars.sh
env:
REPOSITORY: ${{ github.event.repository.name }}
- name: "Install dependencies"
run: |
set -ex
#brew update
./scripts/install-deps.sh
- name: "Create build directory"
run: mkdir build
- name: "Generate build files"
run: |
cmake . \
-DCMAKE_BUILD_TYPE=Release \
-DYAML_BUILD_SHARED_LIBS=OFF -DYAML_CPP_BUILD_CONTRIB=OFF \
-DYAML_CPP_BUILD_TESTS=OFF -DYAML_CPP_BUILD_TOOLS=OFF \
-DYAML_CPP_INSTALL=OFF \
-DQt5_DIR="$(brew --prefix qt5)/lib/cmake/Qt5" \
-B build/
- name: "Build"
run: cmake --build build/

windows:
name: "Windows"
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{github.workflow}}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: setup environment
shell: powershell
id: set_vars
run: .\scripts\ci-set-vars.ps1
env:
REPOSITORY: ${{ github.event.repository.name }}
- name: Install Qt
uses: jurplel/install-qt-action@v2
- name: "vcpkg: Install dependencies"
uses: lukka/run-vcpkg@v5
id: runvcpkg
with:
vcpkgArguments: freetype fontconfig harfbuzz
vcpkgDirectory: ${{ runner.workspace }}/vcpkg/
vcpkgGitCommitId: b063d0cee7389514a0841cf1e2e055d6466fe4b8
vcpkgTriplet: x64-windows
- name: "create build directory"
shell: powershell
run: |
If (!(Test-Path build))
{
New-Item -ItemType Directory -Force -Path build
}
- name: "Generate build files"
run: cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="${{ runner.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows -DYAML_BUILD_SHARED_LIBS=OFF -DCONTOUR_EXAMPLES=OFF -DLIBTERMINAL_TESTING=ON -DLIBUNICODE_TESTING=ON -DYAML_CPP_BUILD_CONTRIB=OFF -DYAML_CPP_BUILD_TESTS=OFF -DYAML_CPP_BUILD_TOOLS=OFF -DYAML_CPP_INSTALL=OFF -B build .
- name: "Build"
run: cmake --build build/ --config Release
63 changes: 63 additions & 0 deletions .github/workflows/disabled/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: "Code scanning"

on:
push:
branches:
- master
- testing
- unstable
- wip
pull_request:
branches:
- master

jobs:
CodeQL-Build:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2

# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}

- name: "initialize sub modules"
run: git submodule update --init --recursive

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: cpp

- name: "install dependencies"
run: |
set -ex
cat /etc/apt/sources.list
sudo apt -q update
sudo apt install -y "g++-9" \
libfreetype6-dev \
qtbase5-dev libqt5gui5 extra-cmake-modules libkf5windowsystem-dev \
libfontconfig1-dev libharfbuzz-dev
- name: "create build directory"
run: mkdir build
- name: "cmake"
run: |
cd build && cmake .. \
-DCONTOUR_BLUR_PLATFORM_KWIN=ON \
-DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-9 \
-DYAML_BUILD_SHARED_LIBS=OFF -DYAML_CPP_BUILD_CONTRIB=OFF \
-DYAML_CPP_BUILD_TESTS=OFF -DYAML_CPP_BUILD_TOOLS=OFF \
-DYAML_CPP_INSTALL=OFF
- name: "build"
run: cmake --build build/ -- -j3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
12 changes: 12 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: "PR Labeler"

on:
- pull_request_target

jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v3
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
54 changes: 54 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Visual Studio Code
.vscode
.vscode/**
build
build/**
release
release/**

# Visual Studio
.vs
.vs/**
out
out/**
CMakeSettings.json

# VIM: code completion / IntelliSense
.clangd
.clangd/**
.cache
.cache/**
compile_commands.json
.vimspector.json

# CMake (CTest)
/Testing/

# This is a workspace-local sandbox directory with test files not to be included in Git.
sandbox
sandbox/**

# Never add any log files.
*.log

# Never accidentally add any screenshot files.
*.vt

# NVIDIA Nsight Graphics (Debugger, project files)
*.nsight-gfxproj

# OS X
.DS_Store

# Linux/KDE
.directory

# debian: dpkg-buildpackage intermediates
debian/files
debian/tmp/**
debian/.debhelper/**
debian/contour.substvars
debian/contour/**
configure-stamp
build-stamp
install-stamp
23 changes: 23 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

project(termbench-pro VERSION "${CONTOUR_VERSION}" LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

include(EnableCcache)
include(ClangTidy)
include(PedanticCompiler)

if(DEFINED MSVC)
add_definitions(-DNOMINMAX)
add_definitions(-D_USE_MATH_DEFINES)
endif()

add_subdirectory(libtermbench)
add_subdirectory(termbenchpro)
include(ThirdParties)
Empty file added Changelog.md
Empty file.
Loading

0 comments on commit 845c2cb

Please sign in to comment.