aboutsummaryrefslogtreecommitdiff
path: root/puzzle/vault/CMakeLists.txt
diff options
context:
space:
mode:
authorElwin <elwinhammer@gmail.com>2024-06-22 17:40:40 +0200
committerElwin <elwinhammer@gmail.com>2024-06-22 17:40:40 +0200
commit9c255363bb578ada6bb53d15e5ca12fa8b39986b (patch)
tree2d6ee87a02d1e0088c1eef86a22564786929b162 /puzzle/vault/CMakeLists.txt
parentf121de7c7e3ca8f0dc526973a5ee2586485aad22 (diff)
Freertos support
Diffstat (limited to 'puzzle/vault/CMakeLists.txt')
-rw-r--r--puzzle/vault/CMakeLists.txt49
1 files changed, 49 insertions, 0 deletions
diff --git a/puzzle/vault/CMakeLists.txt b/puzzle/vault/CMakeLists.txt
new file mode 100644
index 0000000..b0f05f2
--- /dev/null
+++ b/puzzle/vault/CMakeLists.txt
@@ -0,0 +1,49 @@
+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
+ TM1637
+ )
+
+target_enable_arduino_upload(main)
+