Skip to content
This repository was archived by the owner on Apr 17, 2023. It is now read-only.

Commit 1aae1aa

Browse files
committed
Fixed bug where custom Arduino-SDK paths weren't actually honored.
Also fixed minor bug where SDK's version hasn't been displayed. Modified 'AppVeyor' config to setup environment correctly.
1 parent a79854b commit 1aae1aa

File tree

4 files changed

+26
-15
lines changed

4 files changed

+26
-15
lines changed

appveyor.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
version: '{build}'
22
image: Visual Studio 2017
3+
notifications:
4+
- provider: Email
5+
on_build_success: false
36
environment:
47
matrix:
5-
- ARDUINO_SDK_VERSION: 1.6.0
6-
- ARDUINO_SDK_VERSION: 1.8.5
8+
- ARDUINO_SDK_VERSION: 1.6.13
9+
- ARDUINO_SDK_VERSION: 1.8.6
710
install:
8-
- ps: cinst unzip
11+
- ps: cinst make unzip
912
- ps: $env:ARDUINO_SDK_FILE = "arduino-$env:ARDUINO_SDK_VERSION-windows.zip"
1013
- ps: $env:ARDUINO_SDK_URI = "https://downloads.arduino.cc/$env:ARDUINO_SDK_FILE"
1114
- ps: wget "$env:ARDUINO_SDK_URI" -O "$env:ARDUINO_SDK_FILE"
@@ -17,7 +20,12 @@ build_script:
1720
- ps: mkdir build
1821
- ps: cd build
1922
- ps: echo "$env:ARDUINO_SDK_PATH"
20-
- ps: cmake -G "Unix Makefiles" -D ARDUINO_SDK_PATH="$env:ARDUINO_SDK_PATH" -D CMAKE_TOOLCHAIN_FILE="../cmake/Arduino-Toolchain.cmake" ..
23+
- ps: >-
24+
cmake -G "Unix Makefiles"
25+
-DCMAKE_TOOLCHAIN_FILE="..\cmake\Arduino-Toolchain.cmake"
26+
-DARDUINO_SDK_PATH="$env:ARDUINO_SDK_PATH"
27+
-DCMAKE_SH="CMAKE_SH-NOTFOUND"
28+
..\examples
2129
- ps: make
2230
after_build:
2331
- 7z a arduino-cmake-ng.zip %APPVEYOR_BUILD_FOLDER%\cmake

cmake/Arduino-Toolchain.cmake

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ endfunction()
3131

3232
function(_setup_sdk_internal_paths)
3333

34-
set(ARDUINO_SDK_BIN_PATH "${ARDUINO_SDK_PATH}/hardware/tools/avr/bin" CACHE PATH
34+
set(ARDUINO_SDK_BIN_PATH "${ARDUINO_CMAKE_SDK_PATH}/hardware/tools/avr/bin" CACHE PATH
3535
"Path to Arduino SDK's binaries folder")
36-
set(ARDUINO_SDK_ROOT_PATH "${ARDUINO_SDK_PATH}/hardware/tools/avr" CACHE PATH
36+
set(ARDUINO_SDK_ROOT_PATH "${ARDUINO_CMAKE_SDK_PATH}/hardware/tools/avr" CACHE PATH
3737
"Path to Arduino SDK's sys-root folder")
38-
set(ARDUINO_SDK_LIBRARIES_PATH "${ARDUINO_SDK_PATH}/libraries" CACHE PATH
38+
set(ARDUINO_SDK_LIBRARIES_PATH "${ARDUINO_CMAKE_SDK_PATH}/libraries" CACHE PATH
3939
"Path to SDK's libraries directory")
40-
set(ARDUINO_SDK_EXAMPLES_PATH "${ARDUINO_SDK_PATH}/examples" CACHE PATH
40+
set(ARDUINO_SDK_EXAMPLES_PATH "${ARDUINO_CMAKE_SDK_PATH}/examples" CACHE PATH
4141
"Path to SDK's examples directory")
4242

4343
endfunction()
@@ -53,9 +53,13 @@ set(ARDUINO_CMAKE_TOOLCHAIN_DIR ${CMAKE_CURRENT_LIST_DIR} CACHE PATH
5353
"Path to Arduino-CMake's toolchain directory")
5454

5555
# Set default path if none is set
56-
if (NOT ARDUINO_SDK_PATH)
57-
find_arduino_sdk(arduino_sdk_path)
58-
set(ARDUINO_SDK_PATH "${arduino_sdk_path}" CACHE PATH "Arduino SDK Path")
56+
if (ARDUINO_SDK_PATH)
57+
set(ARDUINO_CMAKE_SDK_PATH "${ARDUINO_SDK_PATH}" CACHE PATH "Arduino SDK Path")
58+
else ()
59+
if (NOT DEFINED ARDUINO_CMAKE_SDK_PATH) # Custom path has already been set
60+
find_arduino_sdk(arduino_sdk_path)
61+
set(ARDUINO_CMAKE_SDK_PATH "${arduino_sdk_path}" CACHE PATH "Arduino SDK Path")
62+
endif ()
5963
endif ()
6064

6165
_setup_sdk_internal_paths()

cmake/Platform/System/PlatformInitializer.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ function(initialize_arduino_platform)
4343
set(ARDUINO_CMAKE_PLATFORM_NAME "arduino" CACHE STRING "")
4444
endif ()
4545
set(ARDUINO_CMAKE_PLATFORM_ARCHITECTURE "avr" CACHE STRING "")
46-
string(CONCAT platform_path "${ARDUINO_SDK_PATH}"
46+
string(CONCAT platform_path "${ARDUINO_CMAKE_SDK_PATH}"
4747
/hardware/
4848
"${ARDUINO_CMAKE_PLATFORM_NAME}/"
4949
"${ARDUINO_CMAKE_PLATFORM_ARCHITECTURE}")

cmake/Platform/System/VersionDetector.cmake

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function(detect_sdk_version)
5151

5252
find_file(ARDUINO_CMAKE_VERSION_FILE_PATH
5353
NAMES version.txt
54-
PATHS "${ARDUINO_SDK_PATH}"
54+
PATHS "${ARDUINO_CMAKE_SDK_PATH}"
5555
PATH_SUFFIXES lib
5656
DOC "Path to Arduino's version file"
5757
NO_CMAKE_FIND_ROOT_PATH)
@@ -71,7 +71,6 @@ function(detect_sdk_version)
7171
list(GET split_version 1 split_version_minor)
7272
list(GET split_version 2 split_version_patch)
7373

74-
7574
set(ARDUINO_CMAKE_SDK_VERSION "${raw_version}" CACHE STRING "Arduino SDK Version")
7675
set(ARDUINO_CMAKE_SDK_VERSION_MAJOR ${split_version_major} CACHE STRING
7776
"Arduino SDK Major Version")
@@ -87,6 +86,6 @@ function(detect_sdk_version)
8786
_get_normalized_sdk_version(normalized_sdk_version)
8887
set(runtime_ide_version "${normalized_sdk_version}" CACHE STRING "")
8988

90-
message(STATUS "Arduino SDK version ${ARUDINO_CMAKE_SDK_VERSION}: ${ARDUINO_SDK_PATH}")
89+
message(STATUS "Arduino SDK version ${ARDUINO_CMAKE_SDK_VERSION}: ${ARDUINO_CMAKE_SDK_PATH}")
9190

9291
endfunction()

0 commit comments

Comments
 (0)