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.txt40
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/pbdrv/CMakeLists.txt b/lib/pbdrv/CMakeLists.txt
new file mode 100644
index 0000000..08894cc
--- /dev/null
+++ b/lib/pbdrv/CMakeLists.txt
@@ -0,0 +1,40 @@
+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)
+
+if(DEFINED ARDUINO)
+ set(PBDRV_ARDUINO true)
+endif()
+
+include_directories(.)
+add_library(pbdrv STATIC
+ pb-read.c
+ pb-write.c
+ )
+target_include_directories(pbdrv SYSTEM INTERFACE .)
+
+list(APPEND PBDRV_SRCS pb-mod.c)
+
+if(PBDRV_ARDUINO)
+ list(APPEND PBDRV_SRCS drv/arduino/mod.cpp)
+endif()
+
+add_library(pbdrv-mod STATIC ${PBDRV_SRCS})
+target_link_libraries(pbdrv-mod pbdrv)
+# add_dependencies(pbdrv-mod pbdrv)
+
+if(PBDRV_ARDUINO)
+ target_link_arduino_libraries(pbdrv-mod
+ core
+ Wire
+ )
+endif()
+