Skip to content

Commit

Permalink
Merge pull request #20 from QtExcel/beta
Browse files Browse the repository at this point in the history
Beta : Feb 2023
  • Loading branch information
j2doll committed Feb 13, 2023
2 parents 9fb64ee + 1530963 commit 0ab1641
Show file tree
Hide file tree
Showing 310 changed files with 22,899 additions and 993 deletions.
14 changes: 9 additions & 5 deletions BuildEnv.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,13 @@ std::exception
## Case 2 : Linux

- Environment
- Qt 5.9.5
- gcc 7.5.0
- Ubuntu 18.04 x64
- Ubuntu 20.04
- Linux 5.15.79.1 x86_64
- g++ 11.3.0
- GNU Make 4.3
- QMake version 3.1
- Qt version 6.4.1


- Tested project (Qxlnt.tests)
- mostly OK
Expand All @@ -41,8 +45,8 @@ std::exception
/workspace/github/Qxlnt/build$ ./Qxlnt.test
..................................................................................................................................................................................................................................................................................................................
Run: 306
Passed: 306
Run: 314
Passed: 314
Failed: 0
```

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2018 Jay Two
Copyright (c) 2018-Current Jay Two

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
9 changes: 3 additions & 6 deletions Qxlnt/Qxlnt.pri
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
# Qxlnt.pri

########################################
# NOTICE:
# Check your compiler version. we need c++14 or higher version.
# GCC has full support for the previous revision of the C++ standard,
# which was published in 2014.
# See https://gcc.gnu.org/projects/cxx-status.html for more information.
# C++ 1x or 2y

CONFIG += c++14
#CONFIG += c++14
CONFIG += c++17

########################################
# Setting for OS and Compiler
Expand Down
2 changes: 1 addition & 1 deletion README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<p align="center"><img src="https://github.com/QtExcel/Qxlnt/raw/master/markdown-data/Concept-QXlnt.jpg"></p>

- Qxlnt는 xlnt가 Qt에서 사용될 수있게 해주는 도우미 프로젝트입니다.
- xlnt는 C++14를 사용하는 xlsx 라이브러리입니다. 자세한 정보는 '라이센스 및 링크'를 참조하십시오.
- xlnt는 C++1x를 사용하는 xlsx 라이브러리입니다. 자세한 정보는 '라이센스 및 링크'를 참조하십시오.

## 왜 만들었는가?

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<p align="center"><img src="https://github.com/QtExcel/Qxlnt/raw/master/markdown-data/Concept-QXlnt.jpg"></p>

- Qxlnt is a helper project that allows xlnt to be used in Qt.
- xlnt is xlsx library that using C++14. See 'License and links' for more information.
- xlnt is xlsx library that using C++1x. See 'License and links' for more information.

## Why did you make it?

Expand Down
2 changes: 2 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ theme: jekyll-theme-cayman

plugins:
- jemoji


36 changes: 36 additions & 0 deletions xlnt/.appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
version: "{build}"
os: Visual Studio 2015

cache:
- vcpkg -> .appveyor.yml

platform:
- x64

configuration:
- Debug

environment:
matrix:
- STATIC: OFF
- STATIC: ON

matrix:
fast_finish: true

init: []

before_build:
- git submodule update --init --recursive
- mkdir build
- cd build
- cmake -G "Visual Studio 14 2015" -D CMAKE_GENERATOR_PLATFORM=%platform% -D STATIC=%STATIC% -D SAMPLES=ON -D BENCHMARKS=ON -D TESTS=ON ..

build:
project: build/xlnt_all.sln
parallel: true
verbosity: minimal

test_script:
- tests\%configuration%\xlnt.test.exe
- samples\%configuration%\sample-documentation.exe
79 changes: 79 additions & 0 deletions xlnt/.circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
version: 2.1

jobs:
build:
docker:
- image: lycantropos/cmake:3.9.5
parameters:
benchmarks:
default: "OFF"
type: string
build-type:
default: Release
type: string
coverage:
default: "OFF"
type: string
cxx-ver:
default: "11"
type: string
samples:
default: "OFF"
type: string
static:
default: "ON"
type: string
steps:
- checkout
- run: git submodule update --init --recursive
- run: cmake -D XLNT_CXX_LANG=<< parameters.cxx-ver >> -D STATIC=<< parameters.static >> -D BENCHMARKS=<< parameters.benchmarks >> -D TESTS=ON -D SAMPLES=<< parameters.samples >> -D COVERAGE=<< parameters.coverage >> -D CMAKE_BUILD_TYPE=<< parameters.build-type >> .
- run: cmake --build . -- -j2
- run: ./tests/xlnt.test
- when:
condition:
equal: ["ON", << parameters.samples >>]
steps:
- run: ./samples/sample-decrypt
- run: ./samples/sample-img2xlsx ./samples/data/penguin.jpg img.xlsx
- run: ./samples/sample-documentation
- when:
condition:
equal: ["ON", << parameters.benchmarks >>]
steps:
- run: ./benchmarks/benchmark-styles
- run: ./benchmarks/benchmark-writer
- when:
condition:
equal: ["ON", << parameters.coverage >>]
steps:
- run: lcov --directory source/CMakeFiles/xlnt.dir --capture --output-file coverage.info --base-directory ../source --no-external --gcov-tool /usr/bin/gcov-6
- run: lcov --output-file coverage.info --remove coverage.info source/detail/serialization/miniz.cpp
- run: i=$(dirname $(pwd))
- run: sed -i "s|$i/||" coverage.info
- run: cd ..
- run: coveralls-lcov build/coverage.info

workflows:
build:
jobs:
- build:
name: tests
matrix:
parameters:
cxx-ver:
- "11"
- "17"
build-type:
- Release
- Debug
static:
- "ON"
- "OFF"
- build:
name: samples-benchmarks-coverage
cxx-ver: "11"
build-type: Debug
static: "ON"
samples: "ON"
benchmarks: "ON"
coverage: "OFF"
67 changes: 67 additions & 0 deletions xlnt/.clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
BasedOnStyle: LLVM
AccessModifierOffset: -4
AlignAfterOpenBracket: DontAlign
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignOperands: false
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: true
AllowShortLoopsOnASingleLine: false
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: true
BraceWrapping:
AfterClass: true
AfterControlStatement: true
AfterEnum: true
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
BeforeCatch: true
BeforeElse: true
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Custom
ColumnLimit: 0
ConstructorInitializerAllOnOneLineOrOnePerLine: true
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
IncludeCategories:
- Regex: '^<xlnt/xlnt_config.hpp>$'
Priority: 2
- Regex: '^<xlnt/'
Priority: 3
- Regex: '^<detail/'
Priority: 4
- Regex: '^<.*>&'
Priority: 1
- Regex: '^".*"'
Priority: 5
IndentCaseLabels: false
IndentWidth: 4
KeepEmptyLinesAtTheStartOfBlocks: false
Language: Cpp
NamespaceIndentation: None
MaxEmptyLinesToKeep: 1
PenaltyBreakComment: 1000
PointerAlignment: Right
SortIncludes: true
SpaceAfterCStyleCast: false
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: true
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
UseTab: Never

...
1 change: 1 addition & 0 deletions xlnt/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto
25 changes: 25 additions & 0 deletions xlnt/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
build/
docs/build/
docs/doxyxml/
node_modules/
*.obj
*.sdf
*.suo
*.opensdf
*.vcxproj.user
*.o
#*#
*~
.DS_Store
__pycache__/
Win32/
*.pyd
python/record.txt
python/xlntpyarrow.egg-info/
/x64/
.envrc
.vscode
/dist/
/.vs/
/out/
/CMakeSettings.json
3 changes: 3 additions & 0 deletions xlnt/.gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "third-party/libstudxml"]
path = third-party/libstudxml
url = https://git.codesynthesis.com/libstudxml/libstudxml.git
24 changes: 24 additions & 0 deletions xlnt/.release-it.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"git": {
"commitMessage": "release v${version}",
"requireBranch": "master",
"requireCommits": true,
"tagAnnotation": "release v${version}",
"tagName": "v${version}"
},
"github": {
"release": true,
"releaseName": "xlnt v${version}"
},
"npm": {
"publish": false
},
"plugins": {
"@release-it/bumper": {
"out": {
"file": "source/CMakeLists.txt",
"type": "text/plain"
}
}
}
}
13 changes: 13 additions & 0 deletions xlnt/AUTHORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
This project was started by Thomas Fussell.

It was initially inspired by the openpyxl library: https://openpyxl.readthedocs.org

Thanks to everyone who has contributed to this project (in alphabetical order):

* adam-nielsen
* Malvineous
* sukoi26
* tpmccallum
* xpol

Project logo designed by Thomas Fussell.
4 changes: 4 additions & 0 deletions xlnt/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Change Log

This project adheres to [Semantic Versioning](http://semver.org/).
Every release is documented on the Github [Releases](https://github.com/tfussell/xlnt/releases) page.
59 changes: 59 additions & 0 deletions xlnt/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
cmake_minimum_required(VERSION 3.1)
project(xlnt_all)

add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")

# CTest setup
# include (CTest) # Add this for valgrind support; CTest works without it
enable_testing()

# This indicates to CMakeLists in subdirectories that they are part of a larger project
set(COMBINED_PROJECT TRUE)

# Library type
option(STATIC "Set to ON to build xlnt as a static library instead of a shared library" OFF)

# c++ language standard to use
set(XLNT_VALID_LANGS 11 14 17)
set(XLNT_CXX_LANG "14" CACHE STRING "c++ language features to compile with")
# enumerate allowed values for cmake gui
set_property(CACHE XLNT_CXX_LANG PROPERTY STRINGS ${XLNT_VALID_LANGS})
# validate value is in XLNT_VALID_LANGS
list(FIND XLNT_VALID_LANGS ${XLNT_CXX_LANG} index)
if(index EQUAL -1)
message(FATAL_ERROR "XLNT_CXX_LANG must be one of ${XLNT_VALID_LANGS}")
endif()


# Optional components
option(TESTS "Set to ON to build test executable (in ./tests)" OFF)
option(SAMPLES "Set to ON to build executable code samples (in ./samples)" OFF)
option(BENCHMARKS "Set to ON to build performance benchmarks (in ./benchmarks)" OFF)
option(PYTHON "Set to ON to build Arrow conversion functions (in ./python)" OFF)

# Platform specific options
if(MSVC)
option(STATIC_CRT "Link with the static version of MSVCRT (/MD[d])" OFF)
else()
option(COVERAGE "Generate coverage data using gcov" OFF)
endif()

# Add components according to selected options
if(SAMPLES)
add_subdirectory(samples)
endif()

if(BENCHMARKS)
add_subdirectory(benchmarks)
endif()

if(TESTS)
add_subdirectory(tests)
endif()

if(PYTHON)
add_subdirectory(python)
endif()

add_subdirectory(source)
Loading

0 comments on commit 0ab1641

Please sign in to comment.