-
Notifications
You must be signed in to change notification settings - Fork 46
/
Copy pathCMakeLists.txt
49 lines (37 loc) · 1.44 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Copyright (c) Microsoft Corporation. All rights reserved.
# SPDX-License-Identifier: MIT
cmake_minimum_required(VERSION 3.13)
if(NOT VENDOR MATCHES "^PC$")
set(CMAKE_TOOLCHAIN_FILE cmake/${VENDOR}_gcc.cmake)
endif()
project(iot-middleware-sample C ASM)
set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# include common utilities
include(common/utilities)
# Set FreeRTOS path
if(NOT FREERTOS_PATH)
message(STATUS "No FREERTOS_PATH specified: Fetching FreeRTOS to path <${FREERTOS_PATH}>")
free_rtos_fetch()
endif()
find_package(FreeRTOS REQUIRED)
find_package(FreeRTOSPlus REQUIRED)
# Include logging globally
include_directories("${FreeRTOSPlus_PATH}/Source/Utilities/logging")
# Add demo
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/demos)
# Add MCU flags, set using board cmake
add_compile_options(${MCU_C_FLAGS})
add_link_options(${MCU_LINKER_FLAGS})
# Set middleware specific path's
set(FREERTOS_DIRECTORY ${FREERTOS_PATH} CACHE STRING "FreeRTOS Path")
set(CONFIG_DIRECTORY ${BOARD_DEMO_CONFIG_PATH} CACHE STRING "Demo config")
set(FREERTOS_PORT_DIRECTORY ${BOARD_DEMO_FREERTOS_PORT_PATH} CACHE STRING "FreeRTOS port")
# Include port path for lib
include_directories(${BOARD_DEMO_PORT_PATH})
# Add middleware
# These boards do not support ADU
if(NOT(${BOARD} STREQUAL "windows"))
set(USE_COREHTTP ON)
endif()
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/libs/azure-iot-middleware-freertos)