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 $) 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)