Remove Makefile, use cmake and update build instructions

This commit is contained in:
Chris Morgan 2022-06-10 13:33:51 -04:00
parent db03e437d4
commit 747177274c
3 changed files with 12 additions and 36 deletions

View File

@ -9,7 +9,6 @@ jobs:
- uses: actions/checkout@v3
- name: Install dependencies
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 )"
run: "( rm -rf build && mkdir build && cd build && cmake .. && make && CTEST_OUTPUT_ON_FAILURE=1 make
test && echo OK )"

View File

@ -1,31 +0,0 @@
# Copyright © 2014 Kosma Moczek <kosma@cloudyourcar.com>
# This program is free software. It comes without any warranty, to the extent
# permitted by applicable law. You can redistribute it and/or modify it under
# the terms of the Do What The Fuck You Want To Public License, Version 2, as
# published by Sam Hocevar. See the COPYING file for more details.
CFLAGS = -g -Wall -Wextra -Werror -std=c99
CFLAGS += -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_DARWIN_C_SOURCE
CFLAGS += $(shell pkg-config --cflags check)
LDLIBS += $(shell pkg-config --libs check)
all: scan-build test example
@echo "+++ All good."""
test: tests
@echo "+++ Running Check test suite..."
./tests
scan-build: clean
@echo "+++ Running Clang Static Analyzer..."
scan-build --status-bugs --keep-going $(MAKE) tests
clean:
$(RM) tests example *.o
tests: tests.o minmea.o
example: example.o minmea.o
tests.o: tests.c minmea.h
minmea.o: minmea.c minmea.h
.PHONY: all test scan-build clean

View File

@ -132,11 +132,19 @@ good to go.
Building and running the tests requires the following:
* CMake
* Check Framework (https://libcheck.github.io/check/).
* Clang Static Analyzer (https://clang-analyzer.llvm.org/).
If you have both in your ``$PATH``, running the tests should be as simple as
typing ``make``.
If you have both in your ``$PATH``, running the tests should be as simple as:
```
mkdir build
cd build
cmake ../
make
make test
```
## Limitations