Skip to content

Commit f25fe5e

Browse files
Merge pull request queezythegreat#73 from queezythegreat/develop
Fixed bug related to arduino libraries include paths not being added to ...
2 parents 9496e7b + d221a7a commit f25fe5e

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

cmake/Platform/Arduino.cmake

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -491,11 +491,16 @@ function(GENERATE_ARDUINO_FIRMWARE INPUT_NAME)
491491

492492
find_arduino_libraries(TARGET_LIBS "${ALL_SRCS}" "${INPUT_ARDLIBS}")
493493
foreach(LIB_DEP ${TARGET_LIBS})
494+
arduino_debug_msg("Arduino Library: ${LIB_DEP}")
494495
set(LIB_DEP_INCLUDES "${LIB_DEP_INCLUDES} -I\"${LIB_DEP}\"")
495496
endforeach()
496497

497498
if(NOT INPUT_NO_AUTOLIBS)
498499
setup_arduino_libraries(ALL_LIBS ${INPUT_BOARD} "${ALL_SRCS}" "${INPUT_ARDLIBS}" "${LIB_DEP_INCLUDES}" "")
500+
foreach(LIB_INCLUDES ${ALL_LIBS_INCLUDES})
501+
arduino_debug_msg("Arduino Library Includes: ${LIB_INCLUDES}")
502+
set(LIB_DEP_INCLUDES "${LIB_DEP_INCLUDES} ${LIB_INCLUDES}")
503+
endforeach()
499504
endif()
500505

501506
list(APPEND ALL_LIBS ${CORE_LIB} ${INPUT_LIBS})
@@ -947,6 +952,7 @@ set(Ethernet_RECURSE True)
947952
set(SD_RECURSE True)
948953
function(setup_arduino_library VAR_NAME BOARD_ID LIB_PATH COMPILE_FLAGS LINK_FLAGS)
949954
set(LIB_TARGETS)
955+
set(LIB_INCLUDES)
950956

951957
get_filename_component(LIB_NAME ${LIB_PATH} NAME)
952958
set(TARGET_LIB_NAME ${BOARD_ID}_${LIB_NAME})
@@ -971,11 +977,13 @@ function(setup_arduino_library VAR_NAME BOARD_ID LIB_PATH COMPILE_FLAGS LINK_FLA
971977
foreach(LIB_DEP ${LIB_DEPS})
972978
setup_arduino_library(DEP_LIB_SRCS ${BOARD_ID} ${LIB_DEP} "${COMPILE_FLAGS}" "${LINK_FLAGS}")
973979
list(APPEND LIB_TARGETS ${DEP_LIB_SRCS})
980+
list(APPEND LIB_INCLUDES ${DEP_LIB_SRCS_INCLUDES})
974981
endforeach()
975982

976983
set_target_properties(${TARGET_LIB_NAME} PROPERTIES
977-
COMPILE_FLAGS "${ARDUINO_COMPILE_FLAGS} -I\"${LIB_PATH}\" -I\"${LIB_PATH}/utility\" ${COMPILE_FLAGS}"
984+
COMPILE_FLAGS "${ARDUINO_COMPILE_FLAGS} ${LIB_INCLUDES} -I\"${LIB_PATH}\" -I\"${LIB_PATH}/utility\" ${COMPILE_FLAGS}"
978985
LINK_FLAGS "${ARDUINO_LINK_FLAGS} ${LINK_FLAGS}")
986+
list(APPEND LIB_INCLUDES "-I\"${LIB_PATH}\" -I\"${LIB_PATH}/utility\"")
979987

980988
target_link_libraries(${TARGET_LIB_NAME} ${BOARD_ID}_CORE ${LIB_TARGETS})
981989
list(APPEND LIB_TARGETS ${TARGET_LIB_NAME})
@@ -988,7 +996,8 @@ function(setup_arduino_library VAR_NAME BOARD_ID LIB_PATH COMPILE_FLAGS LINK_FLA
988996
if(LIB_TARGETS)
989997
list(REMOVE_DUPLICATES LIB_TARGETS)
990998
endif()
991-
set(${VAR_NAME} ${LIB_TARGETS} PARENT_SCOPE)
999+
set(${VAR_NAME} ${LIB_TARGETS} PARENT_SCOPE)
1000+
set(${VAR_NAME}_INCLUDES ${LIB_INCLUDES} PARENT_SCOPE)
9921001
endfunction()
9931002

9941003
#=============================================================================#
@@ -1007,13 +1016,18 @@ endfunction()
10071016
#=============================================================================#
10081017
function(setup_arduino_libraries VAR_NAME BOARD_ID SRCS ARDLIBS COMPILE_FLAGS LINK_FLAGS)
10091018
set(LIB_TARGETS)
1019+
set(LIB_INCLUDES)
1020+
10101021
find_arduino_libraries(TARGET_LIBS "${SRCS}" ARDLIBS)
10111022
foreach(TARGET_LIB ${TARGET_LIBS})
10121023
# Create static library instead of returning sources
10131024
setup_arduino_library(LIB_DEPS ${BOARD_ID} ${TARGET_LIB} "${COMPILE_FLAGS}" "${LINK_FLAGS}")
10141025
list(APPEND LIB_TARGETS ${LIB_DEPS})
1026+
list(APPEND LIB_INCLUDES ${LIB_DEPS_INCLUDES})
10151027
endforeach()
1016-
set(${VAR_NAME} ${LIB_TARGETS} PARENT_SCOPE)
1028+
1029+
set(${VAR_NAME} ${LIB_TARGETS} PARENT_SCOPE)
1030+
set(${VAR_NAME}_INCLUDES ${LIB_INCLUDES} PARENT_SCOPE)
10171031
endfunction()
10181032

10191033

0 commit comments

Comments
 (0)