sxkbd

Firmware for RP2040-based corne split keyboard
git clone https://git.sinitax.com/sinitax/sxkbd
Log | Files | Refs | Submodules | README | LICENSE | sfeed.txt

CMakeLists.txt (1981B)


      1 cmake_minimum_required(VERSION 3.5)
      2 
      3 include(${CMAKE_CURRENT_SOURCE_DIR}/lib/tinyusb/hw/bsp/family_support.cmake)
      4 
      5 family_get_project_name(PROJECT ${CMAKE_CURRENT_LIST_DIR})
      6 
      7 project(${PROJECT})
      8 
      9 family_initialize_project(${PROJECT} ${CMAKE_CURRENT_LIST_DIR})
     10 
     11 add_executable(${PROJECT})
     12 
     13 pico_generate_pio_header(${PROJECT} ${CMAKE_CURRENT_SOURCE_DIR}/src/ws2812.pio)
     14 pico_generate_pio_header(${PROJECT} ${CMAKE_CURRENT_SOURCE_DIR}/src/uart_tx.pio)
     15 pico_generate_pio_header(${PROJECT} ${CMAKE_CURRENT_SOURCE_DIR}/src/uart_rx.pio)
     16 
     17 target_sources(${PROJECT} PUBLIC
     18 	${CMAKE_CURRENT_SOURCE_DIR}/src/main.c
     19 	${CMAKE_CURRENT_SOURCE_DIR}/src/util.c
     20 	${CMAKE_CURRENT_SOURCE_DIR}/src/hid.c
     21 	${CMAKE_CURRENT_SOURCE_DIR}/src/keysym/consumer.c
     22 	${CMAKE_CURRENT_SOURCE_DIR}/src/keysym/system.c
     23 	${CMAKE_CURRENT_SOURCE_DIR}/src/split.c
     24 	${CMAKE_CURRENT_SOURCE_DIR}/src/ws2812.c
     25 	${CMAKE_CURRENT_SOURCE_DIR}/src/led.c
     26 	${CMAKE_CURRENT_SOURCE_DIR}/src/keymat.c
     27 	${CMAKE_CURRENT_SOURCE_DIR}/src/keymap.c
     28 	${CMAKE_CURRENT_SOURCE_DIR}/src/usb_stdio.c
     29 	${CMAKE_CURRENT_SOURCE_DIR}/src/usb_descriptors.c
     30 )
     31 
     32 target_include_directories(${PROJECT} PUBLIC
     33 	${CMAKE_CURRENT_SOURCE_DIR}/src
     34 	${PICO_SDK_PATH}/src/rp2_common/hardware_gpio/include
     35 	${PICO_SDK_PATH}/src/rp2_common/hardware_pio/include
     36 	${PICO_SDK_PATH}/src/rp2_common/hardware_timer/include
     37 	${PICO_SDK_PATH}/src/rp2_common/hardware_uart/include
     38 	${PICO_SDK_PATH}/src/rp2_common/hardware_clocks/include
     39 )
     40 
     41 target_link_libraries(${PROJECT} PRIVATE
     42 	pico_stdlib
     43 	pico_stdio
     44 	pico_bootsel_via_double_reset
     45 	hardware_pio
     46 	hardware_gpio
     47 	tinyusb_device
     48 )
     49 
     50 target_compile_options(pico_stdio INTERFACE
     51 	-Wno-shadow # issue in picosdk/src/rp2_common/hardware_flash/flash.c
     52 	-Wno-unused-parameter
     53 )
     54 
     55 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_EXTRA_FLAGS}")
     56 
     57 family_configure_target(${PROJECT})
     58 family_add_default_example_warnings(${PROJECT})
     59 suppress_tinyusb_warnings()
     60 
     61 #pico_enable_stdio_usb(${PROJECT} 1)
     62 pico_enable_stdio_uart(${PROJECT} 0)