diff --git a/.gitignore b/.gitignore index f765426..0ef0814 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,4 @@ CTestTestfile.cmake _deps CMakeUserPresets.json +build diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..83aacc5 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 3.10) +project(cosms-core C) + +set(CMAKE_C_STANDARD 11) +set(CMAKE_C_STANDARD_REQUIRED ON) + +file(GLOB_RECURSE SRC_FILES "${PROJECT_SOURCE_DIR}/src/*.c") +add_library(cosms-core STATIC ${SRC_FILES}) +target_include_directories(cosms-core PUBLIC ${PROJECT_SOURCE_DIR}/include) + +if (MSVC) + target_compile_options(cosms-core PRIVATE /W4) +else() + target_compile_options(cosms-core PRIVATE -wall -Wextra -pedantic) +endif() + +add_executable(cosms-core-test ${PROJECT_SOURCE_DIR}/tests/main.c) + +target_include_directories(cosms-core-test PRIVATE ${PROJECT_SOURCE_DIR}/tests) +target_link_libraries(cosms-core-test cosms-core) diff --git a/include/cosms-core/file.h b/include/cosms-core/file.h new file mode 100644 index 0000000..d29be8b --- /dev/null +++ b/include/cosms-core/file.h @@ -0,0 +1,7 @@ +#ifndef COSMS_CORE_FILE +#define COSMS_CORE_FILE + +void cosms_core_file_read(char *path); +void cosms_core_file_write(char *path); + +#endif diff --git a/src/file.c b/src/file.c new file mode 100644 index 0000000..bf321da --- /dev/null +++ b/src/file.c @@ -0,0 +1,11 @@ +#include + +#include + +void cosms_core_file_read(char *path) { + printf("Hello, World!"); +} + +void cosms_core_file_write(char *path) { + printf("Hello, World"); +} diff --git a/tests/main.c b/tests/main.c new file mode 100644 index 0000000..e6e6793 --- /dev/null +++ b/tests/main.c @@ -0,0 +1,6 @@ +#include + +int main(void) { + cosms_core_file_read("test.txt"); + return 0; +}