Help: Populate tutorial guide text

Migrate tutorial text from individual `directions.txt` files to the main
tutorial document.  Add some comments to source code to provide anchors
for inclusion.
This commit is contained in:
Betsy McPhail
2019-06-18 10:49:40 -04:00
committed by Brad King
parent 862cfc0e6c
commit eef3e020c2
44 changed files with 777 additions and 939 deletions

View File

@@ -6,7 +6,7 @@ set(CMAKE_CXX_STANDARD 14)
# should we use our own math functions
option(USE_MYMATH "Use tutorial provided math implementation" ON)
# the version number.
# set the version number
set(Tutorial_VERSION_MAJOR 1)
set(Tutorial_VERSION_MINOR 0)

View File

@@ -1,26 +0,0 @@
# Adding Usage Requirements for Library #
Usage requirements allow for far better control over a library / executable's
link and include line. While also giving more control over the transitive
property of targets inside CMake. The primary commands that leverage usage
requirements are:
- target_compile_definitions
- target_compile_options
- target_include_directories
- target_link_libraries
First up is MathFunctions. We first state that anybody linking to MathFunctions
needs to include the current source directory, while MathFunctions itself
doesn't. So this can become an INTERFACE usage requirement.
Remember INTERFACE means things that consumers require but the producer doesn't.
target_include_directories(MathFunctions
INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
Now that we've specified usage requirements for MathFunctions we can safely remove
our uses of the EXTRA_INCLUDES variable.
Run cmake or cmake-gui to configure the project and then build it with your
chosen build tool.

View File

@@ -5,6 +5,7 @@
#include "TutorialConfig.h"
// should we include the MathFunctions header?
#ifdef USE_MYMATH
# include "MathFunctions.h"
#endif
@@ -12,6 +13,7 @@
int main(int argc, char* argv[])
{
if (argc < 2) {
// report version
std::cout << argv[0] << " Version " << Tutorial_VERSION_MAJOR << "."
<< Tutorial_VERSION_MINOR << std::endl;
std::cout << "Usage: " << argv[0] << " number" << std::endl;
@@ -20,6 +22,7 @@ int main(int argc, char* argv[])
double inputValue = std::stod(argv[1]);
// which square root function should we use?
#ifdef USE_MYMATH
double outputValue = mysqrt(inputValue);
#else