aboutsummaryrefslogtreecommitdiff
path: root/puzzle/neo/CMakeLists.txt
blob: db3aadc4038acfa80523a9f1601c701904198697 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
cmake_minimum_required(VERSION 3.29)

set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)

# enable debug features
set(CMAKE_BUILD_TYPE Debug)
add_compile_definitions(DEBUG)
# add_compile_options(-O0) # no optimizations

# arduino
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/lib/Arduino-CMake-Toolchain/Arduino-toolchain.cmake)
# set(ARDUINO_BOARD "Arduino Uno [avr.uno]")
set(ARDUINO_BOARD "Arduino Mega or Mega 2560 [avr.mega]")

# freertos
add_library(freertos_config INTERFACE)
target_include_directories(freertos_config SYSTEM INTERFACE .)
# set(FREERTOS_PORT GCC_ATMEGA) # Arduino Uno
set(FREERTOS_PORT GCC_ATMEGA) # Arduino Uno
set(FREERTOS_HEAP 4)

# used for testing
# set(ARDUINO_BOARD "Raspberry Pi Pico W [rp2040.rpipicow]")
# add_compile_definitions(USE_TINYUSB)
# include_directories(/home/loek/.arduino15/packages/rp2040/hardware/rp2040/3.9.2/libraries/Adafruit_TinyUSB_Arduino/src/arduino)

project(pb_mod_dummy C CXX)

add_subdirectory(lib/pbdrv)
add_subdirectory(lib/FreeRTOS-Kernel)

add_executable(main
	main.cpp
	mod.c
	)

target_link_libraries(main PUBLIC
	pbdrv-mod
	)
target_link_arduino_libraries(main PUBLIC
	core
	Wire
	Adafruit_seesaw
	)

#Adafruit workarround
target_link_arduino_libraries(_arduino_lib_Adafruit_seesaw_Library PUBLIC "Adafruit BusIO")

target_enable_arduino_upload(main)