project.yml 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. ---
  2. # Notes:
  3. # Sample project C code is not presently written to produce a release artifact.
  4. # As such, release build options are disabled.
  5. # This sample, therefore, only demonstrates running a collection of unit tests.
  6. :project:
  7. :use_exceptions: TRUE
  8. :use_test_preprocessor: TRUE
  9. :use_auxiliary_dependencies: TRUE
  10. :build_root: _build
  11. # :release_build: TRUE
  12. :test_file_prefix: test_
  13. :which_ceedling: vendor/ceedling
  14. :default_tasks:
  15. - test:all
  16. #:release_build:
  17. # :output: MyApp.out
  18. # :use_assembly: FALSE
  19. :environment:
  20. :extension:
  21. :executable: .out
  22. :paths:
  23. :test:
  24. - +:test/**
  25. - -:test/support
  26. :source:
  27. - ../src/**
  28. :support:
  29. - test/support
  30. :defines:
  31. # in order to add common defines:
  32. # 1) remove the trailing [] from the :common: section
  33. # 2) add entries to the :common: section (e.g. :test: has TEST defined)
  34. :commmon: &common_defines []
  35. :test:
  36. - *common_defines
  37. - TEST
  38. :test_preprocess:
  39. - *common_defines
  40. - TEST
  41. :cmock:
  42. :mock_prefix: mock_
  43. :when_no_prototypes: :warn
  44. :enforce_strict_ordering: TRUE
  45. :plugins:
  46. - :ignore
  47. - :callback
  48. :treat_as:
  49. uint8: HEX8
  50. uint16: HEX16
  51. uint32: UINT32
  52. int8: INT8
  53. bool: UINT8
  54. :gcov:
  55. :html_report_type: basic
  56. #:tools:
  57. # Ceedling defaults to using gcc for compiling, linking, etc.
  58. # As [:tools] is blank, gcc will be used (so long as it's in your system path)
  59. # See documentation to configure a given toolchain for use
  60. # LIBRARIES
  61. # These libraries are automatically injected into the build process. Those specified as
  62. # common will be used in all types of builds. Otherwise, libraries can be injected in just
  63. # tests or releases. These options are MERGED with the options in supplemental yaml files.
  64. :libraries:
  65. :placement: :end
  66. :flag: "${1}" # or "-L ${1}" for example
  67. :common: &common_libraries []
  68. :test:
  69. - *common_libraries
  70. :release:
  71. - *common_libraries
  72. :plugins:
  73. :load_paths:
  74. - vendor/ceedling/plugins
  75. :enabled:
  76. - stdout_pretty_tests_report
  77. - module_generator
  78. - raw_output_report
  79. ...