cmake_minimum_required(VERSION 3.13) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections -fdata-sections -Wl,--gc-sections") # místo pico můžete napsat picow (Pico s Wifi) nebo pico2 (Pico 2 s procesorem RP3520) set(PICO_BOARD pico CACHE STRING "Board type") include($ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake) # nastaveni jmena projektu project(navigace C CXX ASM) # nastaveni jmena spustitelneho souboru (abychom to nemuseli stále opisovat) set(EXE navigace) #inicializace Raspberry Pi Pico SDK pico_sdk_init() add_executable(${EXE} st7920_spi_u8g2_hal.c navigace.c podsvit.c nmea_parse.c ) pico_set_program_name(${EXE} "navigace") pico_set_program_version(${EXE} "0.10") # nastavení standardního výstupu 0 znamená nepoužito, 1 znamená použito pico_enable_stdio_uart(${EXE} 0) pico_enable_stdio_usb(${EXE} 1) # přidání standardní knihovny do projektu target_link_libraries(${EXE} pico_stdlib ) # include adresáře target_include_directories( ${EXE} PRIVATE ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/.. # pokud potřebujeme třeba pro lwipopts u8g2/csrc ) file(GLOB U8G2_SRC u8g2/csrc/*.c) add_library(u8g2 ${U8G2_SRC}) # volby pro linker target_link_options( ${EXE} PRIVATE -Xlinker --print-memory-usage) # další knihovny, které budeme v projektu potřebovat target_link_libraries( ${EXE} hardware_spi # hardware_spi potřebujeme pro displej hardware_pwm # hardware_pwm je pro řízení jasu displeje u8g2 # u8g2 potřebujeme pro displej # dále doplňte knihovny, které potřebujete hardware_rtc # hodiny reálného času hardware_pwm # řízení podsvitu pico_multicore # zapojení druhého jádra procesoru ) # toto je potřeba pro generování uf2 souboru, který nahráváme do Pica pico_add_extra_outputs(${EXE})