Implement posix app loading (#643)
- Added POSIX desktop support for SDK builds, application packaging, and integration testing. - Added POSIX filesystem partitions and improved application path handling. - Added simulator support for loading and running applications dynamically. - Improved simulator task stack handling and display startup reliability. - Improved simulator display scaling, resizing, high-DPI support, and pointer accuracy. - Fixed LVGL timers and input polling on POSIX. (fixes simulator with Linux on some Intel graphics platforms) - Standardized data paths across platforms. - Logging now works via separate task: this allows apps to write to log without it affecting their stdout (for apps that output text as relevant date for other apps, like the File Selection app) - Fixes for app stdio
This commit is contained in:
committed by
GitHub
parent
d3656bcd3d
commit
643cbc3806
@@ -2,6 +2,8 @@ if (COMMAND tactility_add_module)
|
||||
return()
|
||||
endif()
|
||||
|
||||
cmake_minimum_required(VERSION 3.24)
|
||||
|
||||
macro(tactility_get_module_name NAME OUT_NAME)
|
||||
if (DEFINED ENV{ESP_IDF_VERSION})
|
||||
set(${OUT_NAME} ${COMPONENT_LIB})
|
||||
@@ -16,8 +18,7 @@ macro(tactility_add_module NAME)
|
||||
# undefined reference to. Needed when this module provides symbols a component it depends on
|
||||
# (e.g. lvgl__lvgl's custom-allocator hooks) calls back into - a reverse reference a normal
|
||||
# single-pass static-archive link can't resolve, since that component is scanned after this
|
||||
# one's archive has already been passed once. POSIX builds link everything as plain OBJECT
|
||||
# libraries (no archive-pruning to begin with), so this is a no-op there.
|
||||
# one's archive has already been passed once.
|
||||
set(options WHOLE_ARCHIVE)
|
||||
set(oneValueArgs)
|
||||
set(multiValueArgs SRCS INCLUDE_DIRS PRIV_INCLUDE_DIRS REQUIRES PRIV_REQUIRES)
|
||||
@@ -40,7 +41,7 @@ macro(tactility_add_module NAME)
|
||||
${whole_archive_arg}
|
||||
)
|
||||
else()
|
||||
add_library(${NAME} OBJECT)
|
||||
add_library(${NAME} STATIC)
|
||||
target_sources(${NAME} PRIVATE ${ARG_SRCS})
|
||||
target_include_directories(${NAME}
|
||||
PRIVATE ${ARG_PRIV_INCLUDE_DIRS}
|
||||
@@ -48,5 +49,12 @@ macro(tactility_add_module NAME)
|
||||
)
|
||||
target_link_libraries(${NAME} PUBLIC ${ARG_REQUIRES})
|
||||
target_link_libraries(${NAME} PRIVATE ${ARG_PRIV_REQUIRES})
|
||||
if (ARG_WHOLE_ARCHIVE)
|
||||
# A static archive only pulls in object files that already have a pending undefined
|
||||
# reference at the point the archive is scanned, so a plain link drops ${NAME}'s
|
||||
# reverse dependencies (see WHOLE_ARCHIVE comment above). Make whoever links ${NAME}
|
||||
# whole-archive it instead of just archive-pruning it.
|
||||
set_property(TARGET ${NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<LINK_LIBRARY:WHOLE_ARCHIVE,${NAME}>)
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
Reference in New Issue
Block a user