feat: add ci, testing and base structure
Some checks failed
CI / build (push) Failing after 56s

This commit is contained in:
2026-03-14 12:43:28 +01:00
parent 3dd87cc5b8
commit 431c9abcc7
6 changed files with 78 additions and 0 deletions

23
.gitea/workflows/ci.yml Normal file
View File

@@ -0,0 +1,23 @@
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: install deps
run: sudo apt install cmake
- name: build
run: |
cmake -B build
cmake --build build
- name: test
run: |
cd build
ctest

27
CMakeLists.txt Normal file
View File

@@ -0,0 +1,27 @@
cmake_minimum_required(VERSION 4.1)
project(curtle VERSION 0.1.0 LANGUAGES C)
add_library(curtle
src/linear_algebra.c
)
target_include_directories(curtle
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
install(TARGETS curtle
EXPORT curtleTargets
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
install(DIRECTORY include/ DESTINATION include)
enable_testing()
add_executable(test_linear_algebra tests/test_linear_algebra.c)
target_link_libraries(test_linear_algebra curtle)
add_test(NAME linear_algebra_test COMMAND test_linear_algebra)

0
include/curtle/curtle.h Normal file
View File

View File

@@ -0,0 +1,11 @@
#ifndef CURTLE_VECTOR_H
#define CURTLE_VECTOR_H
typedef struct {
double x;
double y;
} vec2;
vec2 vec2_add(vec2 a, vec2 b);
#endif

5
src/linear_algebra.c Normal file
View File

@@ -0,0 +1,5 @@
#include "curtle/linear_algebra.h"
vec2 vec2_add(vec2 a, vec2 b) {
return (vec2){a.x + b.x, a.y + b.y};
}

View File

@@ -0,0 +1,12 @@
#include <assert.h>
#include "curtle/linear_algebra.h"
int main() {
vec2 a = {1,2};
vec2 b = {3,4};
vec2 r = vec2_add(a,b);
assert(r.x == 4);
assert(r.y == 6);
}