Files
TelemetryMonitor/server/CMakeLists.txt

32 lines
989 B
CMake

cmake_minimum_required(VERSION 3.20)
project(fake_telemetry CXX)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
find_package(Protobuf REQUIRED)
set(PROTO_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../proto/messages.proto)
set(PROTO_SRC ${CMAKE_CURRENT_BINARY_DIR}/messages.pb.cc)
set(PROTO_HDR ${CMAKE_CURRENT_BINARY_DIR}/messages.pb.h)
add_custom_command(
OUTPUT ${PROTO_SRC} ${PROTO_HDR}
COMMAND $<TARGET_FILE:protobuf::protoc>
--cpp_out=${CMAKE_CURRENT_BINARY_DIR}
-I${CMAKE_CURRENT_SOURCE_DIR}/../proto
${PROTO_FILE}
DEPENDS ${PROTO_FILE}
VERBATIM
)
add_executable(fake_telemetry main.cpp ${PROTO_SRC})
target_include_directories(fake_telemetry PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_link_libraries(fake_telemetry PRIVATE protobuf::libprotobuf)
target_compile_options(fake_telemetry PRIVATE -Wall -Wextra -Wpedantic)