mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 10:53:17 +00:00
- Rename `assets` and `config` partitions to `system` and `data` - Change partition type from `spiffs` to `fat`, so we can have sub-directories - Fix crash when doing WiFi scan: Increased system event task size to 3kB. - Free up IRAM on ESP32 (it was required for the Core2, but I also freed up the same amount for Yellow Board) - Introduced `Paths` objects that can be retrieved by `AppContext` and `ServiceContext`. Apps and services now have their own relative paths. Assets were re-arranged into the correct paths. - Rename simulator window title to "Tactility" - Refactored statusbar widget so it persists icon paths properly (it kept a const char* reference, but didn't copy it, so it crashed when the related std::string was destroyed) - Created `Partitions.h` to expose some useful variables - Moved USB config in various `sdkconfig` (it was part of the "default" section, but it shouldn't be) - Updated domain name
58 lines
1.6 KiB
CMake
58 lines
1.6 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
if (DEFINED ENV{ESP_IDF_VERSION})
|
|
file(GLOB_RECURSE SOURCE_FILES Source/*.c*)
|
|
|
|
list(APPEND REQUIRES_LIST TactilityCore esp_wifi nvs_flash driver spiffs vfs fatfs)
|
|
if("${IDF_TARGET}" STREQUAL "esp32s3")
|
|
list(APPEND REQUIRES_LIST esp_tinyusb)
|
|
endif()
|
|
|
|
idf_component_register(
|
|
SRCS ${SOURCE_FILES}
|
|
INCLUDE_DIRS "Source/"
|
|
PRIV_INCLUDE_DIRS "Private/"
|
|
REQUIRES ${REQUIRES_LIST}
|
|
)
|
|
|
|
if (NOT DEFINED TACTILITY_SKIP_SPIFFS)
|
|
# Read-only
|
|
fatfs_create_rawflash_image(system "${CMAKE_CURRENT_SOURCE_DIR}/../Data/system" FLASH_IN_PROJECT PRESERVE_TIME)
|
|
# Read-write
|
|
fatfs_create_spiflash_image(data "${CMAKE_CURRENT_SOURCE_DIR}/../Data/data" FLASH_IN_PROJECT PRESERVE_TIME)
|
|
endif()
|
|
|
|
add_definitions(-DESP_PLATFORM)
|
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
target_compile_options(${COMPONENT_LIB} PUBLIC -Wno-unused-variable)
|
|
endif()
|
|
else()
|
|
file(GLOB_RECURSE SOURCES "Source/*.c*")
|
|
file(GLOB_RECURSE HEADERS "Source/*.h*")
|
|
|
|
add_library(TactilityHeadless OBJECT)
|
|
target_sources(TactilityHeadless
|
|
PRIVATE ${SOURCES}
|
|
PUBLIC ${HEADERS}
|
|
)
|
|
|
|
include_directories(
|
|
Private/
|
|
)
|
|
|
|
target_include_directories(TactilityHeadless
|
|
PUBLIC Source/
|
|
)
|
|
|
|
add_definitions(-D_Nullable=)
|
|
add_definitions(-D_Nonnull=)
|
|
target_link_libraries(TactilityHeadless
|
|
PUBLIC TactilityCore
|
|
PUBLIC freertos_kernel
|
|
)
|
|
endif()
|