1##
2##   ______                              _
3##  / _____)             _              | |
4## ( (____  _____ ____ _| |_ _____  ____| |__
5##  \____ \| ___ |    (_   _) ___ |/ ___)  _ \
6##  _____) ) ____| | | || |_| ____( (___| | | |
7## (______/|_____)_|_|_| \__)_____)\____)_| |_|
8## (C)2013-2017 Semtech
9##  ___ _____ _   ___ _  _____ ___  ___  ___ ___
10## / __|_   _/_\ / __| |/ / __/ _ \| _ \/ __| __|
11## \__ \ | |/ _ \ (__| ' <| _| (_) |   / (__| _|
12## |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
13## embedded.connectivity.solutions.==============
14##
15## License:  Revised BSD License, see LICENSE.TXT file included in the project
16## Authors:  Johannes Bruder (STACKFORCE), Miguel Luis (Semtech)
17##
18project(B-L072Z-LRWAN1)
19cmake_minimum_required(VERSION 3.6)
20enable_language(ASM)
21
22#---------------------------------------------------------------------------------------
23# Target
24#---------------------------------------------------------------------------------------
25
26list(APPEND ${PROJECT_NAME}_SOURCES
27    "${CMAKE_CURRENT_SOURCE_DIR}/adc-board.c"
28    "${CMAKE_CURRENT_SOURCE_DIR}/board.c"
29    "${CMAKE_CURRENT_SOURCE_DIR}/delay-board.c"
30    "${CMAKE_CURRENT_SOURCE_DIR}/eeprom-board.c"
31    "${CMAKE_CURRENT_SOURCE_DIR}/gpio-board.c"
32    "${CMAKE_CURRENT_SOURCE_DIR}/i2c-board.c"
33    "${CMAKE_CURRENT_SOURCE_DIR}/lpm-board.c"
34    "${CMAKE_CURRENT_SOURCE_DIR}/rtc-board.c"
35    "${CMAKE_CURRENT_SOURCE_DIR}/spi-board.c"
36    "${CMAKE_CURRENT_SOURCE_DIR}/sx1276-board.c"
37    "${CMAKE_CURRENT_SOURCE_DIR}/sysIrqHandlers.c"
38    "${CMAKE_CURRENT_SOURCE_DIR}/uart-board.c"
39    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/utilities.c"
40    "${CMAKE_CURRENT_SOURCE_DIR}/cmsis/arm-gcc/startup_stm32l072xx.s"
41    "${CMAKE_CURRENT_SOURCE_DIR}/cmsis/system_stm32l0xx.c"
42    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal.c"
43    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_adc.c"
44    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_adc_ex.c"
45    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_cortex.c"
46    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_dma.c"
47    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash.c"
48    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex.c"
49    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c"
50    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c"
51    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c"
52    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr.c"
53    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr_ex.c"
54    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c"
55    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc_ex.c"
56    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c"
57    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc_ex.c"
58    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_spi.c"
59    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c"
60    "${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart_ex.c"
61)
62
63add_library(${PROJECT_NAME} OBJECT EXCLUDE_FROM_ALL ${${PROJECT_NAME}_SOURCES})
64
65target_compile_definitions(${PROJECT_NAME} PUBLIC -DUSE_HAL_DRIVER -DSTM32L072xx)
66
67# Add define if debbuger support is enabled
68target_compile_definitions(${PROJECT_NAME} PUBLIC $<$<BOOL:${USE_DEBUGGER}>:USE_DEBUGGER>)
69
70# Add define if radio debug pins support is enabled
71target_compile_definitions(${PROJECT_NAME} PUBLIC $<$<BOOL:${USE_RADIO_DEBUG}>:USE_RADIO_DEBUG>)
72
73target_include_directories(${PROJECT_NAME} PUBLIC
74    ${CMAKE_CURRENT_SOURCE_DIR}
75    ${CMAKE_CURRENT_SOURCE_DIR}/cmsis
76    ${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32
77    ${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/cmsis
78    ${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Inc
79    $<TARGET_PROPERTY:board,INTERFACE_INCLUDE_DIRECTORIES>
80    $<TARGET_PROPERTY:system,INTERFACE_INCLUDE_DIRECTORIES>
81    $<TARGET_PROPERTY:radio,INTERFACE_INCLUDE_DIRECTORIES>
82    $<TARGET_PROPERTY:peripherals,INTERFACE_INCLUDE_DIRECTORIES>
83)
84
85set_property(TARGET ${PROJECT_NAME} PROPERTY C_STANDARD 11)
86