4
4
# see documentation at README
5
5
#=============================================================================#
6
6
function (generate_arduino_library INPUT_NAME )
7
- message (STATUS "Generating ${INPUT_NAME} " )
7
+ message (STATUS "Generating Library ${INPUT_NAME} " )
8
8
parse_generator_arguments (${INPUT_NAME} INPUT
9
9
"NO_AUTOLIBS;MANUAL" # Options
10
10
"BOARD;BOARD_CPU" # One Value Keywords
@@ -27,29 +27,21 @@ function(generate_arduino_library INPUT_NAME)
27
27
set (ALL_LIBS )
28
28
set (ALL_SRCS ${INPUT_SRCS} ${INPUT_HDRS} )
29
29
30
- if (NOT INPUT_MANUAL )
31
- make_core_library (CORE_LIB ${BOARD_ID} )
32
- endif ()
33
30
34
31
find_arduino_libraries (TARGET_LIBS "${ALL_SRCS} " "" )
35
32
set (LIB_DEP_INCLUDES )
36
33
foreach (LIB_DEP ${TARGET_LIBS} )
37
- set ( LIB_DEP_INCLUDES " ${ LIB_DEP_INCLUDES} -I \" ${LIB_DEP} \" " )
34
+ LIST ( APPEND LIB_DEP_INCLUDES ${LIB_DEP} )
38
35
endforeach ()
39
36
40
- if (NOT ${INPUT_NO_AUTOLIBS} )
41
- make_arduino_libraries (ALL_LIBS ${BOARD_ID} "" "${LIB_DEP_INCLUDES} " "" )
42
- endif ()
43
-
44
37
list (APPEND ALL_LIBS ${CORE_LIB} ${INPUT_LIBS} )
45
38
46
39
add_library (${INPUT_NAME} ${ALL_SRCS} )
47
40
48
41
set_board_flags (ARDUINO_COMPILE_FLAGS ARDUINO_LINK_FLAGS ${BOARD_ID} ${INPUT_MANUAL} )
49
42
50
- set_target_properties (${INPUT_NAME} PROPERTIES
51
- COMPILE_FLAGS "${ARDUINO_COMPILE_FLAGS} ${COMPILE_FLAGS} ${LIB_DEP_INCLUDES} "
52
- LINK_FLAGS "${ARDUINO_LINK_FLAGS} ${LINK_FLAGS} " )
53
-
54
- target_link_libraries (${INPUT_NAME} ${ALL_LIBS} "-lc -lm" )
43
+ separate_arguments (my_ARDUINO_COMPILE_FLAGS UNIX_COMMAND "${ARDUINO_COMPILE_FLAGS} " )
44
+ target_compile_options ( ${INPUT_NAME} PRIVATE ${my_ARDUINO_COMPILE_FLAGS} )
45
+ target_compile_options ( ${INPUT_NAME} PRIVATE ${COMPILE_FLAGS} )
46
+ target_include_directories (${INPUT_NAME} PUBLIC ${LIB_DEP_INCLUDES} )
55
47
endfunction ()
0 commit comments