Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
035e069
draft
DerThorsten Jul 25, 2023
5dabfdb
draft
DerThorsten Jul 25, 2023
6f3c644
draft
DerThorsten Jul 25, 2023
e93104a
draft
DerThorsten Jul 25, 2023
84809bb
removed whitespaces
DerThorsten Jul 25, 2023
051af09
header only
DerThorsten Jul 27, 2023
1b05a50
testing
DerThorsten Jul 27, 2023
5cbad6f
cleanup part1
DerThorsten Jul 27, 2023
c2586aa
cleanup part1
DerThorsten Jul 27, 2023
75662c5
added unix ci
DerThorsten Jul 28, 2023
caa2ec7
added unix ci
DerThorsten Jul 28, 2023
cfbf6c7
added env file
DerThorsten Jul 28, 2023
acbbf51
added missing header
DerThorsten Jul 28, 2023
3a5d1fd
added missing header
DerThorsten Jul 28, 2023
6c4636f
added missing header
DerThorsten Jul 28, 2023
9c659df
added missing header
DerThorsten Jul 28, 2023
e64d211
added missing header
DerThorsten Jul 28, 2023
492f40e
linking DL libs
DerThorsten Jul 28, 2023
dd064d3
added private
DerThorsten Jul 28, 2023
317d139
added xplugin_host as interface library
DerThorsten Jul 28, 2023
ff8b5d9
added emscripten related defs
DerThorsten Jul 28, 2023
809bcd2
added emscripten related defs
DerThorsten Jul 28, 2023
4303cff
emscripten tests
DerThorsten Jul 28, 2023
c163104
got ride of unneded methods
DerThorsten Jul 28, 2023
efc2ffa
playwright tests
DerThorsten Jul 29, 2023
40efed3
rename env
DerThorsten Jul 29, 2023
1b6e602
source emsdk
DerThorsten Jul 29, 2023
1fd866d
source emsdk (part II)
DerThorsten Jul 29, 2023
6e035f5
activate emscripten & win
DerThorsten Jul 29, 2023
afdb288
win path change
DerThorsten Jul 29, 2023
5a867e9
win path change II
DerThorsten Jul 29, 2023
66c1a63
added missing file
DerThorsten Jul 29, 2023
47c3dec
simplified win
DerThorsten Jul 29, 2023
d2022b9
powershell magic
DerThorsten Jul 29, 2023
ccc2e22
set compiler
DerThorsten Jul 29, 2023
21e16e4
use cmd.exe instead of powershell
DerThorsten Jul 29, 2023
57debe9
link against doctest
DerThorsten Jul 29, 2023
7864313
remove m_path
DerThorsten Jul 29, 2023
4b7e9f1
remove return type of destructor
DerThorsten Jul 29, 2023
1405c01
error handling
DerThorsten Jul 29, 2023
b29bbca
removed unused var
DerThorsten Jul 29, 2023
fea8d2e
use generic instead of unix specific code
DerThorsten Jul 29, 2023
4a06632
use XPLUGIN_API
DerThorsten Jul 29, 2023
e4d9c17
use XPLUGIN_API part2
DerThorsten Jul 29, 2023
6dc692e
use XPLUGIN_API evertywhere
DerThorsten Jul 29, 2023
b7105e8
use XPLUGIN_API evertywhere
DerThorsten Jul 29, 2023
7e0ba8a
use XPLUGIN_API evertywhere ALL
DerThorsten Jul 29, 2023
7dede08
use XPLUGIN_API evertywhere ALL
DerThorsten Jul 29, 2023
713f504
skip examples
DerThorsten Jul 29, 2023
90b5367
only export for dll
DerThorsten Jul 29, 2023
6dcb183
less dllexport stuff
DerThorsten Jul 29, 2023
ced9f0a
less dllexport stuff
DerThorsten Jul 29, 2023
cbadf1f
inlining
DerThorsten Jul 29, 2023
1bbac50
inlining
DerThorsten Jul 29, 2023
51b76bf
less exports
DerThorsten Jul 29, 2023
ecb7add
removal
DerThorsten Jul 29, 2023
9c9749b
removal at xfactory
DerThorsten Jul 29, 2023
d451edd
dedicated test
DerThorsten Jul 30, 2023
770171b
use dll export
DerThorsten Jul 30, 2023
68616c1
export all symbols
DerThorsten Jul 30, 2023
79e3ca4
added semi-global registry
DerThorsten Jul 30, 2023
d9dab5b
cleanup
DerThorsten Jul 30, 2023
f157467
cleanup
DerThorsten Jul 30, 2023
9e6231d
minimal readme
DerThorsten Jul 30, 2023
17ee462
more examples
DerThorsten Jul 30, 2023
c2bfe54
improved impl of scan
DerThorsten Jul 30, 2023
145fed8
renamed methods
DerThorsten Jul 31, 2023
756fbe8
added .precommit
DerThorsten Jul 31, 2023
7217403
removed static
DerThorsten Jul 31, 2023
7fe4fb1
formated
DerThorsten Jul 31, 2023
a33ca47
added cmake function to add plugins
DerThorsten Jul 31, 2023
6603de3
added installation
DerThorsten Jul 31, 2023
00644b3
testing install naive
DerThorsten Jul 31, 2023
8d082f4
testing install naive
DerThorsten Jul 31, 2023
3268962
added macro
DerThorsten Jul 31, 2023
5cbaac3
made macro more simple
DerThorsten Jul 31, 2023
a91e740
spelling
DerThorsten Jul 31, 2023
bfcf16d
spelling
DerThorsten Jul 31, 2023
5a782ca
proper new lines
DerThorsten Jul 31, 2023
9849b25
different dir
DerThorsten Jul 31, 2023
dcb5bd3
different dir
DerThorsten Jul 31, 2023
707aecf
more examples
DerThorsten Aug 1, 2023
cbf1c35
more examples
DerThorsten Aug 1, 2023
a7508f3
removal of flags
DerThorsten Aug 1, 2023
50939ef
removal of flags
DerThorsten Aug 1, 2023
985d024
dont use emscripten for the external build example
DerThorsten Aug 1, 2023
ab4876a
more fpic
DerThorsten Aug 1, 2023
d619849
more fpic
DerThorsten Aug 1, 2023
8d27855
even more fpic
DerThorsten Aug 1, 2023
e60817f
testing
DerThorsten Aug 1, 2023
a76ee6a
docs
DerThorsten Aug 1, 2023
a25d25e
build sphinxs
DerThorsten Aug 1, 2023
2ad9e6b
build docs
DerThorsten Aug 1, 2023
85fce3a
empty
DerThorsten Aug 1, 2023
9273872
empty
DerThorsten Aug 1, 2023
f4456a9
.nojekyll
DerThorsten Aug 1, 2023
373d640
only deploy on tags
DerThorsten Aug 1, 2023
a5de8ff
only deploy on tags
DerThorsten Aug 1, 2023
f87c135
only deploy on tags
DerThorsten Aug 1, 2023
4da22d0
only deploy on Releases
DerThorsten Aug 1, 2023
9f4b79f
changed readme a bit
DerThorsten Aug 1, 2023
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
4 changes: 4 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
BasedOnStyle: Microsoft
AlwaysBreakTemplateDeclarations: 'Yes'
...
241 changes: 241 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
name: Build with conda
on:
push:
pull_request:

jobs:
unix:
strategy:
matrix:
include:
- os: ubuntu-latest
- os: macos-latest

fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3

- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v1
id: cpu-cores

- name: Install Conda environment from environment.yml
uses: mamba-org/setup-micromamba@v1
with:
environment-file: environment.yml
init-shell: >-
bash
cache-environment: true
post-cleanup: 'all'


- name: cmake configure
shell: bash -l {0}
run: |
mkdir -p bld
cd bld
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DXPLUGIN_BUILD_TESTS=ON \
-DXPLUGIN_BUILD_EXAMPLES=ON \
-DXPLUGIN_BUILD_DOCS=ON \
-DCMAKE_PREFIX_PATH=$CONDA_PREFIX \
.. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX

- name: Build
shell: bash -l {0}
run: |
cd bld
make -j ${{ steps.cpu-cores.outputs.count }}

- name: Run C++ tests
shell: bash -l {0}
run: |
cd bld
ctest -V

- name: Run examples
shell: bash -l {0}
run: |
cd bld/examples/

pushd accumulator
./main_accumulator .
popd

pushd serialize
./main_serialize .
popd

pushd custom_factory_with_metadata
./main_custom_factory_with_metadata .
popd



- name: Install
shell: bash -l {0}
run: |
cd bld
make install

- name: Test installation
shell: bash -l {0}
run: |
cd examples/serialize
mkdir -p bld
cd bld
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH=$CONDA_PREFIX \
..
make -j ${{ steps.cpu-cores.outputs.count }}
./main_serialize .

windows:
strategy:
matrix:
include:
- os: windows-latest
fail-fast: false
runs-on: ${{ matrix.os }}

steps:

- uses: actions/checkout@v3

- name: Install Conda environment from environment.yml
uses: mamba-org/setup-micromamba@v1
with:
environment-file: environment.yml
init-shell: >-
cmd.exe
cache-environment: true
post-cleanup: 'all'

- name: build and test
shell: cmd /C CALL {0}
run: |
mkdir bld
cd bld
cmake .. ^
-G Ninja ^
-DCMAKE_BUILD_TYPE=Release ^
-DXPLUGIN_BUILD_TESTS=ON ^
-DXPLUGIN_BUILD_EXAMPLES=OFF ^
-DCMAKE_PREFIX_PATH="%CONDA_PREFIX%\Library" ^
-DCMAKE_INSTALL_PREFIX="%CONDA_PREFIX%

cmake --build . --config Release
ctest -C Release -V

- name: Install
shell: cmd /C CALL {0}
run: |
cd bld
cmake --install . --config Release

- name: Test installation
shell: cmd /C CALL {0}
run: |
cd examples
cd serialize
mkdir bld
cd bld
cmake .. ^
-G Ninja ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_PREFIX_PATH="%CONDA_PREFIX%\Library"

SET thisdir=%cd%
cmake --build . --config Release
main_serialize.exe %thisdir%

emscripten:
strategy:
matrix:
include:
- emscripten_version: 3.1.27
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v1
id: cpu-cores

- name: Install Conda environment from environment_emscripten.yml
uses: mamba-org/setup-micromamba@v1
with:
environment-file: environment_emscripten.yml
init-shell: >-
bash
cache-environment: true
post-cleanup: 'all'

- name: install emscripten
shell: bash -l {0}
run: |
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install ${{ matrix.emscripten_version }}
source ./emsdk_env.sh

- name: install playwright
shell: bash -l {0}
run: |
playwright install

- name: run emscripten tests
shell: bash -l {0}
run: |
cd emsdk
./emsdk activate ${{ matrix.emscripten_version }}
source ./emsdk_env.sh
cd ..
chmod +x ./test/emscripten/test_emscripten.sh
./test/emscripten/test_emscripten.sh

docs:
strategy:
matrix:
include:
- os: ubuntu-latest

fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3

- name: Install Conda environment from environment.yml
uses: mamba-org/setup-micromamba@v1
with:
environment-file: environment.yml
init-shell: >-
bash
cache-environment: true
post-cleanup: 'all'

- name: cmake configure
shell: bash -l {0}
run: |
mkdir -p bld
cd bld
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DXPLUGIN_BUILD_TESTS=OFF \
-DXPLUGIN_BUILD_EXAMPLES= \
-DXPLUGIN_BUILD_DOCS=ON \
-DCMAKE_PREFIX_PATH=$CONDA_PREFIX \
-DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
..

- name: Build docs
shell: bash -l {0}
run: |
cd bld
make docs_sphinx

# add .nojekyll file to docs folder
touch docs/html/.nojekyll
57 changes: 57 additions & 0 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Build and deploy docs
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
release:
types:
- published

jobs:
docs:
strategy:
fail-fast: false
runs-on: ubuntu-latest
if: github.event_name == 'release' && github.event.action == 'published'
steps:
- uses: actions/checkout@v3

- name: Install Conda environment from environment.yml
uses: mamba-org/setup-micromamba@v1
with:
environment-file: environment.yml
init-shell: >-
bash
cache-environment: true
post-cleanup: 'all'

- name: cmake configure
shell: bash -l {0}
run: |
mkdir -p bld
cd bld
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DXPLUGIN_BUILD_TESTS=OFF \
-DXPLUGIN_BUILD_EXAMPLES= \
-DXPLUGIN_BUILD_DOCS=ON \
-DCMAKE_PREFIX_PATH=$CONDA_PREFIX \
-DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
..

- name: Build docs
shell: bash -l {0}
run: |
cd bld
make docs_sphinx

# add .nojekyll file to docs folder
touch docs/html/.nojekyll

- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@4.1.7
with:
branch: gh-pages # The branch the action should deploy to.
folder: bld/docs/html # The folder the action should deploy.
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,16 @@ docs/*.tmp

# Generated files
*.pc


# bld dir
bld
build
build_emscripten
bld_emscripten

# vscode
.vscode

# Mac
.DS_Store
12 changes: 12 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml

- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v16.0.6
hooks:
- id: clang-format
Loading