Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/actions/build-app/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ runs:
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.app_name }}
path: Apps/${{ inputs.app_name}}/build/${{ inputs.app_name }}.app
# The built package is named after the app's manifest app.id (e.g. tactility.helloworld),
# not the app directory name - glob instead of assuming they match.
path: Apps/${{ inputs.app_name }}/build/*.app
retention-days: 30

25 changes: 7 additions & 18 deletions Apps/Brainfuck/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,13 @@
# tactility-cmakelists-version: 1
cmake_minimum_required(VERSION 3.20)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

if (DEFINED ENV{TACTILITY_SDK_PATH})
set(TACTILITY_SDK_PATH $ENV{TACTILITY_SDK_PATH})
else()
set(TACTILITY_SDK_PATH "../../release/TactilitySDK")
message(WARNING "⚠️ TACTILITY_SDK_PATH environment variable is not set, defaulting to ${TACTILITY_SDK_PATH}")
if (NOT DEFINED ENV{TACTILITY_SDK_PATH})
message(FATAL_ERROR "TACTILITY_SDK_PATH environment variable is not set")
endif()

get_filename_component(TACTILITY_SDK_PATH "$ENV{TACTILITY_SDK_PATH}" ABSOLUTE)
include("${TACTILITY_SDK_PATH}/TactilitySDK.cmake")

# Must be set before project() - ESP-IDF resolves components at that point, so setting these
# from inside the tactility_project() macro (which necessarily runs after project(), since it
# also calls project_elf()) would be too late.
set(EXTRA_COMPONENT_DIRS
${TACTILITY_SDK_PATH}
"${TACTILITY_SDK_PATH}/Libraries/TactilityFreeRtos"
"${TACTILITY_SDK_PATH}/Modules"
)

project(Brainfuck)
tactility_project(Brainfuck)
tactility_project_pre(tactility.brainfuck)
project(tactility.brainfuck)
tactility_project_post(tactility.brainfuck)
10 changes: 3 additions & 7 deletions Apps/Brainfuck/main/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
file(GLOB_RECURSE SOURCE_FILES
Source/*.c*
)
include("$ENV{TACTILITY_SDK_PATH}/TactilitySDK.cmake")

idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilitySDK
)
file(GLOB_RECURSE SOURCE_FILES Source/*.c*)
tactility_component_register(SRCS ${SOURCE_FILES})
4 changes: 2 additions & 2 deletions Apps/Brainfuck/manifest.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ manifest.version=0.2
target.sdk=0.8.0-dev
target.platforms=esp32,esp32s3,esp32c6,esp32p4
app.id=tactility.brainfuck
app.version.name=0.10.0
app.version.code=10
app.version.name=0.11.0
app.version.code=11
app.name=Brainfuck interpreter
app.description=Brainfuck esoteric language interpreter
25 changes: 7 additions & 18 deletions Apps/Breakout/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,13 @@
# tactility-cmakelists-version: 1
cmake_minimum_required(VERSION 3.20)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

if (DEFINED ENV{TACTILITY_SDK_PATH})
set(TACTILITY_SDK_PATH $ENV{TACTILITY_SDK_PATH})
else()
set(TACTILITY_SDK_PATH "../../release/TactilitySDK")
message(WARNING "⚠️ TACTILITY_SDK_PATH environment variable is not set, defaulting to ${TACTILITY_SDK_PATH}")
if (NOT DEFINED ENV{TACTILITY_SDK_PATH})
message(FATAL_ERROR "TACTILITY_SDK_PATH environment variable is not set")
endif()

get_filename_component(TACTILITY_SDK_PATH "$ENV{TACTILITY_SDK_PATH}" ABSOLUTE)
include("${TACTILITY_SDK_PATH}/TactilitySDK.cmake")

# Must be set before project() - ESP-IDF resolves components at that point, so setting these
# from inside the tactility_project() macro (which necessarily runs after project(), since it
# also calls project_elf()) would be too late.
set(EXTRA_COMPONENT_DIRS
${TACTILITY_SDK_PATH}
"${TACTILITY_SDK_PATH}/Libraries/TactilityFreeRtos"
"${TACTILITY_SDK_PATH}/Modules"
)

project(Breakout)
tactility_project(Breakout)
tactility_project_pre(tactility.breakout)
project(tactility.breakout)
tactility_project_post(tactility.breakout)
10 changes: 3 additions & 7 deletions Apps/Breakout/main/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
include("$ENV{TACTILITY_SDK_PATH}/TactilitySDK.cmake")

file(GLOB_RECURSE SOURCE_FILES Source/*.c*)
file(GLOB_RECURSE SFX_ENGINE_FILES ../../../Libraries/SfxEngine/Source/*.c*)

idf_component_register(
SRCS ${SOURCE_FILES} ${SFX_ENGINE_FILES}
# Library headers must be included directly,
# because all regular dependencies get stripped by elf_loader's cmake script
INCLUDE_DIRS ../../../Libraries/SfxEngine/Include
REQUIRES TactilitySDK
)
tactility_component_register(SRCS ${SOURCE_FILES} ${SFX_ENGINE_FILES} INCLUDE_DIRS ../../../Libraries/SfxEngine/Include)
4 changes: 2 additions & 2 deletions Apps/Breakout/manifest.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ manifest.version=0.2
target.sdk=0.8.0-dev
target.platforms=esp32,esp32s3,esp32c6,esp32p4
app.id=tactility.breakout
app.version.name=0.13.0
app.version.code=13
app.version.name=0.14.0
app.version.code=14
app.name=Breakout
app.description=Classic brick-breaking arcade game
25 changes: 7 additions & 18 deletions Apps/Calculator/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,13 @@
# tactility-cmakelists-version: 1
cmake_minimum_required(VERSION 3.20)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

if (DEFINED ENV{TACTILITY_SDK_PATH})
set(TACTILITY_SDK_PATH $ENV{TACTILITY_SDK_PATH})
else()
set(TACTILITY_SDK_PATH "../../release/TactilitySDK")
message(WARNING "⚠️ TACTILITY_SDK_PATH environment variable is not set, defaulting to ${TACTILITY_SDK_PATH}")
if (NOT DEFINED ENV{TACTILITY_SDK_PATH})
message(FATAL_ERROR "TACTILITY_SDK_PATH environment variable is not set")
endif()

get_filename_component(TACTILITY_SDK_PATH "$ENV{TACTILITY_SDK_PATH}" ABSOLUTE)
Comment thread
KenVanHoeylandt marked this conversation as resolved.
include("${TACTILITY_SDK_PATH}/TactilitySDK.cmake")

# Must be set before project() - ESP-IDF resolves components at that point, so setting these
# from inside the tactility_project() macro (which necessarily runs after project(), since it
# also calls project_elf()) would be too late.
set(EXTRA_COMPONENT_DIRS
${TACTILITY_SDK_PATH}
"${TACTILITY_SDK_PATH}/Libraries/TactilityFreeRtos"
"${TACTILITY_SDK_PATH}/Modules"
)

project(Calculator)
tactility_project(Calculator)
tactility_project_pre(tactility.calculator)
project(tactility.calculator)
tactility_project_post(tactility.calculator)
10 changes: 3 additions & 7 deletions Apps/Calculator/main/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
file(GLOB_RECURSE SOURCE_FILES
Source/*.c*
)
include("$ENV{TACTILITY_SDK_PATH}/TactilitySDK.cmake")

idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilitySDK
)
file(GLOB_RECURSE SOURCE_FILES Source/*.c*)
tactility_component_register(SRCS ${SOURCE_FILES})
4 changes: 2 additions & 2 deletions Apps/Calculator/manifest.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ manifest.version=0.2
target.sdk=0.8.0-dev
target.platforms=esp32,esp32s3,esp32c6,esp32p4
app.id=tactility.calculator
app.version.name=0.11.0
app.version.code=11
app.version.name=0.12.0
app.version.code=12
app.name=Calculator
25 changes: 7 additions & 18 deletions Apps/Diceware/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,13 @@
# tactility-cmakelists-version: 1
cmake_minimum_required(VERSION 3.20)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

if (DEFINED ENV{TACTILITY_SDK_PATH})
set(TACTILITY_SDK_PATH $ENV{TACTILITY_SDK_PATH})
else()
set(TACTILITY_SDK_PATH "../../release/TactilitySDK")
message(WARNING "⚠️ TACTILITY_SDK_PATH environment variable is not set, defaulting to ${TACTILITY_SDK_PATH}")
if (NOT DEFINED ENV{TACTILITY_SDK_PATH})
message(FATAL_ERROR "TACTILITY_SDK_PATH environment variable is not set")
endif()

get_filename_component(TACTILITY_SDK_PATH "$ENV{TACTILITY_SDK_PATH}" ABSOLUTE)
include("${TACTILITY_SDK_PATH}/TactilitySDK.cmake")

# Must be set before project() - ESP-IDF resolves components at that point, so setting these
# from inside the tactility_project() macro (which necessarily runs after project(), since it
# also calls project_elf()) would be too late.
set(EXTRA_COMPONENT_DIRS
${TACTILITY_SDK_PATH}
"${TACTILITY_SDK_PATH}/Libraries/TactilityFreeRtos"
"${TACTILITY_SDK_PATH}/Modules"
)

project(Diceware)
tactility_project(Diceware)
tactility_project_pre(tactility.diceware)
project(tactility.diceware)
tactility_project_post(tactility.diceware)
11 changes: 3 additions & 8 deletions Apps/Diceware/main/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
file(GLOB_RECURSE SOURCE_FILES
Source/*.c*
)

idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilitySDK
)
include("$ENV{TACTILITY_SDK_PATH}/TactilitySDK.cmake")

file(GLOB_RECURSE SOURCE_FILES Source/*.c*)
tactility_component_register(SRCS ${SOURCE_FILES})
4 changes: 2 additions & 2 deletions Apps/Diceware/manifest.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ manifest.version=0.2
target.sdk=0.8.0-dev
target.platforms=esp32,esp32s3,esp32c6,esp32p4
app.id=tactility.diceware
app.version.name=0.13.0
app.version.code=13
app.version.name=0.14.0
app.version.code=14
app.name=Diceware
25 changes: 7 additions & 18 deletions Apps/EpubReader/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,13 @@
# tactility-cmakelists-version: 1
cmake_minimum_required(VERSION 3.20)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

if (DEFINED ENV{TACTILITY_SDK_PATH})
set(TACTILITY_SDK_PATH $ENV{TACTILITY_SDK_PATH})
else()
set(TACTILITY_SDK_PATH "../../release/TactilitySDK")
message(WARNING "TACTILITY_SDK_PATH environment variable is not set, defaulting to ${TACTILITY_SDK_PATH}")
if (NOT DEFINED ENV{TACTILITY_SDK_PATH})
message(FATAL_ERROR "TACTILITY_SDK_PATH environment variable is not set")
endif()

get_filename_component(TACTILITY_SDK_PATH "$ENV{TACTILITY_SDK_PATH}" ABSOLUTE)
include("${TACTILITY_SDK_PATH}/TactilitySDK.cmake")

# Must be set before project() - ESP-IDF resolves components at that point, so setting these
# from inside the tactility_project() macro (which necessarily runs after project(), since it
# also calls project_elf()) would be too late.
set(EXTRA_COMPONENT_DIRS
${TACTILITY_SDK_PATH}
"${TACTILITY_SDK_PATH}/Libraries/TactilityFreeRtos"
"${TACTILITY_SDK_PATH}/Modules"
)

project(EpubReader)
tactility_project(EpubReader)
tactility_project_pre(tactility.epubreader)
project(tactility.epubreader)
tactility_project_post(tactility.epubreader)
10 changes: 3 additions & 7 deletions Apps/EpubReader/main/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
file(GLOB_RECURSE SOURCE_FILES
Source/*.c*
)
include("$ENV{TACTILITY_SDK_PATH}/TactilitySDK.cmake")

idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilitySDK esp_rom
)
file(GLOB_RECURSE SOURCE_FILES Source/*.c*)
tactility_component_register(SRCS ${SOURCE_FILES} REQUIRES esp_rom)
4 changes: 2 additions & 2 deletions Apps/EpubReader/manifest.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ manifest.version=0.2
target.sdk=0.8.0-dev
target.platforms=esp32s3,esp32p4
app.id=tactility.epubreader
app.version.name=0.10.0
app.version.code=10
app.version.name=0.11.0
app.version.code=11
app.name=Epub Reader
app.description=Epub and text file reader. Requires PSRAM!
25 changes: 7 additions & 18 deletions Apps/EspNowBridge/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,13 @@
# tactility-cmakelists-version: 1
cmake_minimum_required(VERSION 3.20)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

if (DEFINED ENV{TACTILITY_SDK_PATH})
set(TACTILITY_SDK_PATH $ENV{TACTILITY_SDK_PATH})
else()
set(TACTILITY_SDK_PATH "../../release/TactilitySDK")
message(WARNING "TACTILITY_SDK_PATH environment variable is not set, defaulting to ${TACTILITY_SDK_PATH}")
if (NOT DEFINED ENV{TACTILITY_SDK_PATH})
message(FATAL_ERROR "TACTILITY_SDK_PATH environment variable is not set")
endif()

get_filename_component(TACTILITY_SDK_PATH "$ENV{TACTILITY_SDK_PATH}" ABSOLUTE)
include("${TACTILITY_SDK_PATH}/TactilitySDK.cmake")

# Must be set before project() - ESP-IDF resolves components at that point, so setting these
# from inside the tactility_project() macro (which necessarily runs after project(), since it
# also calls project_elf()) would be too late.
set(EXTRA_COMPONENT_DIRS
${TACTILITY_SDK_PATH}
"${TACTILITY_SDK_PATH}/Libraries/TactilityFreeRtos"
"${TACTILITY_SDK_PATH}/Modules"
)

project(EspNowBridge)
tactility_project(EspNowBridge)
tactility_project_pre(tactility.espnowbridge)
project(tactility.espnowbridge)
tactility_project_post(tactility.espnowbridge)
10 changes: 3 additions & 7 deletions Apps/EspNowBridge/main/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
file(GLOB_RECURSE SOURCE_FILES
Source/*.c*
)
include("$ENV{TACTILITY_SDK_PATH}/TactilitySDK.cmake")

idf_component_register(
SRCS ${SOURCE_FILES}
REQUIRES TactilitySDK bootloader_support esp_app_format
)
file(GLOB_RECURSE SOURCE_FILES Source/*.c*)
tactility_component_register(SRCS ${SOURCE_FILES} REQUIRES bootloader_support esp_app_format)
Loading
Loading