31 lines
1.1 KiB
CMake
31 lines
1.1 KiB
CMake
cmake_minimum_required(VERSION 3.13)
|
|
project(led_indicator C)
|
|
|
|
set(CMAKE_C_STANDARD 99)
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
|
add_library(led_indicator STATIC led_indicator.c)
|
|
target_include_directories(led_indicator PUBLIC .)
|
|
|
|
if(MSVC)
|
|
target_compile_options(led_indicator PRIVATE /W4)
|
|
else()
|
|
target_compile_options(led_indicator PRIVATE -Wall -Wextra -Wpedantic)
|
|
endif()
|
|
|
|
option(LED_INDICATOR_BUILD_TESTS "Собирать тесты LED indicator" ON)
|
|
if(LED_INDICATOR_BUILD_TESTS)
|
|
enable_testing()
|
|
add_executable(test_led_indicator tests/test_led_indicator.c)
|
|
target_link_libraries(test_led_indicator PRIVATE led_indicator)
|
|
add_test(NAME led_indicator COMMAND test_led_indicator)
|
|
|
|
add_executable(test_led_indicator_stm32_port
|
|
tests/test_stm32_port.c
|
|
ports/stm32-hal/led_indicator_stm32_hal.c)
|
|
target_include_directories(test_led_indicator_stm32_port PRIVATE
|
|
. ports/stm32-hal tests/fakes)
|
|
target_link_libraries(test_led_indicator_stm32_port PRIVATE led_indicator)
|
|
add_test(NAME led_indicator_stm32_port COMMAND test_led_indicator_stm32_port)
|
|
endif()
|