19b11eb9a8
- Removed TactilityC, moved its symbols to existing modules and several new ones (pthread-module, c-symbols-module, cpp-symbols-module, posix-symbols-module, freertos-module). - Removed Firmware subproject and moved main() into Tactility subproject. - Strengthened application archive, path, version, stack-size, and device validation. - Moved symbol resolution for elf_loader to app-esp32-module. - Improved `struct Module` declarations and made module and symbol definitions in modules more consistent. - Removed old http download code from Tactility subproject. - Rename app-module's source files for consistency. - Add missing pthread symbols. - Kernel module symbols are now resolvable on all platforms.
48 lines
1.4 KiB
CMake
48 lines
1.4 KiB
CMake
project(TactilityTests)
|
|
|
|
enable_language(C CXX ASM)
|
|
|
|
|
|
file(GLOB_RECURSE TEST_SOURCES CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/Source/*.cpp)
|
|
|
|
# Compile Tactility's own sources directly rather than linking the Tactility executable target.
|
|
# Main.cpp is excluded - it pulls in the device's Module/devicetree symbols, which would drag
|
|
# the whole device stack into the test binary just to get plain helpers like file/String.
|
|
file(GLOB_RECURSE TACTILITY_SOURCES CONFIGURE_DEPENDS ${CMAKE_CURRENT_LIST_DIR}/../Source/*.c*)
|
|
list(FILTER TACTILITY_SOURCES EXCLUDE REGEX ".*/Main\\.cpp$")
|
|
|
|
add_executable(TactilityTests EXCLUDE_FROM_ALL ${TEST_SOURCES} ${TACTILITY_SOURCES})
|
|
|
|
target_include_directories(TactilityTests PRIVATE ${DOCTESTINC})
|
|
target_include_directories(TactilityTests PRIVATE ${CMAKE_CURRENT_LIST_DIR}/../Include)
|
|
target_include_directories(TactilityTests PRIVATE ${CMAKE_CURRENT_LIST_DIR}/../Private)
|
|
|
|
add_test(NAME TactilityTests COMMAND TactilityTests)
|
|
|
|
target_link_libraries(TactilityTests PRIVATE
|
|
TactilityKernel
|
|
TactilityKernelCpp
|
|
TactilityFreeRtos
|
|
platform-posix
|
|
lvgl-module
|
|
lvgl-window-manager-module
|
|
app-module
|
|
c-symbols-module
|
|
cpp-symbols-module
|
|
crypt-module
|
|
freertos-module
|
|
gps-module
|
|
http-module
|
|
mbedtls-module
|
|
posix-symbols-module
|
|
pthread-module
|
|
gps-generic-module
|
|
gps-meshtastic-module
|
|
service-module
|
|
lv_screenshot
|
|
minitar
|
|
lvgl
|
|
cJSON
|
|
SDL2::SDL2-static SDL2-static
|
|
)
|