Files
templates/c/led-indicator/CMakeLists.txt

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