cmake_minimum_required(VERSION 3.10) set(COMMON_CMAKE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../library/CMakeLists.txt") if(EXISTS ${COMMON_CMAKE_PATH}) include(${COMMON_CMAKE_PATH}) else() message(FATAL_ERROR "Cannot find common build logic at ${COMMON_CMAKE_PATH}") endif() if(TARGET common) target_link_libraries(lua PUBLIC common) else() message(WARNING "[lua] Dependency 'common' not found.") endif() if(TARGET platform_Linux) target_link_libraries(lua PUBLIC platform_Linux) else() message(WARNING "[lua] Dependency 'platform_Linux' not found.") endif() if(TARGET protobuf) target_link_libraries(${TARGET_NAME} PUBLIC protobuf) else() message(STATUS "[${TARGET_NAME}] Dependency 'protobuf' not found.") 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()