Repository navigation
Add dmod-dev Debian SDK with existing CMake profiles and asset support - #324
Merged
Merged
Conversation
JaxCalder
force-pushed
the
feature/debian-dev-package
branch
from
October 4, 2026 18:53
8aa7910 to
3289065
Compare
JohnAmadis
approved these changes
Oct 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Installing the host-tools package alone does not provide the files needed to build modules. This adds
dmod-dev_<version>_all.deb, depending on the matchingdmodpackage, CMake and build-essential. After installing both packages, consumers can build modules without a DMOD checkout:DMOD_TOOLS_NAMEand customDMOD_TOOLSremain supported. Putfind_packagebeforeprojectwhen selecting a profile so the compiler and original profile flags are set before language initialization. The SDK installs the original configuration profiles unchanged; it also supports a standard CMake toolchain file.The package contains headers, relocatable CMake configuration, shared module-building functions, linker scripts, templates and runtime sources compiled with the consumer's compiler. Generated files stay in the consumer build directory.
DMOD_BUILD_DEB=ONproduces both packages. Documentation covers installation, FetchContent migration, custom prefixes and cross compilation. The SDK supports MODULE mode; SYSTEM/firmware builds and Make integration continue using the source checkout.Based on develop at
fbf6c90, including the latest view/image/font conversion support. The SDK uses those same CMake functions, includingDMOD_ASSETS_PATHS, the backward-compatibleDMOD_FIXTURES_PATHSalias, font sizes and tracking. Existing source/FetchContent/Make clients need no changes. Shared Makefile generation is disabled only by the installed SDK; checkout builds keep their existing behavior.Validation:
dmod_link_modulesconsumer using a loopback test registry.arch/x86_64, the original Cortex-M7 profile and a separate generic ARM toolchain file. Local builds pass with original AArch64/Cortex-A53, ARM/Cortex-A53, Cortex-M4, Cortex-M7 and Xtensa/ESP32-S3 profiles; native AArch64 modules also run successfully. Cross builds validate compilation, not hardware execution.todmv,todmviandtodmvfconverters pass in native and cross SDK builds: view/image/font outputs, multiple font sizes and tracking, ZIP package contents, incremental builds, and identical output using the legacy assets alias.dm_sw_ringcheckout builds through the existing FetchContent flow; its 12 tests pass. The legacy external Make application builds and runs. Configuration profiles and the legacy Make integration files are unchanged from develop.find_package, disabled FastLZ, isolation of unrelated targets and invalid SDK configurations.Known baseline limitation: the additional Make/AArch64-profile check exposes a quoting error in
DMOD_ARCH. The same error reproduces on unmodified develop; this PR does not change those Makefiles or profiles.