mesytec-mnode/CMakeLists.txt

29 lines
894 B
Text
Raw Normal View History

cmake_minimum_required(VERSION 3.15)
2024-12-07 16:48:24 +01:00
project(mesytec-mnode LANGUAGES CXX)
2024-12-07 16:48:24 +01:00
set(MESYTEC_MNODE_MAIN_PROJECT OFF)
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
2024-12-07 16:48:24 +01:00
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 ${CMAKE_CURRENT_BINARY_DIR})
2024-12-07 16:48:24 +01:00
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)