Skip to content

Commit bdb5cbe

Browse files
authored
Merge pull request #1 from proan/Update_to_Arduino_1.6.12
Update to arduino 1.6.12
2 parents a8b3761 + 7161872 commit bdb5cbe

File tree

3 files changed

+110
-38
lines changed

3 files changed

+110
-38
lines changed

CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
#=============================================================================#
88
set(CMAKE_TOOLCHAIN_FILE cmake/ArduinoToolchain.cmake) # Arduino Toolchain
99

10-
1110
cmake_minimum_required(VERSION 2.8)
1211
#====================================================================#
1312
# Setup Project #

cmake/ArduinoToolchain.cmake

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
#=============================================================================#
2+
# Arduino Toolchain for CMake
3+
# Copyright (c) 2016 Philip Roan
4+
# Forked from Tomasz Bogdal's github.com project (see below for link)
5+
#
6+
#=============================================================================#
27
# Author: Tomasz Bogdal (QueezyTheGreat)
38
# Home: https://github.com/queezythegreat/arduino-cmake
49
#
@@ -25,7 +30,7 @@ if(UNIX)
2530
list(APPEND CMAKE_SYSTEM_PREFIX_PATH ~/Applications
2631
/Applications
2732
/Developer/Applications
28-
/sw # Fink
33+
/sw # Fink
2934
/opt/local) # MacPorts
3035
endif()
3136
elseif(WIN32)
@@ -40,9 +45,9 @@ if(NOT ARDUINO_SDK_PATH)
4045
set(ARDUINO_PATHS)
4146

4247
foreach(DETECT_VERSION_MAJOR 1)
43-
foreach(DETECT_VERSION_MINOR RANGE 5 0)
48+
foreach(DETECT_VERSION_MINOR RANGE 9 0)
4449
list(APPEND ARDUINO_PATHS arduino-${DETECT_VERSION_MAJOR}.${DETECT_VERSION_MINOR})
45-
foreach(DETECT_VERSION_PATCH RANGE 3 0)
50+
foreach(DETECT_VERSION_PATCH RANGE 25 0)
4651
list(APPEND ARDUINO_PATHS arduino-${DETECT_VERSION_MAJOR}.${DETECT_VERSION_MINOR}.${DETECT_VERSION_PATCH})
4752
endforeach()
4853
endforeach()
@@ -58,9 +63,7 @@ if(NOT ARDUINO_SDK_PATH)
5863
/opt/arduino*
5964
/usr/local/share/arduino*)
6065
elseif(WIN32)
61-
set(SDK_PATH_HINTS "C:\\Program Files\\Arduino"
62-
"C:\\Program Files (x86)\\Arduino"
63-
)
66+
set(SDK_PATH_HINTS "C:\\Program Files\\Arduino" "C:\\Program Files (x86)\\Arduino")
6467
endif()
6568
list(SORT SDK_PATH_HINTS)
6669
list(REVERSE SDK_PATH_HINTS)
@@ -70,6 +73,7 @@ find_path(ARDUINO_SDK_PATH
7073
NAMES lib/version.txt
7174
PATH_SUFFIXES share/arduino
7275
Arduino.app/Contents/Resources/Java/
76+
Arduino.app/Contents/Java/
7377
${ARDUINO_PATHS}
7478
HINTS ${SDK_PATH_HINTS}
7579
DOC "Arduino SDK path.")

cmake/Platform/Arduino.cmake

+100-31
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
11
#=============================================================================#
2+
# Arduino Toolchain for CMake
3+
# Copyright (c) 2016 Philip Roan
4+
# Forked from Tomasz Bogdal's github.com project:
5+
#
6+
# https://github.com/queezythegreat/arduino-cmake
7+
#
8+
# This Source Code Form is subject to the terms of the Mozilla Public
9+
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
10+
# You can obtain one at http://mozilla.org/MPL/2.0/.
11+
#=============================================================================#
12+
#
13+
#=============================================================================#
214
# generate_arduino_firmware(name
315
# [BOARD board_id]
416
# [SKETCH sketch_path |
@@ -90,7 +102,7 @@
90102
# Alternatively you can specify the option by variables:
91103
#
92104
# set(test_SRCS test.cpp test2.cpp)
93-
# set(test_HDRS test.h test2.h
105+
# set(test_HDRS test.h test2.h)
94106
# set(test_BOARD uno)
95107
#
96108
# generate_avr_firmware(test)
@@ -130,7 +142,7 @@
130142
# Alternatively you can specify the option by variables:
131143
#
132144
# set(test_SRCS test.cpp test2.cpp)
133-
# set(test_HDRS test.h test2.h
145+
# set(test_HDRS test.h test2.h)
134146
# set(test_BOARD uno)
135147
#
136148
# generate_arduino_library(test)
@@ -618,6 +630,7 @@ function(GENERATE_ARDUINO_EXAMPLE INPUT_NAME)
618630
endif()
619631

620632
find_arduino_libraries(TARGET_LIBS "${ALL_SRCS}" "")
633+
621634
set(LIB_DEP_INCLUDES)
622635
foreach(LIB_DEP ${TARGET_LIBS})
623636
set(LIB_DEP_INCLUDES "${LIB_DEP_INCLUDES} -I\"${LIB_DEP}\"")
@@ -656,31 +669,37 @@ function(REGISTER_HARDWARE_PLATFORM PLATFORM_PATH)
656669

657670
find_file(${PLATFORM}_CORES_PATH
658671
NAMES cores
659-
PATHS ${PLATFORM_PATH}
672+
PATHS ${PLATFORM_PATH} ${PLATFORM_PATH}/avr
660673
DOC "Path to directory containing the Arduino core sources.")
661674

662675
find_file(${PLATFORM}_VARIANTS_PATH
663676
NAMES variants
664-
PATHS ${PLATFORM_PATH}
677+
PATHS ${PLATFORM_PATH} ${PLATFORM_PATH}/avr
665678
DOC "Path to directory containing the Arduino variant sources.")
679+
680+
find_file(${PLATFORM}_ARCHITECTURE_LIBRARIES_PATH
681+
NAMES libraries
682+
PATHS ${PLATFORM_PATH} ${PLATFORM_PATH}/avr
683+
DOC "Path to diretory containing the Arduino libraries that are specific to this architecture.")
666684

667685
find_file(${PLATFORM}_BOOTLOADERS_PATH
668686
NAMES bootloaders
669-
PATHS ${PLATFORM_PATH}
687+
PATHS ${PLATFORM_PATH} ${PLATFORM_PATH}/avr
670688
DOC "Path to directory containing the Arduino bootloader images and sources.")
671689

672690
find_file(${PLATFORM}_PROGRAMMERS_PATH
673691
NAMES programmers.txt
674-
PATHS ${PLATFORM_PATH}
692+
PATHS ${PLATFORM_PATH} ${PLATFORM_PATH}/avr
675693
DOC "Path to Arduino programmers definition file.")
676694

677695
find_file(${PLATFORM}_BOARDS_PATH
678696
NAMES boards.txt
679-
PATHS ${PLATFORM_PATH}
697+
PATHS ${PLATFORM_PATH} ${PLATFORM_PATH}/avr
680698
DOC "Path to Arduino boards definition file.")
681699

682700
if(${PLATFORM}_BOARDS_PATH)
683-
load_arduino_style_settings(${PLATFORM}_BOARDS "${PLATFORM_PATH}/boards.txt")
701+
#load_arduino_style_settings(${PLATFORM}_BOARDS "${PLATFORM_PATH}/boards.txt")
702+
load_arduino_style_settings(${PLATFORM}_BOARDS ${${PLATFORM}_BOARDS_PATH})
684703
endif()
685704

686705
if(${PLATFORM}_PROGRAMMERS_PATH)
@@ -787,8 +806,8 @@ function(get_arduino_flags COMPILE_FLAGS_VAR LINK_FLAGS_VAR BOARD_ID MANUAL)
787806
set(BOARD_CORE ${${BOARD_ID}.build.core})
788807
if(BOARD_CORE)
789808
if(ARDUINO_SDK_VERSION MATCHES "([0-9]+)[.]([0-9]+)")
790-
string(REPLACE "." "" ARDUINO_VERSION_DEFINE "${ARDUINO_SDK_VERSION}") # Normalize version (remove all periods)
791-
set(ARDUINO_VERSION_DEFINE "")
809+
#string(REPLACE "." "" ARDUINO_VERSION_DEFINE "${ARDUINO_SDK_VERSION}") # Normalize version (remove all periods)
810+
set(ARDUINO_VERSION_DEFINE "") # This overwrites the line above, so just comment that line out
792811
if(CMAKE_MATCH_1 GREATER 0)
793812
set(ARDUINO_VERSION_DEFINE "${CMAKE_MATCH_1}")
794813
endif()
@@ -800,9 +819,22 @@ function(get_arduino_flags COMPILE_FLAGS_VAR LINK_FLAGS_VAR BOARD_ID MANUAL)
800819
else()
801820
message("Invalid Arduino SDK Version (${ARDUINO_SDK_VERSION})")
802821
endif()
822+
# Handle patch version
823+
if(ARDUINO_SDK_VERSION MATCHES "([0-9]+)[.]([0-9]+)[.]([0-9]+)")
824+
if(CMAKE_MATCH_3 GREATER 10)
825+
set(ARDUINO_VERSION_DEFINE "${ARDUINO_VERSION_DEFINE}${CMAKE_MATCH_3}")
826+
else()
827+
set(ARDUINO_VERSION_DEFINE "${ARDUINO_VERSION_DEFINE}0${CMAKE_MATCH_3}")
828+
endif()
829+
endif()
830+
831+
# Define flags for Arduino architecture and cpu
832+
if(${${BOARD_ID}.build.board} MATCHES "AVR")
833+
set(ARDUINO_ARCH_FLAGS "-DARDUINO_ARCH_AVR -DARDUINO_${${BOARD_ID}.build.board}")
834+
endif()
803835

804836
# output
805-
set(COMPILE_FLAGS "-DF_CPU=${${BOARD_ID}.build.f_cpu} -DARDUINO=${ARDUINO_VERSION_DEFINE} -mmcu=${${BOARD_ID}.build.mcu}")
837+
set(COMPILE_FLAGS "-DF_CPU=${${BOARD_ID}.build.f_cpu} -DARDUINO=${ARDUINO_VERSION_DEFINE} -mmcu=${${BOARD_ID}.build.mcu} ${ARDUINO_ARCH_FLAGS}")
806838
if(DEFINED ${BOARD_ID}.build.vid)
807839
set(COMPILE_FLAGS "${COMPILE_FLAGS} -DUSB_VID=${${BOARD_ID}.build.vid}")
808840
endif()
@@ -921,9 +953,12 @@ function(find_arduino_libraries VAR_NAME SRCS ARDLIBS)
921953
DIRECTORY # Property Scope
922954
PROPERTY LINK_DIRECTORIES)
923955
foreach(LIB_SEARCH_PATH ${LIBRARY_SEARCH_PATH} ${ARDUINO_LIBRARIES_PATH} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/libraries ${ARDUINO_EXTRA_LIBRARIES_PATH})
924-
if(EXISTS ${LIB_SEARCH_PATH}/${INCLUDE_NAME}/${CMAKE_MATCH_1})
956+
if(EXISTS "${LIB_SEARCH_PATH}/${INCLUDE_NAME}/${CMAKE_MATCH_1}")
925957
list(APPEND ARDUINO_LIBS ${LIB_SEARCH_PATH}/${INCLUDE_NAME})
926958
break()
959+
elseif(EXISTS "${LIB_SEARCH_PATH}/${INCLUDE_NAME}/src/${CMAKE_MATCH_1}")
960+
list(APPEND ARDUINO_LIBS ${LIB_SEARCH_PATH}/${INCLUDE_NAME}/src)
961+
break()
927962
endif()
928963
if(EXISTS ${LIB_SEARCH_PATH}/${CMAKE_MATCH_1})
929964
list(APPEND ARDUINO_LIBS ${LIB_SEARCH_PATH})
@@ -962,6 +997,9 @@ endfunction()
962997
set(Wire_RECURSE True)
963998
set(Ethernet_RECURSE True)
964999
set(SD_RECURSE True)
1000+
set(TFT_RECURSE True)
1001+
set(WiFi_RECURSE True)
1002+
set(Robot_Control_RECURSE True)
9651003
function(setup_arduino_library VAR_NAME BOARD_ID LIB_PATH COMPILE_FLAGS LINK_FLAGS)
9661004
set(LIB_TARGETS)
9671005
set(LIB_INCLUDES)
@@ -976,7 +1014,7 @@ function(setup_arduino_library VAR_NAME BOARD_ID LIB_PATH COMPILE_FLAGS LINK_FLA
9761014
set(${LIB_SHORT_NAME}_RECURSE False)
9771015
endif()
9781016

979-
find_sources(LIB_SRCS ${LIB_PATH} ${${LIB_SHORT_NAME}_RECURSE})
1017+
find_sources(LIB_SRCS ${LIB_PATH} ${LIB_PATH}/src ${${LIB_SHORT_NAME}_RECURSE})
9801018
if(LIB_SRCS)
9811019

9821020
arduino_debug_msg("Generating Arduino ${LIB_NAME} library")
@@ -1174,7 +1212,7 @@ function(setup_arduino_bootloader_upload TARGET_NAME BOARD_ID PORT AVRDUDE_FLAGS
11741212
endif()
11751213
set(TARGET_PATH ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME})
11761214

1177-
list(APPEND AVRDUDE_ARGS "-Uflash:w:${TARGET_PATH}.hex")
1215+
list(APPEND AVRDUDE_ARGS "-Uflash:w:${TARGET_PATH}.hex:i")
11781216
list(APPEND AVRDUDE_ARGS "-Ueeprom:w:${TARGET_PATH}.eep:i")
11791217
add_custom_target(${UPLOAD_TARGET}
11801218
${ARDUINO_AVRDUDE_PROGRAM}
@@ -1222,7 +1260,7 @@ function(setup_arduino_programmer_burn TARGET_NAME BOARD_ID PROGRAMMER PORT AVRD
12221260
endif()
12231261
set(TARGET_PATH ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME})
12241262

1225-
list(APPEND AVRDUDE_ARGS "-Uflash:w:${TARGET_PATH}.hex")
1263+
list(APPEND AVRDUDE_ARGS "-Uflash:w:${TARGET_PATH}.hex:i")
12261264

12271265
add_custom_target(${PROGRAMMER_TARGET}
12281266
${ARDUINO_AVRDUDE_PROGRAM}
@@ -1258,15 +1296,20 @@ function(setup_arduino_bootloader_burn TARGET_NAME BOARD_ID PROGRAMMER PORT AVRD
12581296
return()
12591297
endif()
12601298

1261-
foreach( ITEM unlock_bits high_fuses low_fuses path file)
1299+
foreach( ITEM unlock_bits high_fuses low_fuses file )
12621300
if(NOT ${BOARD_ID}.bootloader.${ITEM})
12631301
message("Missing ${BOARD_ID}.bootloader.${ITEM}, not creating bootloader burn target ${BOOTLOADER_TARGET}.")
12641302
return()
12651303
endif()
12661304
endforeach()
12671305

1268-
if(NOT EXISTS "${ARDUINO_BOOTLOADERS_PATH}/${${BOARD_ID}.bootloader.path}/${${BOARD_ID}.bootloader.file}")
1269-
message("${ARDUINO_BOOTLOADERS_PATH}/${${BOARD_ID}.bootloader.path}/${${BOARD_ID}.bootloader.file}")
1306+
# If there is a .path entry, combine with file (as done in newer Arduino distributions)
1307+
if(${BOARD_ID}.bootloader.path)
1308+
set(${BOARD_ID}.bootloader.file "${${BOARD_ID}.bootloader.path}/${$(BOARD_ID}.bootloader.file}")
1309+
endif()
1310+
#
1311+
if(NOT EXISTS "${ARDUINO_BOOTLOADERS_PATH}/${${BOARD_ID}.bootloader.file}")
1312+
message("${ARDUINO_BOOTLOADERS_PATH}/${${BOARD_ID}.bootloader.file}")
12701313
message("Missing bootloader image, not creating bootloader burn target ${BOOTLOADER_TARGET}.")
12711314
return()
12721315
endif()
@@ -1291,10 +1334,10 @@ function(setup_arduino_bootloader_burn TARGET_NAME BOARD_ID PROGRAMMER PORT AVRD
12911334

12921335
# Create burn bootloader target
12931336
add_custom_target(${BOOTLOADER_TARGET}
1294-
${ARDUINO_AVRDUDE_PROGRAM}
1295-
${AVRDUDE_ARGS}
1296-
WORKING_DIRECTORY ${ARDUINO_BOOTLOADERS_PATH}/${${BOARD_ID}.bootloader.path}
1297-
DEPENDS ${TARGET_NAME})
1337+
${ARDUINO_AVRDUDE_PROGRAM}
1338+
${AVRDUDE_ARGS}
1339+
WORKING_DIRECTORY ${ARDUINO_BOOTLOADERS_PATH}
1340+
DEPENDS ${TARGET_NAME})
12981341
endfunction()
12991342

13001343
#=============================================================================#
@@ -1546,6 +1589,29 @@ function(LOAD_ARDUINO_STYLE_SETTINGS SETTINGS_LIST SETTINGS_PATH)
15461589

15471590
foreach(FILE_ENTRY ${FILE_ENTRIES})
15481591
if("${FILE_ENTRY}" MATCHES "^[^#]+=.*")
1592+
#
1593+
# menu handling code
1594+
# Newer versions of the Arduino IDE have allowed for multiple cpu types on
1595+
# the same board. A menu has been introduced into the boards.txt file.
1596+
# This code uses the variable MENU_SELECTION (set in the top-level CMakeLists.txt
1597+
# to remove the menu text from the selected target board. This is not the
1598+
# ideal solution to this problem.
1599+
#
1600+
if(MENU_SELECTION)
1601+
list(LENGTH MENU_SELECTION NUM_MENUS)
1602+
if(NOT NUM_MENUS EQUAL "1")
1603+
message(FATAL_ERROR "Only 1 menu selection is currently supported. You have ${NUM_MENUS}.")
1604+
endif()
1605+
#if("${FILE_ENTRY}" MATCHES ${MENU_OPTION})
1606+
if("${FILE_ENTRY}" MATCHES ${MENU_SELECTION})
1607+
string(REGEX REPLACE ${MENU_SELECTION} "" FILE_ENTRY ${FILE_ENTRY})
1608+
#else()
1609+
#continue() #continue() isn't supported in CMake 2.8
1610+
endif()
1611+
#endif()
1612+
#
1613+
# end menu handling code
1614+
#
15491615
string(REGEX MATCH "^[^=]+" SETTING_NAME ${FILE_ENTRY})
15501616
string(REGEX MATCH "[^=]+$" SETTING_VALUE ${FILE_ENTRY})
15511617
string(REPLACE "." ";" ENTRY_NAME_TOKENS ${SETTING_NAME})
@@ -1590,7 +1656,6 @@ function(LOAD_ARDUINO_STYLE_SETTINGS SETTINGS_LIST SETTINGS_PATH)
15901656
# Save setting value
15911657
set(${FULL_SETTING_NAME} ${SETTING_VALUE}
15921658
CACHE INTERNAL "Arduino ${ENTRY_NAME} Board setting")
1593-
15941659

15951660
endif()
15961661
endforeach()
@@ -2077,18 +2142,19 @@ endfunction()
20772142
#=============================================================================#
20782143
if (NOT DEFINED ARDUINO_C_FLAGS)
20792144
set(ARDUINO_C_FLAGS "-mcall-prologues -ffunction-sections -fdata-sections")
2145+
set(ARDUINO_C_FLAGS "${ARDUINO_C_FLAGS} -MMD -flto -Wall -Wextra -Wshadow -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums")
20802146
endif (NOT DEFINED ARDUINO_C_FLAGS)
2081-
set(CMAKE_C_FLAGS "-g -Os ${ARDUINO_C_FLAGS}" CACHE STRING "")
2082-
set(CMAKE_C_FLAGS_DEBUG "-g ${ARDUINO_C_FLAGS}" CACHE STRING "")
2083-
set(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG ${ARDUINO_C_FLAGS}" CACHE STRING "")
2084-
set(CMAKE_C_FLAGS_RELEASE "-Os -DNDEBUG -w ${ARDUINO_C_FLAGS}" CACHE STRING "")
2085-
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os -g -w ${ARDUINO_C_FLAGS}" CACHE STRING "")
2147+
set(CMAKE_C_FLAGS "-g -Os -Wstrict-prototypes ${ARDUINO_C_FLAGS}" CACHE STRING "")
2148+
set(CMAKE_C_FLAGS_DEBUG "-g -Wstrict-prototypes ${ARDUINO_C_FLAGS}" CACHE STRING "")
2149+
set(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG -Wstrict-prototypes ${ARDUINO_C_FLAGS}" CACHE STRING "")
2150+
set(CMAKE_C_FLAGS_RELEASE "-Os -DNDEBUG -Wstrict-prototypes ${ARDUINO_C_FLAGS}" CACHE STRING "")
2151+
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os -g -Wstrict-prototypes ${ARDUINO_C_FLAGS}" CACHE STRING "")
20862152

20872153
#=============================================================================#
20882154
# C++ Flags
20892155
#=============================================================================#
20902156
if (NOT DEFINED ARDUINO_CXX_FLAGS)
2091-
set(ARDUINO_CXX_FLAGS "${ARDUINO_C_FLAGS} -fno-exceptions")
2157+
set(ARDUINO_CXX_FLAGS "${ARDUINO_C_FLAGS} -std=gnu++11 -fno-exceptions")
20922158
endif (NOT DEFINED ARDUINO_CXX_FLAGS)
20932159
set(CMAKE_CXX_FLAGS "-g -Os ${ARDUINO_CXX_FLAGS}" CACHE STRING "")
20942160
set(CMAKE_CXX_FLAGS_DEBUG "-g ${ARDUINO_CXX_FLAGS}" CACHE STRING "")
@@ -2108,7 +2174,7 @@ set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${ARDUINO_LINKER_FLAGS}" CACHE STRING
21082174

21092175
#=============================================================================#
21102176
#=============================================================================#
2111-
# Shared Lbrary Linker Flags #
2177+
# Shared Library Linker Flags #
21122178
#=============================================================================#
21132179
set(CMAKE_SHARED_LINKER_FLAGS "${ARDUINO_LINKER_FLAGS}" CACHE STRING "")
21142180
set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${ARDUINO_LINKER_FLAGS}" CACHE STRING "")
@@ -2129,7 +2195,8 @@ set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "${ARDUINO_LINKER_FLAGS}" CACHE STR
21292195
set(ARDUINO_OBJCOPY_EEP_FLAGS -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load
21302196
--no-change-warnings --change-section-lma .eeprom=0 CACHE STRING "")
21312197
set(ARDUINO_OBJCOPY_HEX_FLAGS -O ihex -R .eeprom CACHE STRING "")
2132-
set(ARDUINO_AVRDUDE_FLAGS -V CACHE STRING "")
2198+
#set(ARDUINO_AVRDUDE_FLAGS -V CACHE STRING "")
2199+
set(ARDUINO_AVRDUDE_FLAGS " " CACHE STRING "") #turn on verification of upload
21332200

21342201
#=============================================================================#
21352202
# Initialization
@@ -2141,6 +2208,8 @@ if(NOT ARDUINO_FOUND AND ARDUINO_SDK_PATH)
21412208
NAMES libraries
21422209
PATHS ${ARDUINO_SDK_PATH}
21432210
DOC "Path to directory containing the Arduino libraries.")
2211+
# Add architecture-specific libraries path to generic libraries path
2212+
list(APPEND ARDUINO_LIBRARIES_PATH ${ARDUINO_ARCHITECTURE_LIBRARIES_PATH})
21442213

21452214
find_file(ARDUINO_VERSION_PATH
21462215
NAMES lib/version.txt

0 commit comments

Comments
 (0)