aboutsummaryrefslogtreecommitdiff
path: root/lib/pbdrv/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pbdrv/CMakeLists.txt')
-rw-r--r--lib/pbdrv/CMakeLists.txt28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/pbdrv/CMakeLists.txt b/lib/pbdrv/CMakeLists.txt
new file mode 100644
index 0000000..ca85b2b
--- /dev/null
+++ b/lib/pbdrv/CMakeLists.txt
@@ -0,0 +1,28 @@
+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)
+
+project(pbdrv C CXX)
+
+add_subdirectory(lib/mpack)
+
+# generic puzzle bus (de)serializer library
+add_library(pbdrv STATIC pb-read.c pb-write.c)
+target_link_libraries(pbdrv mpack)
+target_include_directories(pbdrv SYSTEM INTERFACE .)
+
+# puzzle bus module specific code (superset of pbdrv)
+add_library(pbdrv-mod STATIC pb-mod.c)
+target_link_libraries(pbdrv-mod pbdrv)
+target_include_directories(pbdrv-mod SYSTEM INTERFACE .)
+
+# supported puzzle bus drivers
+include(drv/arduino/cfg.cmake)
+include(drv/rp2040/cfg.cmake)
+