You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.2 KiB
32 lines
1.2 KiB
cmake_minimum_required(VERSION 3.10)
|
|
|
|
get_filename_component(TARGET_NAME "${CMAKE_CURRENT_SOURCE_DIR}" NAME)
|
|
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 bspMCU)
|
|
target_link_libraries(${TARGET_NAME} PUBLIC bspMCU)
|
|
else()
|
|
message(FATAL_ERROR "[${TARGET_NAME}] Dependency 'bspMCU' 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()
|