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()