-
Notifications
You must be signed in to change notification settings - Fork 712
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
19 changed files
with
91 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,9 @@ | ||
# Using platform-independent file operations | ||
|
||
Abstract to be written ... | ||
This recipe will show how to run operations on files, such as uncompressing a | ||
archive or renaming a folder, in a platform-independent fashion. | ||
CMake can in fact be used in [command-line tool mode](https://cmake.org/cmake/help/v3.12/manual/cmake.1.html#command-line-tool-mode) | ||
and offers a number of wrappers to many common operations. | ||
|
||
|
||
- [cxx-example](cxx-example/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
This recipe will show how to run operations on files, such as uncompressing a | ||
archive or renaming a folder, in a platform-independent fashion. | ||
CMake can in fact be used in [command-line tool mode](https://cmake.org/cmake/help/v3.12/manual/cmake.1.html#command-line-tool-mode) | ||
and offers a number of wrappers to many common operations. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,9 @@ | ||
# Running a custom command at configure time | ||
|
||
Abstract to be written ... | ||
We will show how to run a custom command at configure time using the built-in | ||
[`execute_process`] command offered by CMake. | ||
|
||
[`execute_process`]: https://cmake.org/cmake/help/latest/command/execute_process.html | ||
|
||
|
||
- [example](example/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
We will show how to run a custom command at configure time using the built-in | ||
[`execute_process`] command offered by CMake. | ||
|
||
[`execute_process`]: https://cmake.org/cmake/help/latest/command/execute_process.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,9 @@ | ||
# Running a custom command at build time: I. Using `add_custom_command` | ||
|
||
Abstract to be written ... | ||
This recipe will show how to use [`add_custom_target`] to add new targets with | ||
custom build goals to the build system. | ||
|
||
[`add_custom_target`]: https://cmake.org/cmake/help/latest/command/add_custom_target.html | ||
|
||
|
||
- [cxx-example](cxx-example/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
This recipe will show how to use [`add_custom_target`] to add new targets with | ||
custom build goals to the build system. | ||
|
||
[`add_custom_target`]: https://cmake.org/cmake/help/latest/command/add_custom_target.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
# Running a custom command at build time: II. Using `add_custom_target` | ||
|
||
Abstract to be written ... | ||
Running a custom command at build time: II. Using `add_custom_target` | ||
|
||
|
||
- [cxx-example](cxx-example/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Running a custom command at build time: II. Using `add_custom_target` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,10 @@ | ||
# Running custom commands for specific targets at build time | ||
|
||
Abstract to be written ... | ||
[`add_custom_command`] can be used to attach execution of additional commands | ||
for specific targets at specific moments during build time. This recipe will | ||
show you how. | ||
|
||
[`add_custom_command`]: https://cmake.org/cmake/help/latest/command/add_custom_command.html | ||
|
||
|
||
- [fortran-example](fortran-example/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
[`add_custom_command`] can be used to attach execution of additional commands | ||
for specific targets at specific moments during build time. This recipe will | ||
show you how. | ||
|
||
[`add_custom_command`]: https://cmake.org/cmake/help/latest/command/add_custom_command.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,7 @@ | ||
We show the usage of `check_<lang>_source_compiles` to check that a small code | ||
snippet compiles. This will be contrasted with `try_compile`. Finally, we | ||
discuss how to troubleshoot `try_compile` to avoid false negatives and false positives. | ||
We show the usage of `check_<lang>_source_compiles` (where `<lang>` can be [C](https://cmake.org/cmake/help/latest/module/CheckCSourceCompiles.html), | ||
[CXX](https://cmake.org/cmake/help/latest/module/CheckCXXSourceCompiles.html) or | ||
[Fortran](https://cmake.org/cmake/help/latest/module/CheckFortranSourceCompiles.html)) to check that a small code | ||
snippet compiles. This will be contrasted with [`try_compile`]. Finally, we | ||
discuss how to troubleshoot [`try_compile`] to avoid false negatives and false positives. | ||
|
||
[`try_compile`]: https://cmake.org/cmake/help/latest/command/try_compile.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,16 @@ | ||
# Probing compiler flags | ||
|
||
We show the usage of `check_<lang>_compiler_flag` to check for the availability | ||
of compiler flags. The example will show how to set compiler flags for the | ||
sanitizers (address, memory, thread and undefined behavior) which require the | ||
flag to be passed also to the linker. | ||
We show the usage of `check_<lang>_compiler_flag` | ||
(where `<lang>` can be [C](https://cmake.org/cmake/help/latest/module/CheckCCompilerFlags.html), | ||
[CXX](https://cmake.org/cmake/help/latest/module/CheckCXXCompilerFlags.html) or | ||
[Fortran](https://cmake.org/cmake/help/latest/module/CheckFortranCompilerFlags.html)) | ||
to check for the availability of compiler flags. | ||
The example will show how to set compiler flags for the sanitizers (address, | ||
memory, thread and undefined behavior) which require the flag to be passed also | ||
to the linker. | ||
This function is available for Fortran since CMake 3.3. | ||
|
||
We will expand on this example in [Recipe 3 in Chapter 7](../../chapter-07/recipe-03) | ||
|
||
|
||
- [cxx-example](cxx-example/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,11 @@ | ||
We show the usage of `check_<lang>_compiler_flag` to check for the availability | ||
of compiler flags. The example will show how to set compiler flags for the | ||
sanitizers (address, memory, thread and undefined behavior) which require the | ||
flag to be passed also to the linker. | ||
We show the usage of `check_<lang>_compiler_flag` | ||
(where `<lang>` can be [C](https://cmake.org/cmake/help/latest/module/CheckCCompilerFlags.html), | ||
[CXX](https://cmake.org/cmake/help/latest/module/CheckCXXCompilerFlags.html) or | ||
[Fortran](https://cmake.org/cmake/help/latest/module/CheckFortranCompilerFlags.html)) | ||
to check for the availability of compiler flags. | ||
The example will show how to set compiler flags for the sanitizers (address, | ||
memory, thread and undefined behavior) which require the flag to be passed also | ||
to the linker. | ||
This function is available for Fortran since CMake 3.3. | ||
|
||
We will expand on this example in [Recipe 3 in Chapter 7](../../chapter-07/recipe-03) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
We show how to use `check_<language>_source_runs` to compile, link and run a | ||
test executable. | ||
We show how to use `check_<language>_source_runs` | ||
(where `<lang>` can be [C](https://cmake.org/cmake/help/latest/module/CheckCSourceRuns.html) or | ||
[CXX](https://cmake.org/cmake/help/latest/module/CheckCXXSourceRuns.html)) | ||
to compile, link and run a test executable. | ||
This function is not available for Fortran! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
We show how to rewrite conditionals into generator expressions. | ||
We show how to rewrite conditionals into [`generator expressions`]. | ||
|
||
[`generator expressions`]: https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
# Code reuse with functions and macros | ||
|
||
Abstract to be written ... | ||
Code reuse with functions and macros | ||
|
||
|
||
- [cxx-example](cxx-example/) |