Commit 436d6cc7 authored by Edwin Carlinet's avatar Edwin Carlinet

Removed draw/line2d algorithm.

Use a 2D graphic library for this pupose.
parent 1b4175e3

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -25,9 +25,25 @@ BraceWrapping:
NamespaceIndentation: All
FixNamespaceComments: true
IndentWrappedFunctionNames: true
IndentWrappedFunctionNames: false # Do not indent after function def break
AllowShortFunctionsOnASingleLine: Inline
AlwaysBreakTemplateDeclarations: true
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: true
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments: true
BreakConstructorInitializers: BeforeComma
BreakStringLiterals: true
CompactNamespaces: true
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 2
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
MaxEmptyLinesToKeep: 2
# For loop
ForEachMacros: ['mln_forall', 'mln_foreach']
ForEachMacros: ['mln_forall', 'mln_foreach', 'mln_foreach_new', 'mln_reverse_foreach']
/build*
/cmake-build-*
/doc/build
/doc/html
/doc/doxyxml
/doc/source/images/*.png
.vscode
/test_package/build
/doc/source/_build
.vs
.idea
*.pyc
compile_commands.json
\ No newline at end of file
compile_commands.json
/venv_*/
/**/.DS_Store
.nfs*
\ No newline at end of file
stages:
- build
- test
- bench
- deploy
image: carlinet/buildimage
cache:
paths:
- .cache/conan/data
variables:
FEDORA_RAWHIDE: "${CI_REGISTRY}/olena/pylene-dockers/fedora-rawhide"
FEDORA_31: "${CI_REGISTRY}/olena/pylene-dockers/fedora-31"
PACKAGE_NAME: "pylene" # Conan package name
PACKAGE_TAG: "stable" # Conan tag
PACKAGE_VERSION: "head" # Version to build
CMAKE_BUILD_PARALLEL_LEVEL: 6
CONAN_USER: "lrde"
before_script:
- conan config set storage.path="${CI_PROJECT_DIR}/.cache/conan/data"
########
# Test #
########
windows-debug:
before_script:
- conan config set storage.path="${env:CI_PROJECT_DIR}\.cache\conan\data"
- Invoke-BatchFile -Path "${env:VCVAR2019}" -Parameters "${env:ARCH}"
stage: build
script:
- mkdir build; cd build
- conan install .. -s build_type=Debug --build missing
- cmake .. -G Ninja -DCMAKE_BUILD_TYPE=debug -D CMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake"
- cmake --build . --target build-tests
- ctest -L UnitTests --schedule-random --output-on-failure
dependencies: []
artifacts:
reports:
junit: [build/tests/UT*.xml, build/bench/tests/UT*.xml]
expire_in: 1 week
tags: [ windows ]
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_BRANCH == "master"
- when: manual
variables:
VCVAR2019: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat'
ARCH: x64
.job-build-linux-base: &distcheck-linux-base
stage: test
stage: build
script:
- mkdir build && cd build
- cmake .. -DCMAKE_BUILD_TYPE=$PYLENE_CONFIGURATION -DPYLENE_BUILD_BENCHMARKS=OFF
- cmake --build . --target check
- conan install .. -pr gcc-9 --build missing -e CXX=g++ -e CC=gcc
- cmake -G Ninja .. -DCMAKE_BUILD_TYPE=$PYLENE_CONFIGURATION -DSANITIZE_ADDRESS=$ASAN -DSANITIZE_MEMORY=$MSAN -DSANITIZE_UNDEFINED=$UBSAN
- cmake --build . --target Pylene
- cmake --build . --target build-tests
- ctest -L UnitTests --schedule-random --output-on-failure
dependencies: []
artifacts:
reports:
junit: [build/tests/UT*.xml, build/bench/tests/UT*.xml]
expire_in: 1 week
# Msan not available for gcc. It requires instrumented libstdc++ and instrumented thirdparties so it is disabled for now.
# No tsan because no multithreaded code for now
# Asan, memsan and tsan are incompatible with each other within the same binary
# Asan and ubsan can work together
distcheck-linux-gcc-release:
distcheck-linux-gcc9-release:
<<: *distcheck-linux-base
image: ${FEDORA_31}
variables:
PYLENE_CONFIGURATION: "Release"
CXX: "g++"
CC: "gcc"
ASAN: "OFF"
MSAN: "OFF"
UBSAN: "OFF"
distcheck-linux-clang-release:
<<: *distcheck-linux-base
variables:
PYLENE_CONFIGURATION: "Release"
CXX: "clang++"
CC: "clang"
distcheck-linux-gcc-debug:
distcheck-linux-gcc9-debug-asan-ubsan:
<<: *distcheck-linux-base
image: ${FEDORA_31}
variables:
PYLENE_CONFIGURATION: "Debug"
CXX: "g++"
CC: "gcc"
ASAN: "ON"
MSAN: "OFF"
UBSAN: "ON"
distcheck-linux-clang-debug:
distcheck-linux-coverage:
<<: *distcheck-linux-base
image: ${FEDORA_31}
after_script:
- mkdir coverage
- gcovr --root pylene build -s --xml cobertura --html-details coverage/index.html
variables:
PYLENE_CONFIGURATION: "Debug"
CXX: "clang++"
CC: "clang"
CXX: "g++"
CC: "gcc"
CXXFLAGS: "-fprofile-arcs -ftest-coverage"
CFLAGS: "-fprofile-arcs -ftest-coverage"
artifacts:
paths:
- coverage/
reports:
cobertura: cobertura
expire_in: 1 week
coverage: '/lines: \d+\.\d+\%/'
rules:
- if: $CI_MERGE_REQUEST_ID
- if: $CI_COMMIT_BRANCH == "master"
- when: manual
build-doc-images:
stage: build
#########
# Bench #
#########
.job-bench-linux-base: &distbench-linux-base
stage: bench
script:
- mkdir build && cd build
- cmake .. -DCMAKE_BUILD_TYPE=Release -DPYLENE_BUILD_BENCHMARKS=OFF
- cmake --build . --target build-images
- conan install .. -pr gcc-9 --build missing -e CXX=g++ -e CC=gcc
- cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release
- cmake --build . --target fetch-external-data
- cmake --build . --target build-bench
- cmake --build . --target run-all-benchmarks
- ctest -L SpeedTests -V
tags: [ "pylene-benchmarks" ]
when: manual
dependencies: []
artifacts:
name: "benchmark-results"
paths:
- doc/source/images
expire_in: 2 days
- build/bench/*.json
expire_in: 1 week
distbench-linux-gcc9-release:
<<: *distbench-linux-base
image: ${FEDORA_31}
variables:
CXX: "g++"
CC: "gcc"