@@ -5,29 +5,31 @@ function(sketch_preprocess_sources)
5
5
set (SRCLIST "" )
6
6
foreach (SRCFILE IN LISTS SPC_SOURCES)
7
7
if (${SRCFILE} MATCHES "\. ino$" )
8
+ # Convert <file>.ino to ${CMAKE_CURRENT_BINARY_DIR}/<file>.ino.{cpp,h}
8
9
cmake_path(GET SRCFILE FILENAME SRC_BASE_NAME)
10
+ set (SRC_BINARY_BASE_NAME ${CMAKE_CURRENT_BINARY_DIR} /${SRC_BASE_NAME} )
9
11
10
12
configure_file (
11
13
${SRCFILE}
12
- ${CMAKE_CURRENT_BINARY_DIR} / ${SRC_BASE_NAME } .cpp
14
+ ${SRC_BINARY_BASE_NAME } .cpp
13
15
COPYONLY
14
16
)
15
17
16
- add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR} / ${SRC_BASE_NAME } .h
17
- COMMAND ${ARDUINOCTAGS_EXECUTABLE} -u --language -force=c++ -f ${CMAKE_CURRENT_BINARY_DIR} / ${SRC_BASE_NAME} .ctags --c++-kinds=svpf --fields=KSTtzns --line-directives ${CMAKE_CURRENT_BINARY_DIR} / ${SRC_BASE_NAME } .cpp
18
- COMMAND ${Python3_EXECUTABLE} ${SCRIPTS_FOLDER} /generate_header.py -i ${CMAKE_CURRENT_BINARY_DIR} / ${SRC_BASE_NAME} .ctags -o ${CMAKE_CURRENT_BINARY_DIR} / ${SRC_BASE_NAME } .h
18
+ add_custom_command (OUTPUT ${SRC_BINARY_BASE_NAME } .h
19
+ COMMAND ${ARDUINOCTAGS_EXECUTABLE} -u --language -force=c++ -f ${SRC_BINARY_BASE_NAME} .ctags --c++-kinds=svpf --fields=KSTtzns --line-directives ${SRC_BINARY_BASE_NAME } .cpp
20
+ COMMAND ${Python3_EXECUTABLE} ${SCRIPTS_FOLDER} /generate_header.py -i ${SRC_BINARY_BASE_NAME} .ctags -o ${SRC_BINARY_BASE_NAME } .h
19
21
20
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR} / ${SRC_BASE_NAME } .cpp
21
- BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR} / ${SRC_BASE_NAME } .ctags
22
+ DEPENDS ${SRC_BINARY_BASE_NAME } .cpp
23
+ BYPRODUCTS ${SRC_BINARY_BASE_NAME } .ctags
22
24
VERBATIM
23
25
)
24
26
25
- set_source_files_properties (${SRCFILE } .cpp
27
+ set_source_files_properties (${SRC_BINARY_BASE_NAME } .cpp
26
28
PROPERTIES
27
- COMPILE_OPTIONS "-include;Arduino.h;-include;${SRCFILE } .h"
28
- OBJECT_DEPENDS " ${SRCFILE } .h"
29
+ COMPILE_OPTIONS "-include;Arduino.h;-include;${SRC_BINARY_BASE_NAME } .h"
30
+ OBJECT_DEPENDS ${SRC_BINARY_BASE_NAME } .h
29
31
)
30
- list (APPEND SRCLIST ${CMAKE_CURRENT_BINARY_DIR} / ${SRC_BASE_NAME } .cpp)
32
+ list (APPEND SRCLIST ${SRC_BINARY_BASE_NAME } .cpp)
31
33
else ()
32
34
list (APPEND SRCLIST ${SRCFILE} )
33
35
endif ()
0 commit comments