summaryrefslogtreecommitdiff
path: root/examples/ble_app_buttonless_dfu/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'examples/ble_app_buttonless_dfu/CMakeLists.txt')
-rw-r--r--examples/ble_app_buttonless_dfu/CMakeLists.txt95
1 files changed, 65 insertions, 30 deletions
diff --git a/examples/ble_app_buttonless_dfu/CMakeLists.txt b/examples/ble_app_buttonless_dfu/CMakeLists.txt
index ba4d175..3b47921 100644
--- a/examples/ble_app_buttonless_dfu/CMakeLists.txt
+++ b/examples/ble_app_buttonless_dfu/CMakeLists.txt
@@ -1,38 +1,73 @@
-set(D ${MCU_NRF51_SDK_PATH}/examples/ble_peripheral/experimental_ble_app_buttonless_dfu)
-
-if(NOT EXISTS ${D})
- message("Not available in this SDK version: ${D}")
- return ()
-endif()
-
set(T ble_app_buttonless_dfu)
-add_executable(${T} ${D}/main.c ${D}/nrf_dfu_flash_buttonless.c)
-mcu_add_executable(TARGET ${T} SDK_CONFIG sdk_config.h SOFTDEVICE 130)
+set(D ${MCU_NRF51_SDK_PATH}/examples/ble_peripheral/experimental_ble_app_buttonless_dfu)
-_nrf5_gen_lib(${T} log ADD_TO ${T})
-_nrf5_gen_lib(${T} fds ADD_TO ${T})
-_nrf5_gen_lib(${T} button ADD_TO ${T})
-_nrf5_gen_lib(${T} sensorsim ADD_TO ${T})
-_nrf5_gen_lib(${T} ble_dfu ADD_TO ${T})
+if (NOT EXISTS ${D})
+ message("${T}: Not available in this SDK version: ${D}")
+ return()
+endif ()
-target_compile_definitions(${T} PUBLIC BOARD_PCA10040)
-target_include_directories(${T} PUBLIC ${MCU_NRF51_SDK_PATH}/examples/bsp)
+if (MCU_CHIP MATCHES "nrf51.*")
+ set(SOFTDEVICE 130)
+ set(SDK_CONFIG pca10028/s130/sdk_config.h)
+ set(D_BOARD BOARD_PCA10028)
+elseif (MCU_CHIP MATCHES "nrf52.*")
+ set(SOFTDEVICE 132)
+ set(SDK_CONFIG pca10040/s132/sdk_config.h)
+ set(D_BOARD BOARD_PCA10040)
+endif ()
-target_compile_definitions(${T}-bootloader PUBLIC BOARD_PCA10040)
-target_include_directories(${T}-bootloader PUBLIC ${MCU_NRF51_SDK_PATH}/examples/bsp)
+message("${T}: Configured for chip ${MCU_CHIP}, using sdk config=${SDK_CONFIG}, board define: ${D_BOARD}")
-#[[
-mcu_nrf51_create_lib(PREFIX ${T} LIB util SDK_CONFIG sdk_config.h)
-mcu_nrf51_create_lib(PREFIX ${T} LIB ble SDK_CONFIG sdk_config.h)
-mcu_nrf51_create_softdevice(TARGET ${T}-softdevice SOFTDEVICE s130 SDK_CONFIG sdk_config.h)
+if (MCU_NRF51_SDK_VERSION VERSION_GREATER 7)
+ list(APPEND EXTRA_SOURCE_DIRS
+ ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/delay
+ ${MCU_NRF51_SDK_PATH}/components/libraries/experimental_section_vars
+ ${MCU_NRF51_SDK_PATH}/components/libraries/crc32)
+endif ()
-target_link_libraries(${T}-ble ${T}-softdevice)
-]]
+mcu_include_directories_from_sources(
+ SOURCES_VAR SOURCES
+ HEADERS_VAR HEADERS
+ INCLUDES_VAR INCLUDES
+ SOURCE_DIR
+ ${MCU_NRF51_SDK_PATH}/components/ble/ble_advertising
+ ${MCU_NRF51_SDK_PATH}/components/ble/ble_services/ble_dfu
+ ${MCU_NRF51_SDK_PATH}/components/ble/common
+ ${MCU_NRF51_SDK_PATH}/components/ble/peer_manager
+ ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/clock
+ ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/common
+ ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/gpiote
+ ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/hal
+ ${MCU_NRF51_SDK_PATH}/components/libraries/button
+ ${MCU_NRF51_SDK_PATH}/components/libraries/fds
+ ${MCU_NRF51_SDK_PATH}/components/libraries/fstorage
+ ${MCU_NRF51_SDK_PATH}/components/libraries/log
+ ${MCU_NRF51_SDK_PATH}/components/libraries/scheduler
+ ${MCU_NRF51_SDK_PATH}/components/libraries/sensorsim
+ ${MCU_NRF51_SDK_PATH}/components/libraries/util
+ ${MCU_NRF51_SDK_PATH}/components/softdevice/common/softdevice_handler
+ ${EXTRA_SOURCE_DIRS}
+ EXCLUDE
+ "app_timer_freertos"
+ "app_error_weak_cmock"
+ "app_timer_rtx"
+)
-#[[
-target_sources(${T} PUBLIC
- ${MCU_NRF51_SDK_PATH}/components/ble/ble_services/ble_dfu/ble_dfu.c)
+add_executable(${T}
+ ${D}/main.c ${D}/nrf_dfu_flash_buttonless.c ${SDK_CONFIG}
+ ${MCU_NRF51_SDK_PATH}/components/libraries/bootloader/dfu/nrf_dfu_settings.c
+ ${MCU_NRF51_SDK_PATH}/components/libraries/timer/app_timer.c
+ ${MCU_NRF51_SDK_PATH}/examples/bsp/bsp.c
+ ${MCU_NRF51_SDK_PATH}/examples/bsp/bsp_btn_ble.c
+ ${SOURCES} ${HEADERS})
-target_include_directories(${T}
- PUBLIC ${MCU_NRF51_SDK_PATH}/components/libraries/util)
-]]
+target_include_directories(${T} PUBLIC
+ ${INCLUDES}
+ ${MCU_NRF51_SDK_PATH}/examples/bsp
+ ${MCU_NRF51_SDK_PATH}/components/libraries/bootloader/dfu
+ ${MCU_NRF51_SDK_PATH}/components/libraries/timer)
+target_compile_definitions(${T} PUBLIC ${D_BOARD})
+target_compile_definitions(${T} PUBLIC BLE_STACK_SUPPORT_REQD)
+target_compile_definitions(${T} PUBLIC NRF_DFU_SETTINGS_VERSION=1337) # Is this correct?
+target_compile_definitions(${T} PUBLIC NRF_SD_BLE_API_VERSION=3)
+mcu_add_executable(TARGET ${T} SDK_CONFIG ${SDK_CONFIG} SOFTDEVICE ${SOFTDEVICE})