mirror of
https://github.com/justinian/edmfd_firmware.git
synced 2025-12-09 16:24:31 -08:00
71 lines
1.7 KiB
CMake
71 lines
1.7 KiB
CMake
# == 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.1.0)
|
|
set(toolchainVersion 13_3_Rel1)
|
|
set(picotoolVersion 2.1.0)
|
|
set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake)
|
|
if (EXISTS ${picoVscode})
|
|
include(${picoVscode})
|
|
endif()
|
|
# ====================================================================================
|
|
set(PICO_BOARD pico CACHE STRING "Board type")
|
|
|
|
cmake_minimum_required(VERSION 3.12)
|
|
|
|
set(PICO_SDK_PATH ${CMAKE_SOURCE_DIR}/pico-sdk)
|
|
include(pico_sdk_import.cmake)
|
|
|
|
project(EDMFD C CXX)
|
|
|
|
set(CMAKE_C_STANDARD 11)
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
set(PICO_STDIO_USB_CONNECT_WAIT_TIMEOUT_MS 3000)
|
|
pico_sdk_init()
|
|
|
|
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)
|
|
add_compile_options(-ffile-prefix-map=${CMAKE_SOURCE_DIR}/src/=)
|
|
endif()
|
|
|
|
include_directories(src)
|
|
|
|
add_library(logging STATIC
|
|
src/logging/log.cc
|
|
)
|
|
target_include_directories(logging PRIVATE src)
|
|
|
|
add_executable(edmfd)
|
|
target_sources(edmfd PUBLIC
|
|
src/edmfd/blink.cc
|
|
src/edmfd/hid.cc
|
|
src/edmfd/main.cc
|
|
src/edmfd/mcp23017.cc
|
|
src/edmfd/screen.cc
|
|
src/edmfd/usb_descriptors.cc
|
|
src/edmfd/vendor.cc
|
|
)
|
|
|
|
pico_enable_stdio_uart(edmfd 1)
|
|
pico_enable_stdio_uart(edmfd 0)
|
|
pico_add_extra_outputs(edmfd)
|
|
target_link_libraries(edmfd PUBLIC
|
|
logging
|
|
pico_stdlib
|
|
pico_stdio_uart
|
|
pico_unique_id
|
|
hardware_i2c
|
|
tinyusb_device
|
|
tinyusb_board
|
|
)
|