cmake_minimum_required(VERSION 3.13) project(protocan_transport C) set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED ON) # Ядро библиотеки: платформенных зависимостей нет, собирается под что угодно. add_library(protocan_transport STATIC src/pcan_crc.c src/pcan_frame.c src/pcan_id.c src/pcan_link.c src/pcan_ring.c src/pcan_gas.c ) target_include_directories(protocan_transport PUBLIC include) if(MSVC) target_compile_options(protocan_transport PRIVATE /W4) else() target_compile_options(protocan_transport PRIVATE -Wall -Wextra -Wpedantic) endif() # Порт ports/stm32f4 сюда не входит: ему нужен CMSIS-заголовок stm32f4xx.h, # он подключается напрямую в проект прошивки. option(PCAN_BUILD_TESTS "Собирать тесты" ON) if(PCAN_BUILD_TESTS) enable_testing() add_executable(test_transport tests/test_transport.c) target_link_libraries(test_transport PRIVATE protocan_transport) add_test(NAME transport COMMAND test_transport) endif()