mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 12:17:11 +01:00 
			
		
		
		
	Catch.cmake: Add new DISCOVERY_MODE option to catch_discover_tests
Introducing a new DISCOVERY_MODE mode option, which provides greater control over when catch_discover_tests perforsm test discovery. It has two supported modes: * POST_BUILD: The default behavior, which adds a POST_BUILD command to perform test discovery after the test has been built as was always done so far. * PRE_TEST: New mode, which delays test discovery until test execution. The generated include file generates the appropriate CTest files at runtime and regenerates the CTest files when the executable is updated. This mode can be used in build-environments that don't allow for executing the linked binaries at build-time (like in a cross-compilation environment). DISCOVERY_MODE can be controlled in two ways: 1. Setting the DISCOVERY_MODE when calling catch_discover_tests. 2. Setting the global CMAKE_CATCH_DISCOVER_TESTS_DISCOVERY_MODE prior to calling gtest_discover_tests. Closes #2493
This commit is contained in:
		 Holger Kaelberer
					Holger Kaelberer
				
			
				
					committed by
					
						 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
			
				
	
			
			
			 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
						parent
						
							4e8399d835
						
					
				
				
					commit
					aad926baf8
				
			| @@ -126,6 +126,7 @@ catch_discover_tests(target | ||||
|                      [OUTPUT_DIR dir] | ||||
|                      [OUTPUT_PREFIX prefix] | ||||
|                      [OUTPUT_SUFFIX suffix] | ||||
|                      [DISCOVERY_MODE <POST_BUILD|PRE_TEST>] | ||||
| ) | ||||
| ``` | ||||
|  | ||||
| @@ -198,6 +199,16 @@ If specified, `suffix` is added to each output file name, like so | ||||
| `--out dir/<test_name>suffix`. This can be used to add a file extension to | ||||
| the output file name e.g. ".xml". | ||||
|  | ||||
| * `DISCOVERY_MODE mode` | ||||
|  | ||||
| If specified allows control over when test discovery is performed. | ||||
| For a value of `POST_BUILD` (default) test discovery is performed at build time. | ||||
| For a a value of `PRE_TEST` test discovery is delayed until just prior to test | ||||
| execution (useful e.g. in cross-compilation environments). | ||||
| ``DISCOVERY_MODE`` defaults to the value of the | ||||
| ``CMAKE_CATCH_DISCOVER_TESTS_DISCOVERY_MODE`` variable if it is not passed when | ||||
| calling ``catch_discover_tests``. This provides a mechanism for globally | ||||
| selecting a preferred test discovery behavior. | ||||
|  | ||||
| ### `ParseAndAddCatchTests.cmake` | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user