-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
58 lines (46 loc) · 1.88 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
50
51
52
53
54
55
56
57
58
cmake_minimum_required(VERSION 3.12)
# Pull in SDK (must be before project)
include(pico_sdk_import.cmake)
include(pico_extras_import_optional.cmake)
project(pico_examples C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
add_compile_definitions(PICO_DEFAULT_UART=1)
add_compile_definitions(PICO_DEFAULT_UART_TX_PIN=20)
add_compile_definitions(PICO_DEFAULT_UART_RX_PIN=21)
if (PICO_SDK_VERSION_STRING VERSION_LESS "2.0.0")
message(FATAL_ERROR "Raspberry Pi Pico SDK version 2.0.0 (or later) required. Your version is ${PICO_SDK_VERSION_STRING}")
endif()
set(PICO_EXAMPLES_PATH ${PROJECT_SOURCE_DIR})
# If you want debug output from USB (pass -DPICO_STDIO_USB=1) this ensures you don't lose any debug output while USB is set up
if (NOT DEFINED PICO_STDIO_USB_CONNECT_WAIT_TIMEOUT_MS)
set(PICO_STDIO_USB_CONNECT_WAIT_TIMEOUT_MS 3000)
endif()
# Initialize the SDK
pico_sdk_init()
include(example_auto_set_url.cmake)
function(add_subdirectory_exclude_platforms NAME)
if (ARGN)
if (PICO_PLATFORM IN_LIST ARGN)
message("Skipping ${NAME} example which is unsupported on this platform")
return()
endif()
foreach(PATTERN IN LISTS ARGN)
string(REGEX MATCH "${PATTERN}" MATCHED "${PICO_PLATFORM}")
if (MATCHED)
message("Skipping ${NAME} example which is unsupported on this platform")
return()
endif()
endforeach()
endif()
add_subdirectory(${NAME})
endfunction()
add_compile_options(-Wall
-Wno-format # int != int32_t as far as the compiler is concerned because gcc has int32_t as long int
-Wno-unused-function # we have some for the docs that aren't called
)
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
add_compile_options(-Wno-maybe-uninitialized)
endif()
# Hardware-specific examples in subdirectories:
add_subdirectory(freertos)