From 2b8b64c784a29078b1eabbc830c128c28acd9918 Mon Sep 17 00:00:00 2001 From: Kosma Moczek Date: Thu, 2 Jun 2022 23:09:17 +0200 Subject: [PATCH] Full CMake support --- .gitignore | 1 + CMakeLists.txt | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) 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})