---

# Notes:
# Sample project C code is not presently written to produce a release artifact.
# As such, release build options are disabled.
# This sample, therefore, only demonstrates running a collection of unit tests.

:project:
  :use_exceptions: TRUE
  :use_test_preprocessor: TRUE
  :use_auxiliary_dependencies: TRUE
  :use_deep_dependencies: TRUE
  :build_root: build
#  :release_build: TRUE
  :test_file_prefix: test_

:release_build:
  :output: test_tinyusb.exe
  :use_assembly: FALSE

:environment:

:extension:
  :executable: .exe

:paths:
  :test:
    - +:test/**
    
  :support:
    - ../support
    
  :source:
    - ../../tinyusb/**
    - +:../../mcu/lpc43xx/**
    #- +:../../demos/device/keyboard/*
    - -:../../demos/
    #- ../../vendor/freertos/freertos/Source/*
    #- ../../vendor/freertos/freertos/Source/portable/MSVC-MingW/*

:defines:
  # in order to add common defines:
  #  1) remove the trailing [] from the :common: section
  #  2) add entries to the :common: section (e.g. :test: has TEST defined)
  :commmon: &common_defines 
    - CFG_TUSB_MCU=MCU_LPC43XX -std=gnu99 
#    - -mx32
    - CORE_M4
    - __CODE_RED
    - _TINY_USB_SOURCE_FILE_
    - _TEST_ 
  :test:
    - *common_defines
  :test_preprocess:
    - *common_defines
#  :release:
#  :release_preprocess:

#:flags:
#  :test:
#    :compile:
#      :dcd_lpc175x_6x.c:
#        - -DMCU=MCU_LPC175X_6X
          
# Ceedling defaults to using gcc for compiling, linking, etc.
# As [:tools] is blank, gcc will be used (so long as it's in your system path)
# See documentation to configure a given toolchain for use

:cmock:
  :mock_prefix: mock_
  :when_no_prototypes: :warn
  :enforce_strict_ordering: TRUE
  :plugins:
    - :ignore
    - :callback
    - :array
  #:ignore: :args_only
  :treat_as:
    uint8:    HEX8
    uint16:   HEX16
    uint32:   UINT32
    int8:     INT8
    bool:     UINT8

:plugins:
  :load_paths:
    - ../vendor/ceedling/plugins
  :enabled:
    #- stdout_pretty_tests_report
    - stdout_ide_tests_report
    - module_generator
...
