cmake_minimum_required(VERSION 3.13)
project(ds18b20_ds2480 C)
add_library(ds18b20_ds2480 STATIC ds2480.c ds18b20_ds2480.c)
target_include_directories(ds18b20_ds2480 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_features(ds18b20_ds2480 PUBLIC c_std_99)
if(MSVC)
    target_compile_options(ds18b20_ds2480 PRIVATE /W4)
else()
    target_compile_options(ds18b20_ds2480 PRIVATE -Wall -Wextra -Wpedantic)
endif()
option(DS18B20_DS2480_BUILD_TESTS "Build host tests" ON)
if(DS18B20_DS2480_BUILD_TESTS)
    enable_testing()
    add_executable(test_ds18b20_ds2480 tests/test_ds18b20_ds2480.c)
    target_link_libraries(test_ds18b20_ds2480 PRIVATE ds18b20_ds2480)
    add_test(NAME ds18b20_ds2480 COMMAND test_ds18b20_ds2480)
    add_executable(test_ds2480_stm32f4
        ports/stm32f4/ds2480_stm32f4_hal.c ports/stm32f4/tests/test_port.c)
    target_include_directories(test_ds2480_stm32f4 PRIVATE
        . ports/stm32f4 ports/stm32f4/tests)
    add_test(NAME ds2480_stm32f4 COMMAND test_ds2480_stm32f4)
endif()
