Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P2728R7 #1

Merged
merged 1 commit into from
Oct 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
BasedOnStyle: WebKit
ColumnLimit: 90
AlwaysBreakTemplateDeclarations: Yes
AlignAfterOpenBracket: Align
AllowShortFunctionsOnASingleLine: Empty
BreakConstructorInitializers: BeforeColon
PackConstructorInitializers: Never
Cpp11BracedListStyle: True
SpaceBeforeCpp11BracedList: False
BreakBeforeBraces: Custom
BraceWrapping:
AfterFunction: False
AllowShortEnumsOnASingleLine: False
BreakStringLiterals: False
AlwaysBreakAfterReturnType: None
PenaltyReturnTypeOnItsOwnLine: 200
ContinuationIndentWidth: 4
IndentWidth: 2
BreakBeforeBinaryOperators: None
IndentAccessModifiers: False
AccessModifierOffset: -2
ReflowComments: false
58 changes: 58 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: CI

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
gcc-linux:
runs-on: ubuntu-latest
container:
image: ghcr.io/ednolan/ubuntu24.10_gcc14.2.0
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Run
run: |
./ci.sh -DCMAKE_CXX_FLAGS='-fsanitize=address -fsanitize=undefined -fsanitize-undefined-trap-on-error -coverage'
- name: Paper
run: |
cmake --build ./build -t p2728
- name: Coverage
run: |
lcov --directory ./build --capture --output-file ./build/coverage_all.info
lcov --remove ./build/coverage_all.info -o ./build/coverage.info '/usr/include/*' "$PWD/src/UtfView/tests/*" "$PWD/deps/*"
- name: Coveralls
uses: coverallsapp/github-action@master
with:
path-to-lcov: ${{runner.workspace}}/UtfView/build/coverage.info
github-token: ${{ secrets.GITHUB_TOKEN }}
clang-linux:
runs-on: ubuntu-latest
container:
image: ghcr.io/ednolan/ubuntu24.10_clang19.1.0rc3
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Run
run: |
./ci.sh -DCMAKE_CXX_FLAGS='-fsanitize=address -fsanitize=undefined -fsanitize-undefined-trap-on-error -stdlib=libc++'
msvc-windows:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Run
shell: bash
run: |
./ci.sh
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build/
12 changes: 12 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[submodule "deps/stl_interfaces"]
path = deps/stl_interfaces
url = https://github.com/ednolan/stl_interfaces.git
[submodule "deps/assert"]
path = deps/assert
url = https://github.com/boostorg/assert.git
[submodule "deps/config"]
path = deps/config
url = https://github.com/boostorg/config.git
[submodule "deps/wg21"]
path = deps/wg21
url = https://github.com/mpark/wg21.git
27 changes: 27 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# SPDX-License-Identifier: GPL-3.0-only

cmake_minimum_required(VERSION 3.27)
project(utfview CXX)

if (BUILD_TESTING)
include(CTest)
endif()

if (NOT TARGET boost_config)
add_subdirectory(deps/config)
endif()

if (NOT TARGET boost_assert)
add_subdirectory(deps/assert)
endif()

if (NOT TARGET boost_stl_interfaces)
add_definitions(-DBOOST_STL_INTERFACES_ENABLE_DEDUCED_THIS)
add_subdirectory(deps/stl_interfaces)
else()
message(FATAL_ERROR "Conflicting dependency: boost_stl_interfaces already exists, but we need our own fork")
endif()

add_subdirectory(src/UtfView)

add_subdirectory(paper)
Loading
Loading