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)