Merge pull request #65 from kosma/cmake

CMake support
This commit is contained in:
Kosma Moczek 2022-06-05 12:17:08 +02:00 committed by GitHub
commit 143d5558db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 1 deletions

View File

@ -8,6 +8,8 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: sudo apt-get install -y clang-tools check
run: sudo apt-get install -y clang-tools check cmake
- name: make
run: make
- name: cmake
run: "( rm -rf build && mkdir build && cd build && cmake .. && make && ./tests && echo OK )"

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
build/
cmake-build-*/
*.o
*~
*.diff

19
CMakeLists.txt Normal file
View File

@ -0,0 +1,19 @@
cmake_minimum_required(VERSION 3.3)
project(minmea)
find_package(Threads REQUIRED) # Workaround for https://github.com/libcheck/check/issues/48#issuecomment-322965461
find_package(PkgConfig)
pkg_check_modules(CHECK REQUIRED check)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -Wextra -Werror -std=c99")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_DARWIN_C_SOURCE")
set(minmea_SRCS minmea.c minmea.h)
add_library(minmea ${minmea_SRCS})
add_executable(example example.c)
add_executable(tests tests.c)
target_link_libraries(example minmea)
target_link_libraries(tests minmea ${CHECK_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
target_include_directories(tests PUBLIC ${CHECK_INCLUDE_DIRS})
target_compile_options(tests PUBLIC ${CHECK_CFLAGS_OTHER})