mesytec-mnode/CMakeLists.txt

30 lines
1 KiB
Text
Raw Normal View History

cmake_minimum_required(VERSION 3.15)
project(mesytec-node LANGUAGES CXX)
set(MESYTEC_NODE_MAIN_PROJECT OFF)
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
set(MESYTEC_NODE_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)
#protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS proto/service.proto)
add_library(mnode-proto proto/service.proto)
target_link_libraries(mnode-proto PUBLIC protobuf::libprotobuf)
target_include_directories(mnode-proto PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
protobuf_generate(TARGET mnode-proto)
#protobuf_generate(TARGET mnode-proto-py LANGUAGE python PROTOS proto/service.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)