| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  | # =========================================================================
 | 
					
						
							|  |  |  | #   Ceedling - Test-Centered Build System for C
 | 
					
						
							|  |  |  | #   ThrowTheSwitch.org
 | 
					
						
							|  |  |  | #   Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
 | 
					
						
							|  |  |  | #   SPDX-License-Identifier: MIT
 | 
					
						
							|  |  |  | # =========================================================================
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  | ---
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | :project:
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   # how to use ceedling. If you're not sure, leave this as `gem` and `?`
 | 
					
						
							|  |  |  |   :which_ceedling: gem
 | 
					
						
							|  |  |  |   :ceedling_version: 1.0.0
 | 
					
						
							|  |  |  |   :verbosity: 3
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # optional features. If you don't need them, keep them turned off for performance
 | 
					
						
							| 
									
										
										
										
											2019-11-01 13:42:41 +07:00
										 |  |  |   :use_mocks: TRUE
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   :use_test_preprocessor: :mocks # options are :none, :mocks, :tests, or :all
 | 
					
						
							|  |  |  |   :use_deep_dependencies: :all   # options are :none, :mocks, :tests, or :all
 | 
					
						
							|  |  |  |   :use_backtrace: :simple        # options are :none, :simple, or :gdb
 | 
					
						
							|  |  |  |   :use_decorators: :auto         # decorate Ceedling's output text. options are :auto, :all, or :none
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # tweak the way ceedling handles automatic tasks
 | 
					
						
							| 
									
										
										
										
											2019-06-10 17:42:00 +07:00
										 |  |  |   :build_root: _build
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  |   :test_file_prefix: test_
 | 
					
						
							|  |  |  |   :default_tasks:
 | 
					
						
							|  |  |  |     - test:all
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   # performance options. If your tools start giving mysterious errors, consider
 | 
					
						
							|  |  |  |   # dropping this to 1 to force single-tasking
 | 
					
						
							|  |  |  |   :test_threads: 8
 | 
					
						
							|  |  |  |   :compile_threads: 8
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # enable release build (more details in release_build section below)
 | 
					
						
							|  |  |  |   :release_build: FALSE
 | 
					
						
							| 
									
										
										
										
											2019-11-01 17:49:46 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  | # Specify where to find mixins and any that should be enabled automatically
 | 
					
						
							|  |  |  | :mixins:
 | 
					
						
							|  |  |  |   :enabled: []
 | 
					
						
							|  |  |  |   :load_paths: []
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # further details to configure the way Ceedling handles test code
 | 
					
						
							|  |  |  | :test_build:
 | 
					
						
							|  |  |  |   :use_assembly: FALSE
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | :test_runner:
 | 
					
						
							|  |  |  |   # Insert additional #include statements in a generated runner
 | 
					
						
							|  |  |  |   :includes:
 | 
					
						
							|  |  |  |     - osal.h
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # further details to configure the way Ceedling handles release code
 | 
					
						
							|  |  |  | :release_build:
 | 
					
						
							|  |  |  |   :output: MyApp.out
 | 
					
						
							|  |  |  |   :use_assembly: FALSE
 | 
					
						
							|  |  |  |   :artifacts: []
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Plugins are optional Ceedling features which can be enabled. Ceedling supports
 | 
					
						
							|  |  |  | # a variety of plugins which may effect the way things are compiled, reported,
 | 
					
						
							|  |  |  | # or may provide new command options. Refer to the readme in each plugin for
 | 
					
						
							|  |  |  | # details on how to use it.
 | 
					
						
							|  |  |  | :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
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |     # 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
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  | # 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
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | :extension:
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   #:header: .h
 | 
					
						
							|  |  |  |   #:source: .c
 | 
					
						
							|  |  |  |   #:assembly: .s
 | 
					
						
							|  |  |  |   #:dependencies: .d
 | 
					
						
							|  |  |  |   #:object: .o
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  |   :executable: .out
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   #:testpass: .pass
 | 
					
						
							|  |  |  |   #:testfail: .fail
 | 
					
						
							|  |  |  |   #:subprojects: .a
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  | # This is where Ceedling should look for your source and test files.
 | 
					
						
							|  |  |  | # see documentation for the many options for specifying this.
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | :paths:
 | 
					
						
							|  |  |  |   :test:
 | 
					
						
							|  |  |  |     - +:test/**
 | 
					
						
							|  |  |  |     - -:test/support
 | 
					
						
							|  |  |  |   :source:
 | 
					
						
							| 
									
										
										
										
											2022-12-08 09:59:02 +07:00
										 |  |  |     - ../../src/**
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   :include:
 | 
					
						
							|  |  |  |     - ../../src/**
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  |   :support:
 | 
					
						
							|  |  |  |     - test/support
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   :libraries: []
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # You can even specify specific files to add or remove from your test
 | 
					
						
							|  |  |  | # and release collections. Usually it's better to use paths and let
 | 
					
						
							|  |  |  | # Ceedling do the work for you!
 | 
					
						
							|  |  |  | :files:
 | 
					
						
							|  |  |  |   :test: []
 | 
					
						
							|  |  |  |   :source: []
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  | # Compilation symbols to be injected into builds
 | 
					
						
							|  |  |  | # See documentation for advanced options:
 | 
					
						
							|  |  |  | #  - Test name matchers for different symbols per test executable build
 | 
					
						
							|  |  |  | #  - Referencing symbols in multiple lists using advanced YAML
 | 
					
						
							|  |  |  | #  - Specifying symbols used during test preprocessing
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | :defines:
 | 
					
						
							|  |  |  |   :test:
 | 
					
						
							| 
									
										
										
										
											2024-03-01 17:34:14 +07:00
										 |  |  |     - _UNITY_TEST_
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   :release: []
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Enable to inject name of a test as a unique compilation symbol into its respective executable build.
 | 
					
						
							|  |  |  |   :use_test_definition: FALSE
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Configure additional command line flags provided to tools used in each build step
 | 
					
						
							|  |  |  | # :flags:
 | 
					
						
							|  |  |  | #   :release:
 | 
					
						
							|  |  |  | #     :compile:         # Add '-Wall' and '--02' to compilation of all files in release target
 | 
					
						
							|  |  |  | #       - -Wall
 | 
					
						
							|  |  |  | #       - --O2
 | 
					
						
							|  |  |  | #   :test:
 | 
					
						
							|  |  |  | #     :compile:
 | 
					
						
							|  |  |  | #       '(_|-)special': # Add '-pedantic' to compilation of all files in all test executables with '_special' or '-special' in their names
 | 
					
						
							|  |  |  | #         - -pedantic
 | 
					
						
							|  |  |  | #       '*':            # Add '-foo' to compilation of all files in all test executables
 | 
					
						
							|  |  |  | #         - -foo
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  | # Configuration Options specific to CMock. See CMock docs for details
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | :cmock:
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   # Core configuration
 | 
					
						
							|  |  |  |   :plugins:                        # What plugins should be used by CMock?
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  |     - :ignore
 | 
					
						
							| 
									
										
										
										
											2019-11-01 15:25:54 +07:00
										 |  |  |     - :ignore_arg
 | 
					
						
							| 
									
										
										
										
											2019-11-01 17:53:37 +07:00
										 |  |  |     - :return_thru_ptr
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  |     - :callback
 | 
					
						
							| 
									
										
										
										
											2019-10-30 16:19:47 +07:00
										 |  |  |     - :array
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   :verbosity:  2                   # the options being 0 errors only, 1 warnings and errors, 2 normal info, 3 verbose
 | 
					
						
							|  |  |  |   :when_no_prototypes:  :warn      # the options being :ignore, :warn, or :error
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # File configuration
 | 
					
						
							|  |  |  |   :skeleton_path:  ''              # Subdirectory to store stubs when generated (default: '')
 | 
					
						
							|  |  |  |   :mock_prefix:  'mock_'           # Prefix to append to filenames for mocks
 | 
					
						
							|  |  |  |   :mock_suffix:  ''                # Suffix to append to filenames for mocks
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Parser configuration
 | 
					
						
							|  |  |  |   :strippables:  ['(?:__attribute__\s*\([ (]*.*?[ )]*\)+)']
 | 
					
						
							|  |  |  |   :attributes:
 | 
					
						
							|  |  |  |      - __ramfunc
 | 
					
						
							|  |  |  |      - __irq
 | 
					
						
							|  |  |  |      - __fiq
 | 
					
						
							|  |  |  |      - register
 | 
					
						
							|  |  |  |      - extern
 | 
					
						
							|  |  |  |   :c_calling_conventions:
 | 
					
						
							|  |  |  |      - __stdcall
 | 
					
						
							|  |  |  |      - __cdecl
 | 
					
						
							|  |  |  |      - __fastcall
 | 
					
						
							|  |  |  |   :treat_externs:  :exclude        # the options being :include or :exclud
 | 
					
						
							|  |  |  |   :treat_inlines:  :exclude        # the options being :include or :exclud
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Type handling configuration
 | 
					
						
							|  |  |  |   #:unity_helper_path: ''          # specify a string of where to find a unity_helper.h file to discover custom type assertions
 | 
					
						
							|  |  |  |   :treat_as:                       # optionally add additional types to map custom types
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  |     uint8:    HEX8
 | 
					
						
							|  |  |  |     uint16:   HEX16
 | 
					
						
							|  |  |  |     uint32:   UINT32
 | 
					
						
							|  |  |  |     int8:     INT8
 | 
					
						
							|  |  |  |     bool:     UINT8
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   #:treat_as_array:  {}            # hint to cmock that these types are pointers to something
 | 
					
						
							|  |  |  |   #:treat_as_void:  []             # hint to cmock that these types are actually aliases of void
 | 
					
						
							|  |  |  |   :memcmp_if_unknown:  true        # allow cmock to use the memory comparison assertions for unknown types
 | 
					
						
							|  |  |  |   :when_ptr:  :compare_data        # hint to cmock how to handle pointers in general, the options being :compare_ptr, :compare_data, or :smart
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   # Mock generation configuration
 | 
					
						
							|  |  |  |   :weak:  ''                       # Symbol to use to declare weak functions
 | 
					
						
							|  |  |  |   :enforce_strict_ordering: true   # Do we want cmock to enforce ordering of all function calls?
 | 
					
						
							|  |  |  |   :fail_on_unexpected_calls: true  # Do we want cmock to fail when it encounters a function call that wasn't expected?
 | 
					
						
							|  |  |  |   :callback_include_count: true    # Do we want cmock to include the number of calls to this callback, when using callbacks?
 | 
					
						
							|  |  |  |   :callback_after_arg_check: false # Do we want cmock to enforce an argument check first when using a callback?
 | 
					
						
							|  |  |  |   #:includes: []                   # You can add additional includes here, or specify the location with the options below
 | 
					
						
							|  |  |  |   #:includes_h_pre_orig_header: []
 | 
					
						
							|  |  |  |   #:includes_h_post_orig_header: []
 | 
					
						
							|  |  |  |   #:includes_c_pre_header:  []
 | 
					
						
							|  |  |  |   #:includes_c_post_header:  []
 | 
					
						
							|  |  |  |   #:array_size_type:  []            # Specify a type or types that should be used for array lengths
 | 
					
						
							|  |  |  |   #:array_size_name:  'size|len'    # Specify a name or names that CMock might automatically recognize as the length of an array
 | 
					
						
							|  |  |  |   :exclude_setjmp_h:  false        # Don't use setjmp when running CMock. Note that this might result in late reporting or out-of-order failures.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Configuration options specific to Unity.
 | 
					
						
							|  |  |  | :unity:
 | 
					
						
							|  |  |  |   :defines:
 | 
					
						
							|  |  |  |     - UNITY_EXCLUDE_FLOAT
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # You can optionally have ceedling create environment variables for you before
 | 
					
						
							|  |  |  | # performing the rest of its tasks.
 | 
					
						
							|  |  |  | :environment: []
 | 
					
						
							|  |  |  | # :environment:
 | 
					
						
							|  |  |  | #   # List enforces order allowing later to reference earlier with inline Ruby substitution
 | 
					
						
							|  |  |  | #   - :var1: value
 | 
					
						
							|  |  |  | #   - :var2: another value
 | 
					
						
							|  |  |  | #   - :path:            # Special PATH handling with platform-specific path separators
 | 
					
						
							|  |  |  | #     - #{ENV['PATH']}  # Environment variables can use inline Ruby substitution
 | 
					
						
							|  |  |  | #     - /another/path/to/include
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  | # LIBRARIES
 | 
					
						
							|  |  |  | # These libraries are automatically injected into the build process. Those specified as
 | 
					
						
							|  |  |  | # common will be used in all types of builds. Otherwise, libraries can be injected in just
 | 
					
						
							|  |  |  | # tests or releases. These options are MERGED with the options in supplemental yaml files.
 | 
					
						
							|  |  |  | :libraries:
 | 
					
						
							|  |  |  |   :placement: :end
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  |   :flag: "-l${1}"
 | 
					
						
							|  |  |  |   :path_flag: "-L ${1}"
 | 
					
						
							|  |  |  |   :system: []    # for example, you might list 'm' to grab the math library
 | 
					
						
							|  |  |  |   :test: []
 | 
					
						
							|  |  |  |   :release: []
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-15 14:53:13 +07:00
										 |  |  | ################################################################
 | 
					
						
							|  |  |  | # PLUGIN CONFIGURATION
 | 
					
						
							|  |  |  | ################################################################
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Add -gcov to the plugins list to make sure of the gcov plugin
 | 
					
						
							|  |  |  | # You will need to have gcov and gcovr both installed to make it work.
 | 
					
						
							|  |  |  | # For more information on these options, see docs in plugins/gcov
 | 
					
						
							|  |  |  | :gcov:
 | 
					
						
							|  |  |  |   :summaries: TRUE                # Enable simple coverage summaries to console after tests
 | 
					
						
							|  |  |  |   :report_task: FALSE             # Disabled dedicated report generation task (this enables automatic report generation)
 | 
					
						
							|  |  |  |   :utilities:
 | 
					
						
							|  |  |  |     - gcovr           # Use gcovr to create the specified reports (default).
 | 
					
						
							|  |  |  |     #- ReportGenerator # Use ReportGenerator to create the specified reports.
 | 
					
						
							|  |  |  |   :reports: # Specify one or more reports to generate.
 | 
					
						
							|  |  |  |     # Make an HTML summary report.
 | 
					
						
							|  |  |  |     - HtmlBasic
 | 
					
						
							|  |  |  |     # - HtmlDetailed
 | 
					
						
							|  |  |  |     # - Text
 | 
					
						
							|  |  |  |     # - Cobertura
 | 
					
						
							|  |  |  |     # - SonarQube
 | 
					
						
							|  |  |  |     # - JSON
 | 
					
						
							|  |  |  |     # - HtmlInline
 | 
					
						
							|  |  |  |     # - HtmlInlineAzure
 | 
					
						
							|  |  |  |     # - HtmlInlineAzureDark
 | 
					
						
							|  |  |  |     # - HtmlChart
 | 
					
						
							|  |  |  |     # - MHtml
 | 
					
						
							|  |  |  |     # - Badges
 | 
					
						
							|  |  |  |     # - CsvSummary
 | 
					
						
							|  |  |  |     # - Latex
 | 
					
						
							|  |  |  |     # - LatexSummary
 | 
					
						
							|  |  |  |     # - PngChart
 | 
					
						
							|  |  |  |     # - TeamCitySummary
 | 
					
						
							|  |  |  |     # - lcov
 | 
					
						
							|  |  |  |     # - Xml
 | 
					
						
							|  |  |  |     # - XmlSummary
 | 
					
						
							|  |  |  |   :gcovr:
 | 
					
						
							|  |  |  |     # :html_artifact_filename: TestCoverageReport.html
 | 
					
						
							|  |  |  |     # :html_title: Test Coverage Report
 | 
					
						
							|  |  |  |     :html_medium_threshold: 75
 | 
					
						
							|  |  |  |     :html_high_threshold: 90
 | 
					
						
							|  |  |  |     # :html_absolute_paths: TRUE
 | 
					
						
							|  |  |  |     # :html_encoding: UTF-8
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # :module_generator:
 | 
					
						
							|  |  |  | #   :project_root: ./
 | 
					
						
							|  |  |  | #   :source_root: source/
 | 
					
						
							|  |  |  | #   :inc_root: includes/
 | 
					
						
							|  |  |  | #   :test_root: tests/
 | 
					
						
							|  |  |  | #   :naming: :snake #options: :bumpy, :camel, :caps, or :snake
 | 
					
						
							|  |  |  | #   :includes:
 | 
					
						
							|  |  |  | #     :tst: []
 | 
					
						
							|  |  |  | #     :src: []
 | 
					
						
							|  |  |  | #   :boilerplates:
 | 
					
						
							|  |  |  | #     :src: ""
 | 
					
						
							|  |  |  | #     :inc: ""
 | 
					
						
							|  |  |  | #     :tst: ""
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # :dependencies:
 | 
					
						
							|  |  |  | #   :libraries:
 | 
					
						
							|  |  |  | #     - :name: WolfSSL
 | 
					
						
							|  |  |  | #       :source_path:   third_party/wolfssl/source
 | 
					
						
							|  |  |  | #       :build_path:    third_party/wolfssl/build
 | 
					
						
							|  |  |  | #       :artifact_path: third_party/wolfssl/install
 | 
					
						
							|  |  |  | #       :fetch:
 | 
					
						
							|  |  |  | #         :method: :zip
 | 
					
						
							|  |  |  | #         :source: \\shared_drive\third_party_libs\wolfssl\wolfssl-4.2.0.zip
 | 
					
						
							|  |  |  | #       :environment:
 | 
					
						
							|  |  |  | #         - CFLAGS+=-DWOLFSSL_DTLS_ALLOW_FUTURE
 | 
					
						
							|  |  |  | #       :build:
 | 
					
						
							|  |  |  | #         - "autoreconf -i"
 | 
					
						
							|  |  |  | #         - "./configure --enable-tls13 --enable-singlethreaded"
 | 
					
						
							|  |  |  | #         - make
 | 
					
						
							|  |  |  | #         - make install
 | 
					
						
							|  |  |  | #       :artifacts:
 | 
					
						
							|  |  |  | #         :static_libraries:
 | 
					
						
							|  |  |  | #           - lib/wolfssl.a
 | 
					
						
							|  |  |  | #         :dynamic_libraries:
 | 
					
						
							|  |  |  | #           - lib/wolfssl.so
 | 
					
						
							|  |  |  | #         :includes:
 | 
					
						
							|  |  |  | #           - include/**
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # :subprojects:
 | 
					
						
							|  |  |  | #   :paths:
 | 
					
						
							|  |  |  | #    - :name: libprojectA
 | 
					
						
							|  |  |  | #      :source:
 | 
					
						
							|  |  |  | #        - ./subprojectA/source
 | 
					
						
							|  |  |  | #      :include:
 | 
					
						
							|  |  |  | #        - ./subprojectA/include
 | 
					
						
							|  |  |  | #      :build_root: ./subprojectA/build
 | 
					
						
							|  |  |  | #      :defines: []
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # :command_hooks:
 | 
					
						
							|  |  |  | #   :pre_mock_preprocess:
 | 
					
						
							|  |  |  | #   :post_mock_preprocess:
 | 
					
						
							|  |  |  | #   :pre_test_preprocess:
 | 
					
						
							|  |  |  | #   :post_test_preprocess:
 | 
					
						
							|  |  |  | #   :pre_mock_generate:
 | 
					
						
							|  |  |  | #   :post_mock_generate:
 | 
					
						
							|  |  |  | #   :pre_runner_generate:
 | 
					
						
							|  |  |  | #   :post_runner_generate:
 | 
					
						
							|  |  |  | #   :pre_compile_execute:
 | 
					
						
							|  |  |  | #   :post_compile_execute:
 | 
					
						
							|  |  |  | #   :pre_link_execute:
 | 
					
						
							|  |  |  | #   :post_link_execute:
 | 
					
						
							|  |  |  | #   :pre_test_fixture_execute:
 | 
					
						
							|  |  |  | #   :post_test_fixture_execute:
 | 
					
						
							|  |  |  | #   :pre_test:
 | 
					
						
							|  |  |  | #   :post_test:
 | 
					
						
							|  |  |  | #   :pre_release:
 | 
					
						
							|  |  |  | #   :post_release:
 | 
					
						
							|  |  |  | #   :pre_build:
 | 
					
						
							|  |  |  | #   :post_build:
 | 
					
						
							|  |  |  | #   :post_error:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ################################################################
 | 
					
						
							|  |  |  | # TOOLCHAIN CONFIGURATION
 | 
					
						
							|  |  |  | ################################################################
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #:tools:
 | 
					
						
							|  |  |  | # 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
 | 
					
						
							|  |  |  | #:tools:
 | 
					
						
							|  |  |  | #  :test_compiler:
 | 
					
						
							|  |  |  | #     :executable: gcc
 | 
					
						
							|  |  |  | #     :name: 'gcc compiler'
 | 
					
						
							|  |  |  | #     :arguments:
 | 
					
						
							|  |  |  | #        - -I"$": COLLECTION_PATHS_TEST_TOOLCHAIN_INCLUDE               #expands to -I search paths
 | 
					
						
							|  |  |  | #        - -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR   #expands to -I search paths
 | 
					
						
							|  |  |  | #        - -D$: COLLECTION_DEFINES_TEST_AND_VENDOR  #expands to all -D defined symbols
 | 
					
						
							|  |  |  | #        #- -fsanitize=address
 | 
					
						
							|  |  |  | #        - -c ${1}                       #source code input file (Ruby method call param list sub)
 | 
					
						
							|  |  |  | #        - -o ${2}                       #object file output (Ruby method call param list sub)
 | 
					
						
							|  |  |  | #  :test_linker:
 | 
					
						
							|  |  |  | #     :executable: gcc
 | 
					
						
							|  |  |  | #     :name: 'gcc linker'
 | 
					
						
							|  |  |  | #     :arguments:
 | 
					
						
							|  |  |  | #        #- -fsanitize=address
 | 
					
						
							|  |  |  | #        - ${1}               #list of object files to link (Ruby method call param list sub)
 | 
					
						
							|  |  |  | #        - -o ${2}            #executable file output (Ruby method call param list sub)
 | 
					
						
							|  |  |  | #   :test_compiler:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							|  |  |  | #   :test_linker:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							|  |  |  | #   :test_assembler:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							|  |  |  | #   :test_fixture:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							|  |  |  | #   :test_includes_preprocessor:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							|  |  |  | #   :test_file_preprocessor:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							|  |  |  | #   :test_file_preprocessor_directives:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							|  |  |  | #   :test_dependencies_generator:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							|  |  |  | #   :release_compiler:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							|  |  |  | #   :release_linker:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							|  |  |  | #   :release_assembler:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							|  |  |  | #   :release_dependencies_generator:
 | 
					
						
							|  |  |  | #     :executable:
 | 
					
						
							|  |  |  | #     :arguments: []
 | 
					
						
							|  |  |  | #     :name:
 | 
					
						
							|  |  |  | #     :optional: FALSE
 | 
					
						
							| 
									
										
										
										
											2019-06-10 16:18:27 +07:00
										 |  |  | ...
 |