@@ -22,7 +22,7 @@ limitations under the License.
2222 - [ Direct Generation via ` cmake ` ] ( #direct-generation-via-cmake )
2323 - [ CMake Build Options, Types and Flags] ( #cmake-build-options-types-and-flags )
2424 - [ Naming conventions for targets] ( #naming-conventions-for-targets )
25- - [ Adding a new test] ( #adding-a-new-test )
25+ - [ Adding a new test executable ] ( #adding-a-new-test-executable )
2626 - [ Adding a new backend] ( #adding-a-new-backend )
2727 - [ 1. Add the related project options] ( #1-add-the-related-project-options )
2828 - [ 2. Add the backend-specific variables] ( #2-add-the-backend-specific-variables )
@@ -154,7 +154,7 @@ As from above, a convenient way to start even for a custom build is from the
154154the building command and start from there with the custom options.
155155For example:
156156
157- ``` cmake
157+ ``` bash
158158mkdir build_release
159159cd build_release
160160cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/dir -DCMAKE_BUILD_TYPE=Release \
@@ -339,7 +339,7 @@ Other targets:
339339standard tools are available, they are compiled into a PDF found at
340340` <ALP/GraphBLAS root>/docs/code/latex/refman.pdf ` .
341341
342- ## Adding a new test
342+ ## Adding a new test executable
343343
344344Test sources are split in categories, whose purpose is explained in the [ Testing
345345Infrastructure] ( #the-testing-infrastructure ) section.
@@ -371,7 +371,8 @@ the test source files (at least one is required)
371371* ` BACKENDS reference reference_omp bsp1d hybrid ` is the list of all backends
372372the test should be compiled against (at least one is required); for each
373373backend, an executable target is created following the naming conventions in
374- [ Naming conventions for targets] ( #naming-conventions-for-targets )
374+ [ Naming conventions for targets] ( #naming-conventions-for-targets ) ; also ` none `
375+ is possible as backend name, meaning no backend is actually linked
375376* ` ADDITIONAL_LINK_LIBRARIES test_utils ` (optional) lists additional libraries
376377to link (the backend library is linked by default)
377378* ` COMPILE_DEFINITIONS MY_TEST_KEY=VALUE ANOTHER_TEST_DEFINITION ` (optional)
@@ -396,14 +397,6 @@ Each script is sub-divided in several sections depending on the backend that is
396397assumed to run and on relevant options: hence, you should place your test
397398invocation in the relevant section.
398399
399- Furthermore, you can achieve more control over the test target generation, i.e.,
400- the building of tests, by using the function ` add_grb_tests_with_category ` , also
401- defined in [ cmake/AddGRBTests.cmake] ( ../cmake/AddGRBTests.cmake ) , which requires
402- to specify dependencies manually (thus, building against multiple backends needs
403- correspondingly multiple calls of the same function) and is therefore used only
404- in special cases.
405-
406-
407400## Adding a new backend
408401
409402Adding a new backend requires multiple changes to the building infrastructure,
@@ -515,7 +508,7 @@ by default when compiling executables, for example
5155084 . the variable ` ALL_BACKENDS ` lists all possible backends (even if not enabled)
516509to detect potential configuration errors: therefore, you should always add the
517510new backend to this variable; on the contrary, the variable ` AVAILABLE_BACKENDS `
518- lists only the backends actually available in the building infrastructure,
511+ lists only the backends actually available in the building infrastructure,
519512depending on the user's inputs; you may add your backend with something like
520513
521514 ```cmake
@@ -525,8 +518,8 @@ depending on the user's inputs; you may add your backend with something like
525518 ```
526519
5275205 . the variable ` AVAILABLE_TEST_BACKENDS ` lists all backends that were enabled
528- and for which tests are built; usually it is a subset of ` AVAILABLE_BACKENDS ` ,
529- which also contains backends pulled in as dependencies of user-chosen backends;
521+ and for which tests are built; usually it is a subset of ` AVAILABLE_BACKENDS ` ,
522+ which also contains backends pulled in as dependencies of user-chosen backends;
530523for example, if the user enables only the hyperdags backend, the reference
531524backend is also listed in ` AVAILABLE_BACKENDS ` , while ` AVAILABLE_TEST_BACKENDS `
532525lists only hyperdags.
@@ -876,7 +869,8 @@ The coverage infrastructure prescribes additional dependencies:
876869 -- though the first method is preferable as it provides a more up-to-date
877870 version) and clearly requires
878871* [ Python3] ( https://www.python.org/ ) , available in most Linux distributions
879- (e.g., ` apt-get install python3 ` ) or as [ pre-built binary] ( https://github.com/indygreg/python-build-standalone/releases )
872+ (e.g., ` apt-get install python3 ` ) or as
873+ [ pre-built binary] ( https://github.com/indygreg/python-build-standalone/releases )
880874 for many OSs and architectures
881875 (e.g., https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1+20230116-x86_64_v4-unknown-linux-gnu-install_only.tar.gz )
882876
0 commit comments