diff --git a/.gitignore b/.gitignore index dd53256..8b77ca0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +build/ *.o *~ *.diff diff --git a/CMakeLists.txt b/CMakeLists.txt index f657507..de45c10 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,18 @@ cmake_minimum_required(VERSION 3.3) project(minmea) -set(core_SRCS minmea.c minmea.h) -add_library(core ${core_SRCS}) -add_executable(exe example.c) -target_link_libraries(exe core) +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})