Tactiliest/tactility/CMakeLists.txt
Ken Van Hoeylandt 27730260e0
Project restructuring: add tactility-headless (#55)
- Created `tactility-headless` to support ESP32 firmwares that don't require graphics
- `tactility` subproject now contains both PC and ESP32 code (to avoid having to split up `tactility` and `tactility-headless` into separate projects, which would result in a very complex dependency tree)
- `tactility` subproject is now defined as component for ESP32 and as regular module for PC
- Improvements for dispatcher
- Added `project-structure.puml` to docs
- `Gui` service now depends on `Loader` service instead of the reverse
- Added `statusbar_updater` service for updating Wi-Fi and SD card icons
2024-08-31 17:56:28 +02:00

45 lines
995 B
CMake

cmake_minimum_required(VERSION 3.16)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
if (DEFINED ENV{ESP_IDF_VERSION})
file(GLOB_RECURSE SOURCE_FILES src/*.c)
idf_component_register(
SRCS ${SOURCE_FILES}
INCLUDE_DIRS "src/"
REQUIRES tactility-headless lvgl
)
target_link_libraries(${COMPONENT_LIB}
PUBLIC lv_screenshot
)
add_definitions(-DESP_PLATFORM)
else()
file(GLOB_RECURSE SOURCES "src/*.c")
file(GLOB_RECURSE HEADERS "src/*.h")
add_library(tactility OBJECT)
target_sources(tactility
PRIVATE ${SOURCES}
PUBLIC ${HEADERS}
)
target_include_directories(tactility
PRIVATE src/
INTERFACE src/
)
add_definitions(-D_Nullable=)
add_definitions(-D_Nonnull=)
target_link_libraries(tactility
PUBLIC tactility-headless
PUBLIC lvgl
PUBLIC freertos_kernel
PUBLIC lv_screenshot
)
endif()