cmake_minimum_required(VERSION 3.10) # set the project name project(CLS_Master_Unity) set(CMAKE_EXPORT_COMPILE_COMMANDS 1) add_executable(${CMAKE_PROJECT_NAME}) target_sources(${CMAKE_PROJECT_NAME} PUBLIC tests.c mock_os/mock_os.c ../lib/Unity/src/unity.c ) target_include_directories(${CMAKE_PROJECT_NAME} PUBLIC ./ ../lib/Unity/src ) include_directories(mock_os) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../lib/nanopb/extra) find_package(Nanopb REQUIRED) include_directories(${NANOPB_INCLUDE_DIRS}) nanopb_generate_cpp(PROTO_SRCS PROTO_HDRS RELPATH proto ../../proto/firmware.proto) add_library(PROTOS ${PROTO_SRCS} ${PROTO_HDRS}) target_include_directories(PROTOS PUBLIC ${NANOPB_INCLUDE_DIRS} ${PROJECT_BINARY_DIR}) include_directories(${PROJECT_BINARY_DIR}) add_subdirectory(../../Application/Tasks Tasks) target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC Tasks)