Skip to content

Commit 2bd93c3

Browse files
Fix libraries, improve CMake compatibility
- fixed errornous path for detection - trailing /src is no longer used for library names - -> libraries detected correctly now - prevent self-linking cmake warning
1 parent b77542e commit 2bd93c3

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

cmake/Platform/Arduino.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -951,7 +951,7 @@ function(find_arduino_libraries VAR_NAME SRCS ARDLIBS)
951951
list(APPEND ARDUINO_LIBS ${LIB_SEARCH_PATH}/${INCLUDE_NAME}/src)
952952
break()
953953
endif()
954-
if(EXISTS ${LIB_SEARCH_PATH}/${CMAKE_MATCH_1}/src)
954+
if(EXISTS ${LIB_SEARCH_PATH}/src/${CMAKE_MATCH_1})
955955
list(APPEND ARDUINO_LIBS ${LIB_SEARCH_PATH}/src)
956956
break()
957957
endif()
@@ -992,8 +992,11 @@ function(setup_arduino_library VAR_NAME BOARD_ID LIB_PATH COMPILE_FLAGS LINK_FLA
992992
set(LIB_TARGETS)
993993
set(LIB_INCLUDES)
994994

995-
get_filename_component(LIB_NAME ${LIB_PATH} NAME)
995+
string(REGEX REPLACE "/src/?$" "" LIB_PATH_STRIPPED ${LIB_PATH})
996+
get_filename_component(LIB_NAME ${LIB_PATH_STRIPPED} NAME)
997+
996998
set(TARGET_LIB_NAME ${BOARD_ID}_${LIB_NAME})
999+
9971000
if(NOT TARGET ${TARGET_LIB_NAME})
9981001
string(REGEX REPLACE ".*/" "" LIB_SHORT_NAME ${LIB_NAME})
9991002

@@ -1027,6 +1030,7 @@ function(setup_arduino_library VAR_NAME BOARD_ID LIB_PATH COMPILE_FLAGS LINK_FLA
10271030
LINK_FLAGS "${ARDUINO_LINK_FLAGS} ${LINK_FLAGS}")
10281031
list(APPEND LIB_INCLUDES "-I\"${LIB_PATH}\" -I\"${LIB_PATH}/utility\"")
10291032

1033+
list(REMOVE_ITEM LIB_TARGETS ${TARGET_LIB_NAME})
10301034
target_link_libraries(${TARGET_LIB_NAME} ${BOARD_ID}_CORE ${LIB_TARGETS})
10311035
list(APPEND LIB_TARGETS ${TARGET_LIB_NAME})
10321036

0 commit comments

Comments
 (0)