: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
  :version: 0.2.0
: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
