# Generated Cmake Pico project file cmake_minimum_required(VERSION 3.13) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # Initialise pico_sdk from installed location # (note this can come from environment, CMake cache etc) # == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == if(WIN32) set(USERHOME $ENV{USERPROFILE}) else() set(USERHOME $ENV{HOME}) endif() set(sdkVersion 2.2.0) set(toolchainVersion 14_2_Rel1) set(picotoolVersion 2.2.0) set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) if (EXISTS ${picoVscode}) include(${picoVscode}) endif() # ==================================================================================== set(PICO_BOARD pico2 CACHE STRING "Board type") # Pull in Raspberry Pi Pico SDK (must be before project) include(pico_sdk_import.cmake) project(Firmware C CXX ASM) # Initialise the Raspberry Pi Pico SDK pico_sdk_init() # Add executable. Default name is the project name, version 0.1 add_custom_command(OUTPUT Build_Number # PRE_BUILD COMMAND cmd /c increment_build_number.bat ) add_custom_target(fakeTarget1 ALL DEPENDS Build_Number ) # Add executable. Default name is the project name, version 0.1 aux_source_directory(Images/ IMAGE_SOURCES) include_directories(Images/) aux_source_directory(Fonts/ FONT_SOURCES) include_directories(Fonts/) aux_source_directory(Screens_Display/ SCREEN_DISPLAY_SOURCES) include_directories(Screens_Display/) add_executable(Firmware main.c PWM.c UART0.c Convert.c I2C_Master.c USB_Serial.c Serial_Command.c Hue.c Easings.c Command.c UI_Control.c Mode_Manager.c MIDI_Note_List.c INA260.c Switch.c Rotary_Encoder.c EEPROM_M24C64.c Core1.c Core1_ADC.c Core1_LED_Enable.c Core1_LED_Control.c Core1_MIDI_Receiver.c Core1_Light_Controller.c Display_Default_Configurations.c Display_Message_Box_Icons.c Display_Render_Complex.c Display_Render_Simple.c Display_Color.c Display_Font.c Display_Image.c Display_Init.c Display_Touch.c Display_Objects.c Display_Shapes.c Display_SPI.c Display.c Screen_Variables.c Hierarchical_Menu.c ${IMAGE_SOURCES} ${FONT_SOURCES} ${SCREEN_DISPLAY_SOURCES} ) pico_set_program_name(Firmware "Firmware") pico_set_program_version(Firmware "0.1") # Modify the below lines to enable/disable output over UART/USB pico_enable_stdio_uart(Firmware 0) pico_enable_stdio_usb(Firmware 1) set_property(TARGET Firmware APPEND_STRING PROPERTY LINK_FLAGS "-Wl,--print-memory-usage") # Add the standard library to the build target_link_libraries(Firmware pico_stdlib) # Add the standard include files to the build target_include_directories(Firmware PRIVATE ${CMAKE_CURRENT_LIST_DIR} ) # Add any user requested libraries target_link_libraries(Firmware hardware_spi hardware_i2c hardware_dma hardware_pwm hardware_adc hardware_interp hardware_timer hardware_watchdog hardware_clocks hardware_uart pico_multicore pico_rand ) pico_add_extra_outputs(Firmware) add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_OBJDUMP} -t $ > ${CMAKE_CURRENT_BINARY_DIR}/symbols_full.txt COMMENT "Extracting all symbols to symbols_full.txt" )