1cmake_minimum_required(VERSION 3.13)
2
3# initialize the SDK based on PICO_SDK_PATH
4# note: this must happen before project()
5include(pico_sdk_import.cmake)
6
7project(ptuna)
8
9set(CMAKE_C_STANDARD 11)
10
11# initialize the Raspberry Pi Pico SDK
12pico_sdk_init()
13
14add_library(pico_pdm_microphone INTERFACE)
15
16target_sources(pico_pdm_microphone INTERFACE
17 ${CMAKE_CURRENT_LIST_DIR}/src/pdm_microphone.c
18 ${CMAKE_CURRENT_LIST_DIR}/src/OpenPDM2PCM/OpenPDMFilter.c
19)
20
21target_include_directories(pico_pdm_microphone INTERFACE
22 ${CMAKE_CURRENT_LIST_DIR}/src/include
23)
24
25pico_generate_pio_header(pico_pdm_microphone ${CMAKE_CURRENT_LIST_DIR}/src/pdm_microphone.pio)
26
27target_link_libraries(pico_pdm_microphone INTERFACE pico_stdlib pico_multicore hardware_dma hardware_pio)
28
29add_library(kiss_fftr kiss/kiss_fftr.c)
30add_library(kiss_fft kiss/kiss_fft.c)
31
32target_link_libraries(kiss_fftr kiss_fft)
33
34# rest of your project
35
36add_executable(ptuna
37 main.c ./libssd1306/ssd1306.c
38)
39
40target_include_directories(ptuna
41 PUBLIC
42 ${CMAKE_CURRENT_LIST_DIR}/../
43)
44
45target_link_libraries(ptuna pico_stdlib pico_multicore hardware_i2c pico_pdm_microphone kiss_fftr)
46
47pico_enable_stdio_usb(ptuna 1)
48pico_enable_stdio_uart(ptuna 0)
49
50# create map/bin/hex/uf2 file in addition to ELF.
51pico_add_extra_outputs(ptuna)