11cmake_minimum_required (VERSION  3.12)
22
3- if  (NOT  CMAKE_PROJECT_NAME )
4-     # Pull in SDK (must be before project) 
5-     include (${CMAKE_CURRENT_LIST_DIR} /pico_sdk_import.cmake)
6-     include (${CMAKE_CURRENT_LIST_DIR} /pico_extras_import_optional.cmake)
3+ # Pull in SDK (must be before project) 
4+ include (pico_sdk_import.cmake)
5+ include (pico_extras_import_optional.cmake)
76
8-     pico_is_top_level_project(PICO_EXAMPLES_TOP_LEVEL_PROJECT)
9- 
10-     if  (PICO_EXAMPLES_TOP_LEVEL_PROJECT)
11-         project (pico_examples C CXX ASM)
12-     else ()
13-         # Go back to individual example for project 
14-         return ()
15-     endif ()
16- endif ()
7+ project (pico_examples C CXX ASM)
178
189set (CMAKE_C_STANDARD 11)
1910set (CMAKE_CXX_STANDARD 17)
@@ -22,7 +13,7 @@ if (PICO_SDK_VERSION_STRING VERSION_LESS "2.1.0")
2213    message (FATAL_ERROR "Raspberry Pi Pico SDK version 2.1.0 (or later) required. Your version is ${PICO_SDK_VERSION_STRING} " )
2314endif ()
2415
25- set (PICO_EXAMPLES_PATH ${CMAKE_CURRENT_LIST_DIR } )
16+ set (PICO_EXAMPLES_PATH ${PROJECT_SOURCE_DIR } )
2617
2718# 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 
2819if  (NOT  DEFINED  PICO_STDIO_USB_CONNECT_WAIT_TIMEOUT_MS)
@@ -32,7 +23,7 @@ endif()
3223# Initialize the SDK 
3324pico_sdk_init()
3425
35- include (${CMAKE_CURRENT_LIST_DIR} / example_auto_set_url.cmake)
26+ include (example_auto_set_url.cmake)
3627
3728function (add_subdirectory_exclude_platforms NAME )
3829    if  (ARGN)
@@ -51,6 +42,13 @@ function(add_subdirectory_exclude_platforms NAME)
5142    add_subdirectory (${NAME} )
5243endfunction ()
5344
45+ # Add blink example 
46+ add_subdirectory_exclude_platforms(blink)
47+ add_subdirectory_exclude_platforms(blink_simple)
48+ 
49+ # Add hello world example 
50+ add_subdirectory_exclude_platforms(hello_world)
51+ 
5452add_compile_options (-Wall
5553        -Wno-format          # int != int32_t as far as the compiler is concerned because gcc has int32_t as long int 
5654        -Wno-unused-function # we have some for the docs that aren't called 
@@ -59,43 +57,34 @@ if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
5957    add_compile_options (-Wno-maybe-uninitialized)
6058endif ()
6159
62- if  (PICO_EXAMPLES_TOP_LEVEL_PROJECT)
63-     # Add blink example 
64-     add_subdirectory_exclude_platforms(blink)
65-     add_subdirectory_exclude_platforms(blink_simple)
66- 
67-     # Add hello world example 
68-     add_subdirectory_exclude_platforms(hello_world)
69- 
70-     # Hardware-specific examples in subdirectories: 
71-     add_subdirectory (adc)
72-     add_subdirectory (binary_info)
73-     add_subdirectory (bootloaders)
74-     add_subdirectory (clocks)
75-     add_subdirectory (cmake)
76-     add_subdirectory (dcp)
77-     add_subdirectory (divider)
78-     add_subdirectory (dma)
79-     add_subdirectory (flash)
80-     add_subdirectory (gpio)
81-     add_subdirectory (hstx)
82-     add_subdirectory (i2c)
83-     add_subdirectory (interp)
84-     add_subdirectory (multicore)
85-     add_subdirectory (otp)
86-     add_subdirectory (picoboard)
87-     add_subdirectory (pico_w)
88-     add_subdirectory (pio)
89-     add_subdirectory (pwm)
90-     add_subdirectory (reset)
91-     add_subdirectory (rtc)
92-     add_subdirectory (spi)
93-     add_subdirectory (system )
94-     add_subdirectory (timer)
95-     add_subdirectory (uart)
96-     add_subdirectory (universal)
97-     add_subdirectory (usb)
98-     add_subdirectory (watchdog)
99-     add_subdirectory (sha)
100-     add_subdirectory (freertos)
101- endif ()
60+ # Hardware-specific examples in subdirectories: 
61+ add_subdirectory (adc)
62+ add_subdirectory (binary_info)
63+ add_subdirectory (bootloaders)
64+ add_subdirectory (clocks)
65+ add_subdirectory (cmake)
66+ add_subdirectory (dcp)
67+ add_subdirectory (divider)
68+ add_subdirectory (dma)
69+ add_subdirectory (flash)
70+ add_subdirectory (gpio)
71+ add_subdirectory (hstx)
72+ add_subdirectory (i2c)
73+ add_subdirectory (interp)
74+ add_subdirectory (multicore)
75+ add_subdirectory (otp)
76+ add_subdirectory (picoboard)
77+ add_subdirectory (pico_w)
78+ add_subdirectory (pio)
79+ add_subdirectory (pwm)
80+ add_subdirectory (reset)
81+ add_subdirectory (rtc)
82+ add_subdirectory (spi)
83+ add_subdirectory (system )
84+ add_subdirectory (timer)
85+ add_subdirectory (uart)
86+ add_subdirectory (universal)
87+ add_subdirectory (usb)
88+ add_subdirectory (watchdog)
89+ add_subdirectory (sha)
90+ add_subdirectory (freertos)
0 commit comments