CMakeLists.txt 999 B

12345678910111213141516171819202122232425
  1. cmake_minimum_required(VERSION 3.16)
  2. set(PROTO_COMPILER "protoc")
  3. set(PROTO_C_COMPILER "protoc-c")
  4. set(C_OUT_PATH "${CMAKE_CURRENT_LIST_DIR}/proto-c")
  5. set(PY_OUT_PATH "${CMAKE_CURRENT_LIST_DIR}/python")
  6. set(PROTOCOMM_INCL_PATH "${IDF_PATH}/components/protocomm/proto")
  7. add_custom_target(c_proto
  8. COMMAND $ {PROTO_C_COMPILER} --c_out = $ {C_OUT_PATH} -I . - I ${PROTOCOMM_INCL_PATH} ${PROTO_SRCS}
  9. VERBATIM
  10. WORKING_DIRECTORY $ {CMAKE_CURRENT_LIST_DIR}
  11. )
  12. add_custom_target(python_proto
  13. COMMAND $ {PROTO_COMPILER} --python_out = $ {PY_OUT_PATH} -I . - I ${PROTOCOMM_INCL_PATH} ${PROTO_SRCS}
  14. VERBATIM
  15. WORKING_DIRECTORY $ {CMAKE_CURRENT_LIST_DIR}
  16. )
  17. add_custom_target(proto ALL
  18. DEPENDS c_proto python_proto
  19. VERBATIM
  20. WORKING_DIRECTORY $ {CMAKE_CURRENT_LIST_DIR}
  21. )