Skip to content

Commit d018408

Browse files
committed
Issue #1333 - Refactored radio CMakeLists.txt to remove the loops usage
1 parent 46b5201 commit d018408

File tree

1 file changed

+49
-36
lines changed

1 file changed

+49
-36
lines changed

src/radio/CMakeLists.txt

Lines changed: 49 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -29,46 +29,62 @@ set_property(CACHE RADIO PROPERTY STRINGS ${RADIO_LIST})
2929
set_property(CACHE RADIO PROPERTY ADVANCED)
3030

3131
#---------------------------------------------------------------------------------------
32-
# Target
32+
# Radio drivers
3333
#---------------------------------------------------------------------------------------
3434

35-
foreach( R ${RADIO_LIST} )
36-
if(${R} MATCHES ${RADIO} )
37-
list(APPEND ${PROJECT_NAME}_SOURCES
38-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO}/radio.c
39-
)
40-
list(APPEND ${PROJECT_NAME}_SOURCES
41-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO}/${RADIO}_driver/src/lr1110_bootloader.c
42-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO}/${RADIO}_driver/src/lr1110_crypto_engine.c
43-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO}/${RADIO}_driver/src/lr1110_gnss.c
44-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO}/${RADIO}_driver/src/lr1110_radio.c
45-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO}/${RADIO}_driver/src/lr1110_regmem.c
46-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO}/${RADIO}_driver/src/lr1110_system.c
47-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO}/${RADIO}_driver/src/lr1110_wifi.c
48-
)
49-
else()
50-
file(GLOB ${PROJECT_NAME}_SOURCES
51-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO}/*.c
52-
)
53-
endif()
54-
endforeach()
35+
if(${RADIO} STREQUAL lr1110)
36+
list(APPEND ${PROJECT_NAME}_SOURCES
37+
${CMAKE_CURRENT_SOURCE_DIR}/lr1110/radio.c
38+
${CMAKE_CURRENT_SOURCE_DIR}/lr1110/lr1110_driver/src/lr1110_bootloader.c
39+
${CMAKE_CURRENT_SOURCE_DIR}/lr1110/lr1110_driver/src/lr1110_crypto_engine.c
40+
${CMAKE_CURRENT_SOURCE_DIR}/lr1110/lr1110_driver/src/lr1110_driver_version.c
41+
${CMAKE_CURRENT_SOURCE_DIR}/lr1110/lr1110_driver/src/lr1110_gnss.c
42+
${CMAKE_CURRENT_SOURCE_DIR}/lr1110/lr1110_driver/src/lr1110_radio.c
43+
${CMAKE_CURRENT_SOURCE_DIR}/lr1110/lr1110_driver/src/lr1110_regmem.c
44+
${CMAKE_CURRENT_SOURCE_DIR}/lr1110/lr1110_driver/src/lr1110_system.c
45+
${CMAKE_CURRENT_SOURCE_DIR}/lr1110/lr1110_driver/src/lr1110_wifi.c
46+
)
47+
elseif(${RADIO} STREQUAL sx126x)
48+
list(APPEND ${PROJECT_NAME}_SOURCES
49+
${CMAKE_CURRENT_SOURCE_DIR}/sx126x/radio.c
50+
${CMAKE_CURRENT_SOURCE_DIR}/sx126x/sx126x.c
51+
)
52+
elseif(${RADIO} STREQUAL sx1272)
53+
list(APPEND ${PROJECT_NAME}_SOURCES
54+
${CMAKE_CURRENT_SOURCE_DIR}/sx1272/sx1272.c
55+
)
56+
elseif(${RADIO} STREQUAL sx1276)
57+
list(APPEND ${PROJECT_NAME}_SOURCES
58+
${CMAKE_CURRENT_SOURCE_DIR}/sx1276/sx1276.c
59+
)
60+
else()
61+
message(FATAL_ERROR "Unsupported radio driver selected...")
62+
endif()
5563

5664
add_library(${PROJECT_NAME} OBJECT EXCLUDE_FROM_ALL ${${PROJECT_NAME}_SOURCES})
5765

5866
add_dependencies(${PROJECT_NAME} board)
5967

60-
foreach( R ${RADIO_LIST} )
61-
if(${R} MATCHES lr1110 )
62-
list(APPEND ${PROJECT_NAME}_INCLUDES
63-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO})
64-
list(APPEND ${PROJECT_NAME}_INCLUDES
65-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO}/${RADIO}_driver/src)
66-
else()
67-
list(APPEND ${PROJECT_NAME}_INCLUDES
68-
${CMAKE_CURRENT_SOURCE_DIR}/${RADIO}
69-
)
70-
endif()
71-
endforeach()
68+
if(${RADIO} STREQUAL lr1110 )
69+
list(APPEND ${PROJECT_NAME}_INCLUDES
70+
${CMAKE_CURRENT_SOURCE_DIR}/lr1110
71+
${CMAKE_CURRENT_SOURCE_DIR}/lr1110/lr1110_driver/src
72+
)
73+
elseif(${RADIO} STREQUAL sx126x)
74+
list(APPEND ${PROJECT_NAME}_INCLUDES
75+
${CMAKE_CURRENT_SOURCE_DIR}/sx126x
76+
)
77+
elseif(${RADIO} STREQUAL sx1272)
78+
list(APPEND ${PROJECT_NAME}_INCLUDES
79+
${CMAKE_CURRENT_SOURCE_DIR}/sx1272
80+
)
81+
elseif(${RADIO} STREQUAL sx1276)
82+
list(APPEND ${PROJECT_NAME}_INCLUDES
83+
${CMAKE_CURRENT_SOURCE_DIR}/sx1276
84+
)
85+
else()
86+
message(FATAL_ERROR "Unsupported radio driver selected...")
87+
endif()
7288

7389
target_include_directories(${PROJECT_NAME} PUBLIC
7490
${CMAKE_CURRENT_SOURCE_DIR}
@@ -77,11 +93,8 @@ target_include_directories(${PROJECT_NAME} PUBLIC
7793
$<TARGET_PROPERTY:system,INTERFACE_INCLUDE_DIRECTORIES>
7894
)
7995

80-
## TEMPORALLY WORKAROUND to allow radio debugging.
81-
## It will be removed with the introduction of a debug-board interface.
8296
option(USE_RADIO_DEBUG "Enable Radio Debug GPIO's" OFF)
8397
target_compile_definitions(${PROJECT_NAME} PUBLIC $<$<BOOL:${USE_RADIO_DEBUG}>:USE_RADIO_DEBUG>)
8498
target_include_directories(${PROJECT_NAME} PUBLIC $<TARGET_PROPERTY:${BOARD},INTERFACE_INCLUDE_DIRECTORIES>)
85-
##
8699

87100
set_property(TARGET ${PROJECT_NAME} PROPERTY C_STANDARD 11)

0 commit comments

Comments
 (0)