cmake_minimum_required (VERSION 3.1)
project (tmf8805_mcu_driver)

set (CMAKE_C_STANDARD 99)

# version info
set (MCU_TMF8805_VERSION_MAJOR 1)
set (MCU_TMF8805_VERSION_MINOR 7)

set (FW_PATH CACHE FILEPATH "Pass in firmware intel hex file to build in to the driver")
option (BUILD_DOC "Build documentation" ON)
if (FW_PATH)
    set (BUILTIN_FW true)
else()
    set (BUILTIN_FW false)
endif()

# build artifact output locations
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_DOC_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/docs)

# 3rd party includes / libs
include_directories ("${PROJECT_SOURCE_DIR}/3rd_party/inc")

# RealTime library for clock_gettime()
set (RT_LIB  rt)
set (SREC_CFG "${PROJECT_SOURCE_DIR}/tof_srec_cat.cfg")

add_subdirectory (src)

if (NOT CMAKE_CROSSCOMPILING)
    enable_testing ()
    set(CMAKE_BUILD_TYPE Debug)
    set (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}")
    include (CodeCoverage)
    if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
        APPEND_COVERAGE_COMPILER_FLAGS ()
    endif()
    set (COVERAGE_LCOV_EXCLUDES "test/*")
    add_subdirectory (test)
endif()
