mesytec-mnode/CMakeLists.txt
Florian Lüke 43c18dc243 cleanup
2024-12-07 21:54:46 +01:00

28 lines
913 B
CMake

cmake_minimum_required(VERSION 3.15)
project(mesytec-mnode LANGUAGES CXX)
set(MESYTEC_MNODE_MAIN_PROJECT OFF)
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
set(MESYTEC_MNODE_MAIN_PROJECT ON)
endif()
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
## Create binaries in the root of the build directory
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Protobuf REQUIRED)
add_library(mnode-proto proto/service.proto)
target_link_libraries(mnode-proto PUBLIC protobuf::libprotobuf)
target_include_directories(mnode-proto PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
protobuf_generate(TARGET mnode-proto)
protobuf_generate_python(PROTO_PY proto/service.proto)
add_custom_target(mnode-proto-py ALL DEPENDS ${PROTO_PY})
add_subdirectory(external)
add_subdirectory(src)