project.yml 2.1 KB

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