【发布时间】:2019-03-12 08:38:09
【问题描述】:
我正在尝试使用 arduino-cmake 框架,但我的 Arduino-SDK 未被正确识别。搜索原因发现如下:
find_file(${PLATFORM}_BOARDS_PATH
NAMES boards.txt
PATHS ${PLATFORM_PATH}
DOC "Path to Arduino boards definition file.")
其中${PLATFORM}_BOARDS_PATH 扩展为ARDUINO_BOARDS_PATH-NOTFOUND。
PLATFORM_PATH 正确指向/opt/local/arduino-1.8.7/hardware/arduino,在里面你可以找到avr/boards.txt。
所以一切似乎都很好,对吧?
将find_file() 命令中的PATHS 更改为${PLATFORM_PATH}/avr 会得到正确的结果 - 所以看起来find_file 不会递归搜索。
我做错了什么? arduino-cmake 似乎正在为其他人工作,所以我想必须有一个解决方案而不改变这样的路径..
【问题讨论】:
-
这是
find_file不递归搜索的预期行为。请注意,cmake/Platform/Arduino.cmake 明确描述了什么是平台目录(由PLATFORM_PATH变量指定),请参见# register_hardware_platform(HARDWARE_PLATFORM_PATH)及以下行。