diff --git a/RBcore/CMakeLists.txt b/RBcore/CMakeLists.txt index 3b9ceec..632e82d 100644 --- a/RBcore/CMakeLists.txt +++ b/RBcore/CMakeLists.txt @@ -13,4 +13,20 @@ if(TARGET bspMCU) target_link_libraries(${TARGET_NAME} PUBLIC bspMCU) else() message(FATAL_ERROR "[${TARGET_NAME}] Dependency 'bspMCU' not found.") -endif() \ No newline at end of file +endif() + +get_filename_component(ROBOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/.." ABSOLUTE) +file(GLOB PROJECT_DIRS LIST_DIRECTORIES true "${ROBOT_DIR}/project/*") +foreach(PROJ_DIR ${PROJECT_DIRS}) + if(IS_DIRECTORY "${PROJ_DIR}") + get_filename_component(PROJ_NAME "${PROJ_DIR}" NAME) + string(TOUPPER "${PROJ_NAME}" PROJ_NAME_UPPER) + if(BUILD_${PROJ_NAME_UPPER}) + set(PROTOBUF_PSOURCE "${PROJ_DIR}/Protobuf/PSource") + if(EXISTS "${PROTOBUF_PSOURCE}") + target_include_directories(${TARGET_NAME} PUBLIC "${PROTOBUF_PSOURCE}") + message(STATUS "[${TARGET_NAME}] Auto-detected protobuf include: ${PROTOBUF_PSOURCE}") + endif() + endif() + endif() +endforeach() \ No newline at end of file diff --git a/RBcore/client_setting.c b/RBcore/client_setting.c index adfae4b..9a236dc 100644 --- a/RBcore/client_setting.c +++ b/RBcore/client_setting.c @@ -19,7 +19,7 @@ #include "BHBF.h" #include "pb.h" #include "pb_decode.h" -#include "../project/paint_robot_new/Protobuf/PSource/bsp_PV.pb.h" +#include "bsp_PV.pb.h" /*----------------------------------------------* * 外部变量说明 *