scargo.toml file basis

scargo update after scargo.toml modification

This section describes possible options which can be set in the scargo.toml file.

[project]

name = (string) <project name e.g.”esp322”>

version = (string) <project version must be major.minor.patch e.g. “0.1.0”)

description = (string) <Project short description e.g. “Proj desc”>

homepage-url = (string) <project www as url e.g. “https://example.com”>

target = (string or list of targets) <target to build the project e.g. “esp32”, “x86” or [“atsam”, “stm32”]>

build-env = (string) <”docker” or “native”>

docker-file = (string) (path to custom docker file. Shall not start with FROM keyword)

docker-image-tag = (string) (e.g. “esp322-dev:1.0”)

cc = (string) (c compiler e.g. “arm-none-eabi-gcc”)

cxx = (string) (cpp compiler e.g. “arm-none-eabi-g++”)

cxxstandard = (string) (c standard e.g. “17”)

cflags = (string) (c compiler flags e.g. “-Wall -Wextra –specs=nosys.specs”)

cxxflags = (string) (cpp compiler flags e.g. “-Wall -Wextra –specs=nosys.specs”)

in-repo-conan-cache = (bool) (If set to true conan cache is placed in the repo root - so it persists)

max-build-jobs = (int) (maximum number of concurrent processes to use when building; passed to cmake as –parallel)

[project.cmake-variables]

(definitions of additional cmake variables independent of profile)

[profile.Debug]

cflags = (string) (c compiler flags e.g. “-g”)

cxxflags = (string) (cpp compiler flags e.g.”-g”)

[profile.Release]

cflags = (string) (c compiler flags e.g. “-O3 -DNDEBUG”)

cxxflags = (string) (cpp compiler flags e.g. “-O3 -DNDEBUG”)

[profile.RelWithDebInfo]

cflags = (string) (c compiler flags e.g. “-O2 -g -DNDEBUG”)

cxxflags = (string) (cpp compiler flags e.g. “-O2 -g -DNDEBUG”)

[profile.MinSizeRel]

cflags = (string) (c compiler flags e.g. “-Os -DNDEBUG”)

cxxflags = (string) (cpp compiler flags e.g.”-Os -DNDEBUG”)

[check]

exclude = (string list)(path to excluded dirs e.g. [])

[check.pragma]

exclude = (string list)(path to excluded dirs e.g. [])

[check.todo]

exclude = (string list)(path to excluded dirs e.g. [])

keywords = (string list)(keywords for todo check, e.g. [“tbd”, “todo”, “TODO”, “fixme”])

[check.clang-format]

exclude = (string list)(path to excluded dirs e.g. [])

[check.clang-tidy]

exclude = (string list)(path to excluded dirs e.g. [])

[check.cyclomatic]

exclude = (string list)(path to excluded dirs e.g. [])

[doc]

exclude = (string list)(path to excluded dirs e.g. [])

[tests]

cc = (string) (c compiler flags e.g. “gcc”)

cxx = (string) (cpp compiler flags e.g.”g++”)

cflags = (string) (c compiler flags e.g. “-Wall -Wextra -Og –coverage -fkeep-inline-functions -fkeep-static-consts”)

cxxflags = (string) (cpp compiler flags e.g. “-Wall -Wextra -Og –coverage -fkeep-inline-functions -fkeep-static-consts”)

gcov-executable = “” # Empty string -> use default gcov executable

[dependencies]

Add external dependencies in conan style e.g.:

general = [
    "demo_lib/0.1.0"
]
build = [
]
tool = [
]

[conan.repo]

key-value pairs of short names and conan remote urls, e.g.

conancenter = "https://center.conan.io"

[esp32]

(Applicable for esp32 only)

partitions = (string list) (partitions e.g [“nvs, data, nvs, 0x9000, 0x4000,”,

“otadata, data, ota, 0xd000, 0x2000,”,

“phy_init, data, phy, 0xf000, 0x1000,”,

“ota_0, app, ota_0, , 0x180000,”,

“ota_1, app, ota_1, , 0x180000,”,

“spiffs, data, spiffs, , 0x6000,”])

[stm32]

(Applicable for stm32 only)

chip = (string)

flash-start = 0x08000000

[atsam]

(Applicable for Atmel SAM only)

chip = (string)(e.g. ATSAML10E16A)

cpu = (string)(e.g. cortex-m23)

[scargo]

console-log-level = (string)(define scargo log level to console for project default:”INFO”)

file-log-level = (string)(define scargo log level to file for project default:”WARNING”)

[docker-compose]

ports = (string list) (list of ports strings to include in docker-compose.yaml, e.g. [“15000-15020:15000-15020”])