Skip to content

Commit d0f49bf

Browse files
committed
enumerate recipes in READMEs; closes #452
1 parent fecda3b commit d0f49bf

File tree

16 files changed

+186
-186
lines changed

16 files changed

+186
-186
lines changed

README.md

Lines changed: 90 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -22,148 +22,148 @@
2222

2323
### [Chapter 1: From a Simple Executable to Libraries](chapter-01/README.md)
2424

25-
- [Compiling a single source file into an executable](chapter-01/recipe-01/README.md)
26-
- [Switching generators](chapter-01/recipe-02/README.md)
27-
- [Building and linking static and shared libraries](chapter-01/recipe-03/README.md)
28-
- [Controlling compilation with conditionals](chapter-01/recipe-04/README.md)
29-
- [Presenting options to the user](chapter-01/recipe-05/README.md)
30-
- [Specifying the compiler](chapter-01/recipe-06/README.md)
31-
- [Switching the build type](chapter-01/recipe-07/README.md)
32-
- [Controlling compiler flags](chapter-01/recipe-08/README.md)
33-
- [Setting the standard for the language](chapter-01/recipe-09/README.md)
34-
- [Using control flow constructs](chapter-01/recipe-10/README.md)
25+
- [1. Compiling a single source file into an executable](chapter-01/recipe-01/README.md)
26+
- [2. Switching generators](chapter-01/recipe-02/README.md)
27+
- [3. Building and linking static and shared libraries](chapter-01/recipe-03/README.md)
28+
- [4. Controlling compilation with conditionals](chapter-01/recipe-04/README.md)
29+
- [5. Presenting options to the user](chapter-01/recipe-05/README.md)
30+
- [6. Specifying the compiler](chapter-01/recipe-06/README.md)
31+
- [7. Switching the build type](chapter-01/recipe-07/README.md)
32+
- [8. Controlling compiler flags](chapter-01/recipe-08/README.md)
33+
- [9. Setting the standard for the language](chapter-01/recipe-09/README.md)
34+
- [10. Using control flow constructs](chapter-01/recipe-10/README.md)
3535

3636

3737
### [Chapter 2: Detecting the Environment](chapter-02/README.md)
3838

39-
- [Discovering the operating system](chapter-02/recipe-01/README.md)
40-
- [Dealing with platform-dependent source code](chapter-02/recipe-02/README.md)
41-
- [Dealing with compiler-dependent source code](chapter-02/recipe-03/README.md)
42-
- [Discovering the host processor architecture](chapter-02/recipe-04/README.md)
43-
- [Discovering the host processor instruction set](chapter-02/recipe-05/README.md)
44-
- [Enabling vectorization for the Eigen library](chapter-02/recipe-06/README.md)
39+
- [1. Discovering the operating system](chapter-02/recipe-01/README.md)
40+
- [2. Dealing with platform-dependent source code](chapter-02/recipe-02/README.md)
41+
- [3. Dealing with compiler-dependent source code](chapter-02/recipe-03/README.md)
42+
- [4. Discovering the host processor architecture](chapter-02/recipe-04/README.md)
43+
- [5. Discovering the host processor instruction set](chapter-02/recipe-05/README.md)
44+
- [6. Enabling vectorization for the Eigen library](chapter-02/recipe-06/README.md)
4545

4646

4747
### [Chapter 3: Detecting External Libraries and Programs](chapter-03/README.md)
4848

49-
- [Detecting the Python interpreter](chapter-03/recipe-01/README.md)
50-
- [Detecting the Python library](chapter-03/recipe-02/README.md)
51-
- [Detecting Python modules and packages](chapter-03/recipe-03/README.md)
52-
- [Detecting the BLAS and LAPACK math libraries](chapter-03/recipe-04/README.md)
53-
- [Detecting the OpenMP parallel environment](chapter-03/recipe-05/README.md)
54-
- [Detecting the MPI parallel environment](chapter-03/recipe-06/README.md)
55-
- [Detecting the Eigen library](chapter-03/recipe-07/README.md)
56-
- [Detecting the Boost libraries](chapter-03/recipe-08/README.md)
57-
- [Detecting external libraries: I. Using pkg-config](chapter-03/recipe-09/README.md)
58-
- [Detecting external libraries: II. Writing a find-module](chapter-03/recipe-10/README.md)
49+
- [1. Detecting the Python interpreter](chapter-03/recipe-01/README.md)
50+
- [2. Detecting the Python library](chapter-03/recipe-02/README.md)
51+
- [3. Detecting Python modules and packages](chapter-03/recipe-03/README.md)
52+
- [4. Detecting the BLAS and LAPACK math libraries](chapter-03/recipe-04/README.md)
53+
- [5. Detecting the OpenMP parallel environment](chapter-03/recipe-05/README.md)
54+
- [6. Detecting the MPI parallel environment](chapter-03/recipe-06/README.md)
55+
- [7. Detecting the Eigen library](chapter-03/recipe-07/README.md)
56+
- [8. Detecting the Boost libraries](chapter-03/recipe-08/README.md)
57+
- [9. Detecting external libraries: I. Using pkg-config](chapter-03/recipe-09/README.md)
58+
- [10. Detecting external libraries: II. Writing a find-module](chapter-03/recipe-10/README.md)
5959

6060

6161
### [Chapter 4: Creating and Running Tests](chapter-04/README.md)
6262

63-
- [Creating a simple unit test example](chapter-04/recipe-01/README.md)
64-
- [Define a unit test using the Catch2 library](chapter-04/recipe-02/README.md)
65-
- [Define a unit test and link against Google test](chapter-04/recipe-03/README.md)
66-
- [Define a unit test and link against Boost test](chapter-04/recipe-04/README.md)
67-
- [Dynamic analysis to detect memory defects](chapter-04/recipe-05/README.md)
68-
- [Testing expected failures](chapter-04/recipe-06/README.md)
69-
- [Using timeouts for long tests](chapter-04/recipe-07/README.md)
70-
- [Running tests in parallel](chapter-04/recipe-08/README.md)
71-
- [Running a subset of tests](chapter-04/recipe-09/README.md)
72-
- [Using test fixtures](chapter-04/recipe-10/README.md)
63+
- [1. Creating a simple unit test example](chapter-04/recipe-01/README.md)
64+
- [2. Define a unit test using the Catch2 library](chapter-04/recipe-02/README.md)
65+
- [3. Define a unit test and link against Google test](chapter-04/recipe-03/README.md)
66+
- [4. Define a unit test and link against Boost test](chapter-04/recipe-04/README.md)
67+
- [5. Dynamic analysis to detect memory defects](chapter-04/recipe-05/README.md)
68+
- [6. Testing expected failures](chapter-04/recipe-06/README.md)
69+
- [7. Using timeouts for long tests](chapter-04/recipe-07/README.md)
70+
- [8. Running tests in parallel](chapter-04/recipe-08/README.md)
71+
- [9. Running a subset of tests](chapter-04/recipe-09/README.md)
72+
- [10. Using test fixtures](chapter-04/recipe-10/README.md)
7373

7474

7575
### [Chapter 5: Configure-time and Build-time Operations](chapter-05/README.md)
7676

77-
- [Using platform-independent file operations](chapter-05/recipe-01/README.md)
78-
- [Running a custom command at configure-time](chapter-05/recipe-02/README.md)
79-
- [Running a custom command at build-time I](chapter-05/recipe-03/README.md)
80-
- [Running a custom command at build-time II](chapter-05/recipe-04/README.md)
81-
- [Running custom commands for specific targets at build-time](chapter-05/recipe-05/README.md)
82-
- [Probing compilation and linking](chapter-05/recipe-06/README.md)
83-
- [Probing compiler flags](chapter-05/recipe-07/README.md)
84-
- [Probing execution](chapter-05/recipe-08/README.md)
85-
- [Fine-tuning configuration and compilation with generator expressions](chapter-05/recipe-09/README.md)
77+
- [1. Using platform-independent file operations](chapter-05/recipe-01/README.md)
78+
- [2. Running a custom command at configure-time](chapter-05/recipe-02/README.md)
79+
- [3. Running a custom command at build-time I](chapter-05/recipe-03/README.md)
80+
- [4. Running a custom command at build-time II](chapter-05/recipe-04/README.md)
81+
- [5. Running custom commands for specific targets at build-time](chapter-05/recipe-05/README.md)
82+
- [6. Probing compilation and linking](chapter-05/recipe-06/README.md)
83+
- [7. Probing compiler flags](chapter-05/recipe-07/README.md)
84+
- [8. Probing execution](chapter-05/recipe-08/README.md)
85+
- [9. Fine-tuning configuration and compilation with generator expressions](chapter-05/recipe-09/README.md)
8686

8787

8888
### [Chapter 6: Generating Source Code](chapter-06/README.md)
8989

90-
- [Generating sources at configure-time](chapter-06/recipe-01/README.md)
91-
- [Generating source code at configure-time using Python](chapter-06/recipe-02/README.md)
92-
- [Generating source code at build-time using Python](chapter-06/recipe-03/README.md)
93-
- [Recording the project version information for reproducibility](chapter-06/recipe-04/README.md)
94-
- [Recording the project version from a file](chapter-06/recipe-05/README.md)
95-
- [Recording the Git hash at configure-time](chapter-06/recipe-06/README.md)
96-
- [Recording the Git hash at build-time](chapter-06/recipe-07/README.md)
90+
- [1. Generating sources at configure-time](chapter-06/recipe-01/README.md)
91+
- [2. Generating source code at configure-time using Python](chapter-06/recipe-02/README.md)
92+
- [3. Generating source code at build-time using Python](chapter-06/recipe-03/README.md)
93+
- [4. Recording the project version information for reproducibility](chapter-06/recipe-04/README.md)
94+
- [5. Recording the project version from a file](chapter-06/recipe-05/README.md)
95+
- [6. Recording the Git hash at configure-time](chapter-06/recipe-06/README.md)
96+
- [7. Recording the Git hash at build-time](chapter-06/recipe-07/README.md)
9797

9898

9999
### [Chapter 7: Structuring Projects](chapter-07/README.md)
100100

101-
- [Code reuse with functions and macros](chapter-07/recipe-01/README.md)
102-
- [Splitting CMake sources into modules](chapter-07/recipe-02/README.md)
103-
- [Writing a function to test and set compiler flags](chapter-07/recipe-03/README.md)
104-
- [Defining a function or macro with named arguments](chapter-07/recipe-04/README.md)
105-
- [Redefining functions and macros](chapter-07/recipe-05/README.md)
106-
- [Deprecating functions, macros, and variables](chapter-07/recipe-06/README.md)
107-
- [Limiting scope with add_subdirectory](chapter-07/recipe-07/README.md)
108-
- [Avoiding global variables using target_sources](chapter-07/recipe-08/README.md)
109-
- [Organizing Fortran projects](chapter-07/recipe-09/README.md)
101+
- [1. Code reuse with functions and macros](chapter-07/recipe-01/README.md)
102+
- [2. Splitting CMake sources into modules](chapter-07/recipe-02/README.md)
103+
- [3. Writing a function to test and set compiler flags](chapter-07/recipe-03/README.md)
104+
- [4. Defining a function or macro with named arguments](chapter-07/recipe-04/README.md)
105+
- [5. Redefining functions and macros](chapter-07/recipe-05/README.md)
106+
- [6. Deprecating functions, macros, and variables](chapter-07/recipe-06/README.md)
107+
- [7. Limiting scope with add_subdirectory](chapter-07/recipe-07/README.md)
108+
- [8. Avoiding global variables using target_sources](chapter-07/recipe-08/README.md)
109+
- [9. Organizing Fortran projects](chapter-07/recipe-09/README.md)
110110

111111

112112
### [Chapter 8: The Superbuild Pattern](chapter-08/README.md)
113113

114-
- [Using the superbuild pattern](chapter-08/recipe-01/README.md)
115-
- [Managing dependencies with a superbuild I. The Boost libraries](chapter-08/recipe-02/README.md)
116-
- [Managing dependencies with a superbuild II. The FFTW library](chapter-08/recipe-03/README.md)
117-
- [Managing dependencies with a superbuild III. The Google test framework](chapter-08/recipe-04/README.md)
118-
- [Managing your project as a superbuild](chapter-08/recipe-05/README.md)
114+
- [1. Using the superbuild pattern](chapter-08/recipe-01/README.md)
115+
- [2. Managing dependencies with a superbuild I. The Boost libraries](chapter-08/recipe-02/README.md)
116+
- [3. Managing dependencies with a superbuild II. The FFTW library](chapter-08/recipe-03/README.md)
117+
- [4. Managing dependencies with a superbuild III. The Google test framework](chapter-08/recipe-04/README.md)
118+
- [5. Managing your project as a superbuild](chapter-08/recipe-05/README.md)
119119

120120

121121
### [Chapter 9: Mixed-language Projects](chapter-09/README.md)
122122

123-
- [Building Fortran projects that use C/C++ libraries](chapter-09/recipe-01/README.md)
124-
- [Building C/C++ projects that use Fortran libraries](chapter-09/recipe-02/README.md)
125-
- [Building C++ and Python projects using Cython](chapter-09/recipe-03/README.md)
126-
- [Building C++ and Python projects using Boost.Python](chapter-09/recipe-04/README.md)
127-
- [Building C++ and Python projects using pybind11](chapter-09/recipe-05/README.md)
128-
- [Mixing C, C++, Fortran, and Python using Python CFFI](chapter-09/recipe-06/README.md)
123+
- [1. Building Fortran projects that use C/C++ libraries](chapter-09/recipe-01/README.md)
124+
- [2. Building C/C++ projects that use Fortran libraries](chapter-09/recipe-02/README.md)
125+
- [3. Building C++ and Python projects using Cython](chapter-09/recipe-03/README.md)
126+
- [4. Building C++ and Python projects using Boost.Python](chapter-09/recipe-04/README.md)
127+
- [5. Building C++ and Python projects using pybind11](chapter-09/recipe-05/README.md)
128+
- [6. Mixing C, C++, Fortran, and Python using Python CFFI](chapter-09/recipe-06/README.md)
129129

130130

131131
### [Chapter 10: Writing an Installer](chapter-10/README.md)
132132

133-
- [Installing your project](chapter-10/recipe-01/README.md)
134-
- [Generating export headers](chapter-10/recipe-02/README.md)
135-
- [Exporting your targets](chapter-10/recipe-03/README.md)
136-
- [Installing a superbuild](chapter-10/recipe-04/README.md)
133+
- [1. Installing your project](chapter-10/recipe-01/README.md)
134+
- [2. Generating export headers](chapter-10/recipe-02/README.md)
135+
- [3. Exporting your targets](chapter-10/recipe-03/README.md)
136+
- [4. Installing a superbuild](chapter-10/recipe-04/README.md)
137137

138138

139139
### [Chapter 11: Packaging Projects](chapter-11/README.md)
140140

141-
- [Generating source and binary packages](chapter-11/recipe-01/README.md)
142-
- [Distributing a C++/Python project built with CMake/pybind11 via PyPI](chapter-11/recipe-02/README.md)
143-
- [Distributing a C/Fortran/Python project built with CMake/CFFI via PyPI](chapter-11/recipe-03/README.md)
144-
- [Distributing a simple project as Conda package](chapter-11/recipe-04/README.md)
145-
- [Distributing a project with dependencies as Conda package](chapter-11/recipe-05/README.md)
141+
- [1. Generating source and binary packages](chapter-11/recipe-01/README.md)
142+
- [2. Distributing a C++/Python project built with CMake/pybind11 via PyPI](chapter-11/recipe-02/README.md)
143+
- [3. Distributing a C/Fortran/Python project built with CMake/CFFI via PyPI](chapter-11/recipe-03/README.md)
144+
- [4. Distributing a simple project as Conda package](chapter-11/recipe-04/README.md)
145+
- [5. Distributing a project with dependencies as Conda package](chapter-11/recipe-05/README.md)
146146

147147

148148
### [Chapter 12: Building Documentation](chapter-12/README.md)
149149

150-
- [Building documentation using Doxygen](chapter-12/recipe-01/README.md)
151-
- [Building documentation using Sphinx](chapter-12/recipe-02/README.md)
152-
- [Combining Doxygen and Sphinx](chapter-12/recipe-03/README.md)
150+
- [1. Building documentation using Doxygen](chapter-12/recipe-01/README.md)
151+
- [2. Building documentation using Sphinx](chapter-12/recipe-02/README.md)
152+
- [3. Combining Doxygen and Sphinx](chapter-12/recipe-03/README.md)
153153

154154

155155
### [Chapter 13: Alternative Generators and Cross-compilation](chapter-13/README.md)
156156

157-
- [Cross-compiling a hello world example](chapter-13/recipe-01/README.md)
158-
- [Cross-compiling a Windows binary with OpenMP parallelization](chapter-13/recipe-02/README.md)
157+
- [1. Cross-compiling a hello world example](chapter-13/recipe-01/README.md)
158+
- [2. Cross-compiling a Windows binary with OpenMP parallelization](chapter-13/recipe-02/README.md)
159159

160160

161161
### [Chapter 14: Testing Dashboards](chapter-14/README.md)
162162

163-
- [Deploying tests to the CDash dashboard](chapter-14/recipe-01/README.md)
164-
- [Reporting test coverage to the CDash dashboard](chapter-14/recipe-02/README.md)
165-
- [Using the AddressSanitizer and reporting memory defects to CDash](chapter-14/recipe-03/README.md)
166-
- [Using the ThreadSanitizer and reporting data races to CDash](chapter-14/recipe-04/README.md)
163+
- [1. Deploying tests to the CDash dashboard](chapter-14/recipe-01/README.md)
164+
- [2. Reporting test coverage to the CDash dashboard](chapter-14/recipe-02/README.md)
165+
- [3. Using the AddressSanitizer and reporting memory defects to CDash](chapter-14/recipe-03/README.md)
166+
- [4. Using the ThreadSanitizer and reporting data races to CDash](chapter-14/recipe-04/README.md)
167167

168168

169169
### [Chapter 15: Porting a Project to CMake](chapter-15/README.md)

chapter-01/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Chapter 1: From a Simple Executable to Libraries
22

3-
- [Compiling a single source file into an executable](recipe-01/README.md)
4-
- [Switching generators](recipe-02/README.md)
5-
- [Building and linking static and shared libraries](recipe-03/README.md)
6-
- [Controlling compilation with conditionals](recipe-04/README.md)
7-
- [Presenting options to the user](recipe-05/README.md)
8-
- [Specifying the compiler](recipe-06/README.md)
9-
- [Switching the build type](recipe-07/README.md)
10-
- [Controlling compiler flags](recipe-08/README.md)
11-
- [Setting the standard for the language](recipe-09/README.md)
12-
- [Using control flow constructs](recipe-10/README.md)
3+
- [1. Compiling a single source file into an executable](recipe-01/README.md)
4+
- [2. Switching generators](recipe-02/README.md)
5+
- [3. Building and linking static and shared libraries](recipe-03/README.md)
6+
- [4. Controlling compilation with conditionals](recipe-04/README.md)
7+
- [5. Presenting options to the user](recipe-05/README.md)
8+
- [6. Specifying the compiler](recipe-06/README.md)
9+
- [7. Switching the build type](recipe-07/README.md)
10+
- [8. Controlling compiler flags](recipe-08/README.md)
11+
- [9. Setting the standard for the language](recipe-09/README.md)
12+
- [10. Using control flow constructs](recipe-10/README.md)

chapter-02/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Chapter 2: Detecting the Environment
22

3-
- [Discovering the operating system](recipe-01/README.md)
4-
- [Dealing with platform-dependent source code](recipe-02/README.md)
5-
- [Dealing with compiler-dependent source code](recipe-03/README.md)
6-
- [Discovering the host processor architecture](recipe-04/README.md)
7-
- [Discovering the host processor instruction set](recipe-05/README.md)
8-
- [Enabling vectorization for the Eigen library](recipe-06/README.md)
3+
- [1. Discovering the operating system](recipe-01/README.md)
4+
- [2. Dealing with platform-dependent source code](recipe-02/README.md)
5+
- [3. Dealing with compiler-dependent source code](recipe-03/README.md)
6+
- [4. Discovering the host processor architecture](recipe-04/README.md)
7+
- [5. Discovering the host processor instruction set](recipe-05/README.md)
8+
- [6. Enabling vectorization for the Eigen library](recipe-06/README.md)

chapter-03/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Chapter 3: Detecting External Libraries and Programs
22

3-
- [Detecting the Python interpreter](recipe-01/README.md)
4-
- [Detecting the Python library](recipe-02/README.md)
5-
- [Detecting Python modules and packages](recipe-03/README.md)
6-
- [Detecting the BLAS and LAPACK math libraries](recipe-04/README.md)
7-
- [Detecting the OpenMP parallel environment](recipe-05/README.md)
8-
- [Detecting the MPI parallel environment](recipe-06/README.md)
9-
- [Detecting the Eigen library](recipe-07/README.md)
10-
- [Detecting the Boost libraries](recipe-08/README.md)
11-
- [Detecting external libraries: I. Using pkg-config](recipe-09/README.md)
12-
- [Detecting external libraries: II. Writing a find-module](recipe-10/README.md)
3+
- [1. Detecting the Python interpreter](recipe-01/README.md)
4+
- [2. Detecting the Python library](recipe-02/README.md)
5+
- [3. Detecting Python modules and packages](recipe-03/README.md)
6+
- [4. Detecting the BLAS and LAPACK math libraries](recipe-04/README.md)
7+
- [5. Detecting the OpenMP parallel environment](recipe-05/README.md)
8+
- [6. Detecting the MPI parallel environment](recipe-06/README.md)
9+
- [7. Detecting the Eigen library](recipe-07/README.md)
10+
- [8. Detecting the Boost libraries](recipe-08/README.md)
11+
- [9. Detecting external libraries: I. Using pkg-config](recipe-09/README.md)
12+
- [10. Detecting external libraries: II. Writing a find-module](recipe-10/README.md)

chapter-04/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Chapter 4: Creating and Running Tests
22

3-
- [Creating a simple unit test example](recipe-01/README.md)
4-
- [Define a unit test using the Catch2 library](recipe-02/README.md)
5-
- [Define a unit test and link against Google test](recipe-03/README.md)
6-
- [Define a unit test and link against Boost test](recipe-04/README.md)
7-
- [Dynamic analysis to detect memory defects](recipe-05/README.md)
8-
- [Testing expected failures](recipe-06/README.md)
9-
- [Using timeouts for long tests](recipe-07/README.md)
10-
- [Running tests in parallel](recipe-08/README.md)
11-
- [Running a subset of tests](recipe-09/README.md)
12-
- [Using test fixtures](recipe-10/README.md)
3+
- [1. Creating a simple unit test example](recipe-01/README.md)
4+
- [2. Define a unit test using the Catch2 library](recipe-02/README.md)
5+
- [3. Define a unit test and link against Google test](recipe-03/README.md)
6+
- [4. Define a unit test and link against Boost test](recipe-04/README.md)
7+
- [5. Dynamic analysis to detect memory defects](recipe-05/README.md)
8+
- [6. Testing expected failures](recipe-06/README.md)
9+
- [7. Using timeouts for long tests](recipe-07/README.md)
10+
- [8. Running tests in parallel](recipe-08/README.md)
11+
- [9. Running a subset of tests](recipe-09/README.md)
12+
- [10. Using test fixtures](recipe-10/README.md)

0 commit comments

Comments
 (0)