nucleo-l053r8-benches/crates/algorithms/algorithms-c/project.yml
2025-07-17 17:14:11 +02:00

111 lines
3.4 KiB
YAML
Executable file

:project:
:which_ceedling: gem
:ceedling_version: 1.0.1
:use_mocks: FALSE
:use_backtrace: :gdb # options are :none, :simple, or :gdb
:use_decorators: :auto # decorate Ceedling's output text. options are :auto, :all, or :none
:build_root: build
:test_file_prefix: test_
:default_tasks:
- release
- test:all
:test_threads: 8
:compile_threads: 8
:release_build: TRUE
:test_build:
:use_assembly: FALSE
:release_build:
:output: libalgorithms.a
:use_assembly: FALSE
:artifacts: []
:plugins:
:load_paths: []
:enabled:
#- beep # beeps when finished, so you don't waste time waiting for ceedling
- module_generator # handy for quickly creating source, header, and test templates
#- gcov # test coverage using gcov. Requires gcc, gcov, and a coverage analyzer like gcovr
#- bullseye # test coverage using bullseye. Requires bullseye for your platform
#- command_hooks # write custom actions to be called at different points during the build process
#- compile_commands_json_db # generate a compile_commands.json file
#- dependencies # automatically fetch 3rd party libraries, etc.
#- subprojects # managing builds and test for static libraries
#- fake_function_framework # use FFF instead of CMock
# Report options (You'll want to choose one stdout option, but may choose multiple stored options if desired)
#- report_build_warnings_log
#- report_tests_gtestlike_stdout
#- report_tests_ide_stdout
#- report_tests_log_factory
- report_tests_pretty_stdout
#- report_tests_raw_output_log
#- report_tests_teamcity_stdout
# Specify which reports you'd like from the log factory
:report_tests_log_factory:
:reports:
- json
- junit
- cppunit
- html
# override the default extensions for your system and toolchain
:extension:
#:header: .h
#:source: .c
#:assembly: .s
#:dependencies: .d
#:object: .o
:executable: .out
#:testpass: .pass
#:testfail: .fail
#:subprojects: .a
:paths:
:test:
- +:test/**
- -:test/support
:source:
- src/**
:include:
- src/** # In simple projects, this entry often duplicates :source
:support:
- test/support
:libraries: []
:defines:
:test:
- TEST # Simple list option to add symbol 'TEST' to compilation of all files in all test executables
:release: []
# Enable to inject name of a test as a unique compilation symbol into its respective executable build.
:use_test_definition: FALSE
:flags:
:release:
:compile:
- -Wall # all warnings on
- -O3 # optimizations
- -g # debug info
# NOTE: This is essential! It tells the compiler which target architecture to compile for!!!
# Currently, this is set by build.rs with the CC_FLAGS env var
# - -march=armv6-m
:unity:
:defines:
- UNITY_EXCLUDE_FLOAT
:libraries:
:placement: :end
:flag: "-l${1}"
:path_flag: "-L ${1}"
:system: []
:test: []
:release: []
:tools:
:release_compiler:
:executable: "#{ENV['CC']}"
:arguments:
- "-c"
- "${1}"
- "-o"
- "${2}"
- "#{ENV['CC_FLAGS']}"
:optional: FALSE
:release_linker:
:executable: "#{ENV['AR']}"
:arguments:
- "-rcs"
- "${2}"
- "${1}"
:optional: FALSE