Skip to content

Commit 78387b8

Browse files
committed
attempt to bypass if library is already loaded
1 parent 06a2d38 commit 78387b8

File tree

1 file changed

+1
-362
lines changed

1 file changed

+1
-362
lines changed

CMakeLists.txt

+1-362
Original file line numberDiff line numberDiff line change
@@ -1,363 +1,2 @@
11
cmake_minimum_required(VERSION 3.10)
2-
set(CMAKE_SYSTEM_NAME Generic)
3-
set(CMAKE_SYSTEM_PROCESSOR arm)
4-
set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
5-
set(CMAKE_C_COMPILER ${COMPILERPATH}arm-none-eabi-gcc)
6-
set(CMAKE_CXX_COMPILER ${COMPILERPATH}arm-none-eabi-g++)
7-
#set(CMAKE_LINKER ${COMPILERPATH}arm-none-eabi-gcc)
8-
set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_C_COMPILER} <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
9-
#SET (CMAKE_C_COMPILER_WORKS 1)
10-
#SET (CMAKE_CXX_COMPILER_WORKS 1)
11-
# * you will need to define the following properies: (frmo https://github.com/newdigate/teensy-cmake-macros)
12-
#set(TEENSY_VERSION 41 CACHE STRING "Set to the Teensy version corresponding to your board (40 or 41 allowed)" FORCE)
13-
#set(CPU_CORE_SPEED 600000000 CACHE STRING "Set to 24000000, 48000000, 72000000 or 96000000 to set CPU core speed" FORCE) # Derived variables
14-
#set(COMPILERPATH "/opt/gcc-arm-none-eabi-9-2019-q4-major/bin/")
15-
#set(DEPSPATH "/home/runner/work/teensy-variable-playback/teensy-variable-playback/deps")
16-
# * core path will be set as below by default. you can change if necessary
17-
#set(COREPATH "${DEPSPATH}/cores/teensy4/")
18-
if (APPLE)
19-
set(CMAKE_OSX_SYSROOT "")
20-
endif()
21-
22-
if (PROJECT_IS_TOP_LEVEL)
23-
set(Arduino_libraries_List "" CACHE INTERNAL "")
24-
endif ()
25-
26-
# static configuration
27-
set(runtime_ide_version 159)
28-
set(arduino_ide_version 10607)
29-
set(build_command_gcc arm-none-eabi-gcc)
30-
set(build_command_g++ arm-none-eabi-g++)
31-
set(build_command_ar arm-none-eabi-gcc-ar)
32-
set(build_command_objcopy arm-none-eabi-objcopy)
33-
set(build_command_objdump arm-none-eabi-objdump)
34-
set(build_command_linker arm-none-eabi-gcc)
35-
set(build_command_size arm-none-eabi-size)
36-
set(CMAKE_SYSTEM_NAME Generic)
37-
SET(CMAKE_CXX_ARCHIVE_CREATE "${COMPILERPATH}/${build_command_ar} rcs <TARGET> <LINK_FLAGS> <OBJECTS>")
38-
SET(CMAKE_C_ARCHIVE_CREATE "${COMPILERPATH}/${build_command_ar} rcs <TARGET> <LINK_FLAGS> <OBJECTS>")
39-
40-
function(teensy_set_dynamic_properties)
41-
if (NOT DEFINED teensy_set_dynamic_properties_has_executed)
42-
set(teensy_set_dynamic_properties_has_executed 1 CACHE INTERNAL "teensy_set_dynamic_properties_has_executed")
43-
message(STATUS "teensy_set_dynamic_properties()")
44-
45-
if (NOT DEFINED CPU_CORE_SPEED)
46-
message(FATAL_ERROR "CPU_CORE_SPEED is UNDEFINED")
47-
else()
48-
message(STATUS "CPU_CORE_SPEED: ${CPU_CORE_SPEED}")
49-
endif()
50-
51-
set(build_fcpu ${CPU_CORE_SPEED})
52-
53-
if (NOT DEFINED COMPILERPATH)
54-
message(FATAL_ERROR "COMPILERPATH is UNDEFINED")
55-
else()
56-
message(STATUS "COMPILERPATH: ${COMPILERPATH}")
57-
endif()
58-
59-
set(build_toolchain ${COMPILERPATH})
60-
61-
if (NOT DEFINED ${build_usbtype})
62-
set(build_usbtype USB_SERIAL)
63-
set(build_usbtype ${build_usbtype} CACHE INTERNAL "build_usbtype")
64-
message(STATUS "build_usbtype: ${build_usbtype}" )
65-
endif()
66-
67-
if (NOT DEFINED ${build_usbtype})
68-
set(build_keylayout US_ENGLISH)
69-
set(build_keylayout ${build_keylayout} CACHE INTERNAL "build_keylayout")
70-
message(STATUS "build_keylayout: ${build_keylayout}" )
71-
endif()
72-
73-
if(TEENSY_VERSION EQUAL 40)
74-
set(CPU_DEFINE __IMXRT1062__)
75-
set(LINKER_FILE ${COREPATH}imxrt1062.ld)
76-
set(build_board TEENSY40)
77-
set(build_flags_ld "-nostdlib -Wl,--gc-sections,--relax ")
78-
set(build_core teensy4)
79-
set(build_mcu imxrt1062)
80-
set(build_warn_data_percentage 99)
81-
set(build_flags_common "-g -Wall -ffunction-sections -fdata-sections ")
82-
set(build_flags_dep "-MMD")
83-
set(build_flags_optimize "-Os")
84-
set(build_flags_cpu "-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 ")
85-
set(build_flags_defs "-D${CPU_DEFINE} -DTEENSYDUINO=159 ")
86-
set(build_flags_cpp "-std=gnu++17 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing")
87-
set(build_flags_c "")
88-
set(build_flags_S "-x assembler-with-cpp")
89-
set(build_flags_libs "-lm")
90-
elseif(TEENSY_VERSION EQUAL 41)
91-
message(STATUS "building for teensy 4.1")
92-
set(CPU_DEFINE __IMXRT1062__)
93-
set(LINKER_FILE ${teensy_cores_SOURCE_DIR}/teensy4/imxrt1062_t41.ld)
94-
set(build_board TEENSY41)
95-
set(build_flags_ld " -Wl,--gc-sections,--relax ")
96-
set(build_core teensy4)
97-
set(build_mcu imxrt1062)
98-
set(build_warn_data_percentage 99)
99-
set(build_flags_common "-g -Wall -ffunction-sections -fdata-sections ")
100-
set(build_flags_dep "-MMD")
101-
set(build_flags_optimize "-O2")
102-
set(build_flags_cpu "-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 ")
103-
set(build_flags_defs "-D${CPU_DEFINE} -DTEENSYDUINO=159 ")
104-
set(build_flags_cpp "-std=gnu++17 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing")
105-
set(build_flags_c "")
106-
set(build_flags_S "-x assembler-with-cpp")
107-
#set(build_flags_libs "-larm_cortexM7lfsp_math -lm -lstdc++")
108-
set(build_flags_libs "-lm")
109-
else()
110-
message(FATAL_ERROR "Teensy version not defined")
111-
endif()
112-
113-
# search for programs in the build host directories
114-
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER CACHE INTERNAL "CMAKE_FIND_ROOT_PATH_MODE_PROGRAM")
115-
116-
# for libraries and headers in the target directories
117-
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY CACHE INTERNAL "CMAKE_FIND_ROOT_PATH_MODE_LIBRARY")
118-
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY CACHE INTERNAL "CMAKE_FIND_ROOT_PATH_MODE_INCLUDE")
119-
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY CACHE INTERNAL "CMAKE_FIND_ROOT_PATH_MODE_PACKAGE")
120-
121-
set(CPP_COMPILE_FLAGS "${build_flags_optimize} ${build_flags_common} ${build_flags_dep} ${build_flags_cpp} ${build_flags_cpu} ${build_flags_defs} -DARDUINO=${arduino_ide_version} -DARDUINO_${build_board} -DF_CPU=${build_fcpu} -D${build_usbtype} -DLAYOUT_${build_keylayout}")
122-
set(C_COMPILE_FLAGS "${build_flags_optimize} ${build_flags_common} ${build_flags_dep} ${build_flags_c} ${build_flags_cpu} ${build_flags_defs} -DARDUINO=${arduino_ide_version} -DARDUINO_${build_board} -DF_CPU=${build_fcpu} -D${build_usbtype} -DLAYOUT_${build_keylayout}")
123-
set(S_COMPILE_FLAGS "${build_flags_optimize} ${build_flags_common} ${build_flags_dep} ${build_flags_S} ${build_flags_cpu} ${build_flags_defs} -DARDUINO=${arduino_ide_version} -DARDUINO_${build_board} -DF_CPU=${build_fcpu} -D${build_usbtype} -DLAYOUT_${build_keylayout}")
124-
set(LINK_FLAGS "${build_flags_optimize} ${build_flags_ld} ${build_flags_ldspecs} ${build_flags_cpu} -T${LINKER_FILE} ${build_flags_libs}")
125-
126-
set(CPP_COMPILE_FLAGS ${CPP_COMPILE_FLAGS} CACHE INTERNAL "CPP_COMPILE_FLAGS")
127-
set(C_COMPILE_FLAGS ${C_COMPILE_FLAGS} CACHE INTERNAL "C_COMPILE_FLAGS")
128-
set(S_COMPILE_FLAGS ${S_COMPILE_FLAGS} CACHE INTERNAL "S_COMPILE_FLAGS")
129-
set(LINK_FLAGS ${LINK_FLAGS} CACHE INTERNAL "LINK_FLAGS")
130-
131-
#message(STATUS "S_COMPILE_FLAGS: ${S_COMPILE_FLAGS}")
132-
#message(STATUS "CPP_COMPILE_FLAGS: ${CPP_COMPILE_FLAGS}")
133-
endif()
134-
endfunction()
135-
136-
function(import_teensy_cores)
137-
message(STATUS "import_teensy_cores()")
138-
139-
file(GLOB_RECURSE TEENSY_C_FILES ABSOLUTE ${COREPATH}**.c)
140-
foreach(SOURCE_C ${TEENSY_C_FILES})
141-
set_source_files_properties(${SOURCE_C} PROPERTIES COMPILE_FLAGS "${C_COMPILE_FLAGS}")
142-
#message(STATUS " .c: ${SOURCE_C} ${C_COMPILE_FLAGS}")
143-
endforeach(SOURCE_C ${SOURCES_C})
144-
145-
file(GLOB_RECURSE TEENSY_CPP_FILES ${COREPATH}**.cpp)
146-
foreach(SOURCE_CPP ${TEENSY_CPP_FILES})
147-
set_source_files_properties(${SOURCE_CPP} PROPERTIES COMPILE_FLAGS "${CPP_COMPILE_FLAGS}")
148-
#message(STATUS " .cpp: ${SOURCE_CPP} ${CPP_COMPILE_FLAGS}")
149-
endforeach(SOURCE_CPP ${SOURCES_CPP})
150-
151-
set(TEENSY_SOURCES ${TEENSY_C_FILES} ${TEENSY_CPP_FILES} PARENT_SCOPE)
152-
endfunction()
153-
154-
# Macros to wrap add_[executable|library] for seamless Teensy integration
155-
function(teensy_add_executable TARGET)
156-
157-
message(STATUS "teensy_add_executable(${TARGET} ${ARGN})")
158-
159-
teensy_set_dynamic_properties()
160-
161-
set(ELFTARGET ${TARGET}.elf)
162-
foreach(arg IN LISTS ARGN)
163-
file(GLOB TEST_SOURCE RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${arg})
164-
list(FILTER TEST_SOURCE INCLUDE REGEX ".cpp$")
165-
set(TEENSY_EXE_CPP_SOURCES ${TEENSY_EXE_CPP_SOURCES} ${TEST_SOURCE})
166-
167-
file(GLOB INO_SOURCE RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${arg})
168-
list(FILTER INO_SOURCE INCLUDE REGEX ".ino$")
169-
set(TEENSY_EXE_INO_SOURCES ${TEENSY_EXE_INO_SOURCES} ${INO_SOURCE})
170-
endforeach()
171-
172-
foreach(SOURCE_CPP ${TEENSY_EXE_CPP_SOURCES})
173-
set_source_files_properties(${SOURCE_CPP} PROPERTIES COMPILE_FLAGS "${CPP_COMPILE_FLAGS} ${INCLUDE_DIRECTORIES}")
174-
endforeach(SOURCE_CPP ${TEENSY_EXE_CPP_SOURCES})
175-
176-
#foreach(SOURCE_C ${TEENSY_LIB_C_SOURCES})
177-
# set_source_files_properties(${SOURCE_C} PROPERTIES COMPILE_FLAGS "${C_COMPILE_FLAGS} ${INCLUDE_DIRECTORIES}")
178-
#endforeach(SOURCE_C ${TEENSY_LIB_C_SOURCES})
179-
180-
#foreach(SOURCE_S ${TEENSY_LIB_S_SOURCES})
181-
# set_property(SOURCE ${SOURCE_S} PROPERTY LANGUAGE C)
182-
# set_source_files_properties(${SOURCE_S} PROPERTIES COMPILE_FLAGS "${S_COMPILE_FLAGS} ${INCLUDE_DIRECTORIES}")
183-
#endforeach(SOURCE_S ${TEENSY_LIB_S_SOURCES})
184-
185-
foreach(SOURCE_INO ${TEENSY_EXE_INO_SOURCES})
186-
set_property(SOURCE ${SOURCE_INO} PROPERTY LANGUAGE CXX)
187-
set_source_files_properties(${SOURCE_INO} PROPERTIES COMPILE_FLAGS "${CPP_COMPILE_FLAGS} ${INCLUDE_DIRECTORIES} -x c++")
188-
endforeach(SOURCE_INO ${TEENSY_EXE_INO_SOURCES})
189-
190-
add_executable(${ELFTARGET} ${ARGN})
191-
# add_executable(${ELFTARGET} ${ARGN} ${TEENSY_SOURCES} ${TEENSY_LIB_CPP_SOURCES} ${TEENSY_LIB_C_SOURCES} ${TEENSY_LIB_S_SOURCES})
192-
193-
set_target_properties(${ELFTARGET} PROPERTIES INCLUDE_DIRECTORIES "${COREPATH}")
194-
set_target_properties(${ELFTARGET} PROPERTIES LINK_FLAGS "${LINK_FLAGS}")
195-
196-
add_custom_command(OUTPUT ${TARGET}.hex
197-
COMMAND ${COMPILERPATH}arm-none-eabi-size ${ELFTARGET}
198-
COMMAND ${COMPILERPATH}arm-none-eabi-objcopy -O ihex -R .eeprom ${ELFTARGET} ${TARGET}.hex
199-
DEPENDS ${ELFTARGET}
200-
COMMENT "Creating HEX file for ${ELFTARGET}")
201-
202-
add_custom_target(${TARGET}_hex ALL DEPENDS ${TARGET}.hex)
203-
endfunction()
204-
205-
function(teensy_add_library TARGET)
206-
message(STATUS "teensy_add_library(${TARGET} ${ARGN})")
207-
208-
teensy_set_dynamic_properties()
209-
210-
set(ELFTARGET ${TARGET}.o)
211-
212-
set(TEENSY_LIB_CPP_SOURCES "")
213-
set(TEENSY_LIB_C_SOURCES "")
214-
set(TEENSY_LIB_S_SOURCES "")
215-
216-
foreach(arg ${ARGN})
217-
file(GLOB TEST_CPP_SOURCE RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${arg})
218-
list(FILTER TEST_CPP_SOURCE INCLUDE REGEX ".cpp$")
219-
set(TEENSY_LIB_CPP_SOURCES ${TEENSY_LIB_CPP_SOURCES} ${TEST_CPP_SOURCE})
220-
221-
file(GLOB TEST_C_SOURCE RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${arg})
222-
list(FILTER TEST_C_SOURCE INCLUDE REGEX ".c$")
223-
set(TEENSY_LIB_C_SOURCES ${TEENSY_LIB_C_SOURCES} ${TEST_C_SOURCE})
224-
225-
file(GLOB TEST_S_SOURCE RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${arg})
226-
list(FILTER TEST_S_SOURCE INCLUDE REGEX ".S$")
227-
set(TEENSY_LIB_S_SOURCES ${TEENSY_LIB_S_SOURCES} ${TEST_S_SOURCE})
228-
endforeach()
229-
#message(STATUS TEENSY_LIB_S_SOURCES: ${TEENSY_LIB_S_SOURCES})
230-
#message(STATUS TEENSY_LIB_C_SOURCES: ${TEENSY_LIB_C_SOURCES})
231-
#message(STATUS TEENSY_LIB_CPP_SOURCES: ${TEENSY_LIB_CPP_SOURCES})
232-
233-
foreach(SOURCE_CPP ${TEENSY_LIB_CPP_SOURCES})
234-
set_source_files_properties(${SOURCE_CPP} PROPERTIES COMPILE_FLAGS "${CPP_COMPILE_FLAGS} ${INCLUDE_DIRECTORIES}")
235-
endforeach(SOURCE_CPP ${SOURCES_CPP})
236-
237-
foreach(SOURCE_C ${TEENSY_LIB_C_SOURCES})
238-
set_source_files_properties(${SOURCE_C} PROPERTIES COMPILE_FLAGS "${C_COMPILE_FLAGS} ${INCLUDE_DIRECTORIES}")
239-
endforeach(SOURCE_C ${SOURCES_C})
240-
241-
foreach(SOURCE_S ${TEENSY_LIB_S_SOURCES})
242-
set_property(SOURCE ${SOURCE_S} PROPERTY LANGUAGE C)
243-
set_source_files_properties(${SOURCE_S} PROPERTIES COMPILE_FLAGS "${S_COMPILE_FLAGS} ${INCLUDE_DIRECTORIES}")
244-
endforeach(SOURCE_S ${SOURCES_S})
245-
246-
add_library(${ELFTARGET} STATIC ${ARGN} ${TEENSY_SOURCES} ${TEENSY_LIB_CPP_SOURCES} ${TEENSY_LIB_C_SOURCES} ${TEENSY_LIB_S_SOURCES})
247-
if (COREPATH)
248-
set_target_properties(${ELFTARGET} PROPERTIES INCLUDE_DIRECTORIES ${COREPATH})
249-
endif ()
250-
set_target_properties(${ELFTARGET} PROPERTIES LINK_FLAGS "${LINK_FLAGS}")
251-
252-
add_custom_command(OUTPUT ${TARGET}.hex
253-
COMMAND ${COMPILERPATH}arm-none-eabi-size ${ELFTARGET}
254-
COMMAND ${COMPILERPATH}arm-none-eabi-objcopy -O ihex -R .eeprom ${ELFTARGET} ${TARGET}.hex
255-
DEPENDS ${ELFTARGET}
256-
COMMENT "Creating HEX file for ${ELFTARGET}")
257-
endfunction()
258-
259-
macro(import_arduino_library LIB_NAME LIB_ROOT)
260-
if ("${LIB_NAME}" IN_LIST Arduino_libraries_List)
261-
message(INFO "-- import_arduino_library -- ${name} is already imported...")
262-
else ()
263-
list(APPEND Arduino_libraries_List "${LIB_NAME}")
264-
set(Arduino_libraries_List ${Arduino_libraries_List} CACHE INTERNAL "")
265-
266-
message(STATUS "import_arduino_library(${LIB_NAME} ${LIB_ROOT} ${ARGN})")
267-
# Check if we can find the library.
268-
if(NOT EXISTS "${LIB_ROOT}")
269-
message(STATUS "Could not find the directory for library '${LIB_ROOT}' -- ignoring (its possible that the library is not used for the target you are calling) !!!!!")
270-
else()
271-
set(INCLUDE_DIRECTORIES "${INCLUDE_DIRECTORIES} -I${LIB_ROOT} ")
272-
273-
set(IMPORT_LIB_CPP_SOURCES "")
274-
set(IMPORT_LIB_C_SOURCES "")
275-
set(IMPORT_LIB_S_SOURCES "")
276-
277-
# Mark source files to be built along with the sketch code.
278-
file(GLOB SOURCES_CPP ABSOLUTE "${LIB_ROOT}/*.cpp")
279-
foreach(SOURCE_CPP ${SOURCES_CPP})
280-
set(IMPORT_LIB_CPP_SOURCES ${IMPORT_LIB_CPP_SOURCES} ${SOURCE_CPP})
281-
endforeach(SOURCE_CPP ${SOURCES_CPP})
282-
283-
file(GLOB SOURCES_C ABSOLUTE "${LIB_ROOT}/*.c")
284-
foreach(SOURCE_C ${SOURCES_C})
285-
set(IMPORT_LIB_C_SOURCES ${IMPORT_LIB_C_SOURCES} ${SOURCE_C})
286-
endforeach(SOURCE_C ${SOURCES_C})
287-
288-
file(GLOB SOURCES_S ABSOLUTE "${LIB_ROOT}/*.S")
289-
foreach(SOURCE_S ${SOURCES_S})
290-
set(IMPORT_LIB_S_SOURCES ${IMPORT_LIB_S_SOURCES} ${SOURCE_S})
291-
endforeach(SOURCE_S ${SOURCES_S})
292-
293-
foreach(arg ${ARGN})
294-
message(status " checking for ${LIB_ROOT}/${arg}")
295-
if(NOT EXISTS ${LIB_ROOT}/${arg})
296-
message(FATAL_ERROR "Could not find the Arduino library directory ${LIB_ROOT}/${arg}")
297-
endif(NOT EXISTS ${LIB_ROOT}/${arg})
298-
include_directories("${LIB_ROOT}/${arg}")
299-
set(INCLUDE_DIRECTORIES "${INCLUDE_DIRECTORIES} -I${LIB_ROOT}/${arg} ")
300-
301-
# Mark source files to be built along with the sketch code.
302-
file(GLOB SOURCES_CPP ABSOLUTE "${LIB_ROOT}/${arg}/*.cpp")
303-
foreach(SOURCE_CPP ${SOURCES_CPP})
304-
set(IMPORT_LIB_CPP_SOURCES ${IMPORT_LIB_CPP_SOURCES} ${SOURCE_CPP})
305-
endforeach(SOURCE_CPP ${SOURCES_CPP})
306-
307-
file(GLOB SOURCES_C ABSOLUTE "${LIB_ROOT}/${arg}/*.c")
308-
foreach(SOURCE_C ${SOURCES_C})
309-
set(IMPORT_LIB_C_SOURCES ${IMPORT_LIB_C_SOURCES} ${SOURCE_C})
310-
endforeach(SOURCE_C ${SOURCES_C})
311-
312-
file(GLOB SOURCES_S ABSOLUTE "${LIB_ROOT}/${arg}/*.S")
313-
foreach(SOURCE_S ${SOURCES_S})
314-
set(IMPORT_LIB_S_SOURCES ${IMPORT_LIB_S_SOURCES} ${SOURCE_S})
315-
endforeach(SOURCE_S ${SOURCES_S})
316-
endforeach()
317-
318-
teensy_add_library(${LIB_NAME} ${IMPORT_LIB_CPP_SOURCES} ${IMPORT_LIB_C_SOURCES} ${IMPORT_LIB_S_SOURCES})
319-
320-
endif(NOT EXISTS "${LIB_ROOT}")
321-
endif ()
322-
endmacro(import_arduino_library)
323-
324-
macro(teensy_remove_sources LIB_DIR)
325-
file(GLOB_RECURSE FILES_TO_REMOVE ABSOLUTE "${LIB_DIR}/**.*")
326-
foreach(FILE_TO_REMOVE ${FILES_TO_REMOVE})
327-
list(REMOVE_ITEM TEENSY_LIB_SOURCES ${FILE_TO_REMOVE})
328-
message("REMOVED ${FILE_TO_REMOVE}")
329-
endforeach(FILE_TO_REMOVE ${FILES_TO_REMOVE})
330-
endmacro(teensy_remove_sources)
331-
332-
macro(teensy_include_directories)
333-
set(list_var "${ARGN}")
334-
foreach(loop_var IN LISTS list_var)
335-
set(INCLUDE_DIRECTORIES "${INCLUDE_DIRECTORIES} -I${CMAKE_CURRENT_SOURCE_DIR}/${loop_var} ")
336-
endforeach()
337-
endmacro(teensy_include_directories)
338-
339-
macro(teensy_target_link_libraries TARGET)
340-
set(list_var "${ARGN}")
341-
foreach(loop_var IN LISTS list_var)
342-
target_link_libraries(${TARGET}.elf ${loop_var}.o)
343-
endforeach()
344-
endmacro(teensy_target_link_libraries)
345-
346-
macro(import_arduino_library_git LIB_NAME LIB_URL LIB_BRANCH LIB_PATH)
347-
include(FetchContent)
348-
FetchContent_Declare(${LIB_NAME}
349-
GIT_REPOSITORY ${LIB_URL}
350-
GIT_TAG ${LIB_BRANCH}
351-
)
352-
FetchContent_MakeAvailable(${LIB_NAME})
353-
string(TOLOWER ${LIB_NAME} LIB_NAME_LOWER)
354-
set(LIB_ROOT "${${LIB_NAME_LOWER}_SOURCE_DIR}/${LIB_PATH}")
355-
356-
# Check if we can find the library.
357-
if(NOT EXISTS "${LIB_ROOT}")
358-
message(STATUS "Could not find the directory for library '${LIB_ROOT}' -- ignoring (its possible that the library is not used for the target you are calling) !!!!!")
359-
else()
360-
import_arduino_library(${LIB_NAME} ${LIB_ROOT} ${ARGN})
361-
endif(NOT EXISTS "${LIB_ROOT}")
362-
363-
endmacro(import_arduino_library_git)
2+
project(teensy_cmake_macros)

0 commit comments

Comments
 (0)