Commit b4dd5db4 authored by Markus Lindelöw's avatar Markus Lindelöw
Browse files

Add support for posix

parent 09ff314a
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+2 −0
Changes for .gitignore: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
.cache
/build/
+84 −1
Changes for .gitlab-ci.yml: 84 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -2,8 +2,91 @@ variables:
  LC_ALL: C.UTF-8
  LANG: C.UTF-8

Sphinx:
.only-default: &only-default
  only:
    - merge_requests

stages:
  - linting
  - build
  - test
  - docs

# LINTING

static linting:
  <<: *only-default
  tags:
    - docker
  image: ubuntu:18.04
  stage: linting
  needs: []
  script:
    - apt update && apt install -y cmake g++ clang ninja-build clang-tidy
    - mkdir build && cd build
    - cmake -G "Ninja" ../ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DTCS_ENABLE_TESTS=ON -DTCS_ENABLE_EXAMPLES=ON
    - clang-tidy ../src/*.c

# BUILDS

linux gcc v9.3 x86-64:
  <<: *only-default
  tags:
    - docker
  image: ubuntu:18.04
  stage: build
  needs: []
  script:
    - apt update && apt install -y cmake g++ ninja-build
    - mkdir build && cd build
    - cmake -G "Ninja" ../ -DCMAKE_VERBOSE_MAKEFILE=ON -DTCS_ENABLE_TESTS=ON -DTCS_ENABLE_EXAMPLES=ON -DTCS_WARNINGS_AS_ERRORS=ON
    - cmake --build .
    - mv ./tests/tinyfiber-test ./tests_linux_gcc_x86-64
  artifacts:
    paths:
      - ./build/tests_linux_gcc_x86-64

win-1809 msvc v19.26:
  <<: *only-default
  tags:
    - shared-windows
    - windows
    - windows-1809
  stage: build
  needs: []
  script:
    - '& ./tools/build_msvc.bat'
    - 'mkdir build'
    - 'mv build64/tests/Debug/tinyfiber-test.exe ./build/tests_msvc_debug_x86-64.exe'
    - 'mv build64/tests/Release/tinyfiber-test.exe ./build/tests_msvc_release_x86-64.exe'
  artifacts:
    paths:
      - ./build/tests_msvc_debug_x86-64.exe
      - ./build/tests_msvc_release_x86-64.exe

# TESTS

linux test x86-64:
  <<: *only-default
  tags:
    - docker
  image: ubuntu:18.04
  stage: test
  needs: ["linux gcc v9.3 x86-64"]
  script:
    - ./build/tests_linux_gcc_x86-64 --reporters=junit,conosle --out=./report_linux_gcc_x86-64.xml
  artifacts:
    reports:
      junit: report_linux_gcc_x86-64.xml

# DOCUMENTATION

sphinx:
  <<: *only-default
  tags:
    - docker
  image: alpine:3.9
  stage: docs
  script:
    - apk add python3 make doxygen
    - pip3 install sphinx
+1 −1
Changes for CMakeLists.txt: 1 added line, 1 removed line.
Original line number Diff line number Diff line
cmake_minimum_required (VERSION 3.10)
project (tinyfiber)

# set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD 17)

if (WIN32)
    set(WINVER 0x0600)
+0 −2
Changes for README.md: 0 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -4,8 +4,6 @@ A cooperative lightweight job-system with a C-api. This library uses a N:M mappi

Online documentation: https://tinyfiber.readthedocs.io/

This library currently only supports Windows.

```cpp
#include "tinyfiber.h"

+2 −0
Changes for src/CMakeLists.txt: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -5,4 +5,6 @@ if (MSVC)
endif ()

target_include_directories(tinyfiber PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
if (MSVC)
    target_link_libraries(tinyfiber LINK_PUBLIC Kernel32.lib)
endif ()
 No newline at end of file
Loading