Files
chatter/CMakeLists.txt
Andy Kopra 5f21d9099c Initial commit: Chatter — assistive-writing app for reMarkable Paper Pro Move
Direct-framebuffer ink pipeline (stock-quality strokes), finger-wipe erase,
growable scrolling canvas with color-ghost cleanup, bidirectional toggle with a
persistent 4-finger return launcher, instant button feedback. Includes prebuilt
aarch64 binaries (dist/), build/deploy/install scripts, a user guide, and a
complete technical reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 18:53:31 +02:00

43 lines
1.0 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(chatter VERSION 0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
# Per reMarkable's qt_epaper guide: pure Qt Quick (no Qt Widgets).
find_package(Qt6 REQUIRED COMPONENTS Quick Gui)
qt_standard_project_setup(REQUIRES 6.5)
qt_add_executable(chatter
src/main.cpp
src/PenDevice.h
src/PenDevice.cpp
src/AppControl.h
src/AppControl.cpp
src/InkEngine.h
src/InkEngine.cpp
src/FbCapture.h
src/FbCapture.cpp
src/epfb.h
)
qt_add_qml_module(chatter
URI Chatter
VERSION 1.0
QML_FILES
qml/Main.qml
)
target_link_libraries(chatter PRIVATE
Qt6::Quick
Qt6::Gui
# EPFramebuffer::instance/swapBuffers live in the epaper scenegraph plugin.
${CMAKE_SYSROOT}/usr/lib/plugins/scenegraph/libqsgepaper.so
)
# Export the executable's dynamic symbols so our setBuffers interposer (in
# FbCapture.cpp) wins the cross-DSO call from the epaper platform plugin.
target_link_options(chatter PRIVATE -Wl,--export-dynamic)