Include minimal example of running protobuf with C

This commit is contained in:
Niklas Jensen
2025-12-28 23:41:32 +01:00
committed by nikguin04
parent 1f0b416231
commit 356ccda4ae
12 changed files with 4747 additions and 1 deletions
@@ -0,0 +1,49 @@
cmake_minimum_required(VERSION 3.10)
# Force GCC compiler
set(CMAKE_C_COMPILER gcc)
# Project name
project(protobuftest C)
# Set C standard
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
# Compiler flags
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra")
# Include directories
include_directories(
${CMAKE_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/pb
${CMAKE_SOURCE_DIR}/platform_shared
)
# Nanopb library sources
set(NANOPB_SRCS
pb/pb_common.c
pb/pb_decode.c
pb/pb_encode.c
)
# Generated protobuf sources
set(PROTO_SRCS
platform_shared/example.pb.c
)
# Main application sources
set(APP_SRCS
main.c
)
# Create executable
add_executable(${PROJECT_NAME}
${APP_SRCS}
${NANOPB_SRCS}
${PROTO_SRCS}
)
# Optional: Create a nanopb library (alternative approach)
# add_library(nanopb STATIC ${NANOPB_SRCS})
# target_link_libraries(${PROJECT_NAME} nanopb)