Include minimal example of running protobuf with C
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user