find_package(Protobuf REQUIRED) set(proto_files cmix.proto) protobuf_generate_cpp(proto_sources proto_headers ${proto_files} ) add_library(cmix-protobuf ${proto_files} ${proto_headers} ${proto_sources} ) set_target_properties(cmix-protobuf PROPERTIES COMPILE_FLAGS -w) target_include_directories(cmix-protobuf SYSTEM PUBLIC ${PROTOBUF_INCLUDE_DIRS} PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ) target_compile_definitions(cmix-protobuf PUBLIC PROTOBUF_INLINE_NOT_IN_HEADERS=0 ) target_compile_options(cmix-protobuf PRIVATE -Wno-unused-parameter ) target_link_libraries(cmix-protobuf PRIVATE ${PROTOBUF_LIBRARIES} )