Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
f07d6fa
Don't poison the cache
May 16, 2026
416d7f5
Change option to be able to group
May 16, 2026
060fea8
Resort options
May 16, 2026
1fac5f4
Use prokect-specific var
May 16, 2026
9368795
add headers for guis
May 16, 2026
432f328
Added options for shared/static
May 16, 2026
771a485
reformat
May 17, 2026
f3f88b0
Default build-type is Release and value is not cached anymore
May 17, 2026
d7a6be4
No need to name based upon used compiler
May 17, 2026
bed964f
added openmp1 to tests
May 17, 2026
b25e5b7
fixed test naming
May 17, 2026
fe54d73
fixed config install location
May 17, 2026
d5249c7
fixed output-names of libs
May 17, 2026
e8bfa17
added integration-tests
May 17, 2026
9a34423
Check wether macros __GNUC__ and _POSIX_C_SOURCE are defined befrore …
May 19, 2026
1678944
Fix arm64 build, originally from https://github.com/ice0
May 19, 2026
9468c89
Chaged export for Components
May 23, 2026
58d1177
removed ifdef as openmp1 is only built when openmp is available
May 23, 2026
49227f4
rewrote almost everything to get a clean separation between C/C++
May 23, 2026
076b843
Expanded CI
May 23, 2026
d937d71
SEH doesn't work on non-MSVC
May 24, 2026
ed1b58c
added check for stdint.h and use it
May 24, 2026
de3bb1a
use __PTW32_BUILD_INLINED only on MSVC
May 24, 2026
7ddd780
don't use register anymore
May 24, 2026
483a560
use _aatribute__ correct for ctor/dtor
May 24, 2026
3a580f3
if user wants exceptions, user has to catch them (at least on non-MSVC
May 24, 2026
f5ea0b1
terminated is defined in exception, not new
May 24, 2026
9007310
also use stdint.h for nolib tests
May 24, 2026
e6fd86b
remove commented before-rewrite code
May 24, 2026
ed68ab4
convert to const char* not char*
May 24, 2026
a0cfa1f
use <exception> also for set_terminate
May 24, 2026
bf5bbc6
Moved _omp_lib into the right place
May 24, 2026
76e2b63
migrated to newer omp-api
May 24, 2026
552c69a
fix workflow
May 24, 2026
2f9816c
c++ does also not work in mingw
May 27, 2026
1f1bbc4
use atomics instead of fragile asm replacements from the olden days
May 27, 2026
fb8be64
Fix linking with openMP
May 27, 2026
d9e82d1
build a new test-source instead of unreliable openmp source
May 27, 2026
a292a2f
added fallback for openMP < 3
May 27, 2026
2ff03bb
removed too noisy build in ci
May 27, 2026
a4d26de
Fixed building of static-only CE
May 27, 2026
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
106 changes: 82 additions & 24 deletions .github/workflows/ccpp.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,92 @@
name: Build
name: CI

on: [push, pull_request]
on:
push:
pull_request:

jobs:
windows:
name: Build (${{ matrix.os }} - ${{ matrix.type }})
runs-on: ${{ matrix.os }}

msvc:
name: msvc-${{ matrix.variant }}-${{ matrix.link }}
runs-on: windows-latest

strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2019]
type: [Debug, Release]
exception: [No-Exceptions, C++-Exceptions, structured-Exceptions]
variant: [C, SE, CE]
link: [static, shared]

steps:
- uses: actions/checkout@v4
- uses: microsoft/setup-msbuild@v1

- name: Configure
run: >
cmake -S . -B build
-G "Visual Studio 17 2022"
-DPTHREADS4W_BUILD_${{ matrix.variant }}=ON
-DPTHREADS4W_BUILD_SHARED=${{ matrix.link == 'shared' && 'ON' || 'OFF' }}

- name: Build
run: cmake --build build --config Release

- name: Test
run: ctest --test-dir build -C Release --output-on-failure

msys:
name: msys-${{ matrix.sys }}
runs-on: ${{ matrix.os || 'windows-latest' }}

strategy:
fail-fast: false
matrix:
sys: [mingw32, mingw64, ucrt64, clang64, clangarm64]
include:
- sys: clangarm64
os: windows-11-arm

defaults:
run:
shell: msys2 {0}

steps:
- uses: actions/checkout@v2

- if: matrix.exception == 'No-Exceptions'
name: Configure
run: cmake -S . -B build
- if: matrix.exception == 'C++-Exceptions'
name: Configure
run: cmake -S . -B build -DPTHREADS4W_BUILD_C=FALSE -DPTHREADS4W_BUILD_CE=TRUE
- if: matrix.exception == 'structured-Exceptions'
name: Configure
run: cmake -S . -B build -DPTHREADS4W_BUILD_C=FALSE -DPTHREADS4W_BUILD_SE=TRUE
- name: Build ${{ matrix.type }}
run: cmake --build build --config ${{ matrix.type }}
- name: Test ${{ matrix.type }}
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.sys }}
update: true
install: >-
make
pacboy: >-
toolchain:p
cmake:p

- name: Configure
if: matrix.sys != 'clang64' && matrix.sys != 'clangarm64'
run: |
cd build
ctest -C ${{ matrix.type }}
cmake -G "Unix Makefiles" \
-S . \
-B build \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_BUILD_TYPE=Release

- name: Configure clang
if: matrix.sys == 'clang64' || matrix.sys == 'clangarm64'
run: |
CC=clang CXX=clang++ \
cmake -G "Unix Makefiles" \
-S . \
-B build \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_BUILD_TYPE=Release

- name: Build
run: cmake --build build

- name: Test
run: ctest --output-on-failure --test-dir build
Loading
Loading