mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 21:31:08 -06:00
Tutorial: Rewrite using conventions enabled by CMake 3.23
This is a full re-write of the CMake Tutorial for CMake 3.23, both the functionality it provides, as well as the modern workflows that developers use when interfacing with CMake. Issue: #22663, #23086, #23799, #26053, #26105, #26153, #26914
This commit is contained in:
committed by
Brad King
parent
9e89400d13
commit
b2e3e3e30e
2
Help/guide/tutorial/Step1/MathFunctions/CMakeLists.txt
Normal file
2
Help/guide/tutorial/Step1/MathFunctions/CMakeLists.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# TODO12: Move all the MathFunctions target commands to this CMakeLists.txt.
|
||||
# Ensure that all paths are updated to be relative to this new location.
|
||||
31
Help/guide/tutorial/Step1/MathFunctions/MathFunctions.cxx
Normal file
31
Help/guide/tutorial/Step1/MathFunctions/MathFunctions.cxx
Normal file
@@ -0,0 +1,31 @@
|
||||
#include <iostream>
|
||||
|
||||
namespace {
|
||||
// a hack square root calculation using simple operations
|
||||
double mysqrt(double x)
|
||||
{
|
||||
if (x <= 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
double result = x;
|
||||
|
||||
// do ten iterations
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
if (result <= 0) {
|
||||
result = 0.1;
|
||||
}
|
||||
double delta = x - (result * result);
|
||||
result = result + 0.5 * delta / result;
|
||||
std::cout << "Computing sqrt of " << x << " to be " << result << std::endl;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
namespace mathfunctions {
|
||||
double sqrt(double x)
|
||||
{
|
||||
return mysqrt(x);
|
||||
}
|
||||
}
|
||||
5
Help/guide/tutorial/Step1/MathFunctions/MathFunctions.h
Normal file
5
Help/guide/tutorial/Step1/MathFunctions/MathFunctions.h
Normal file
@@ -0,0 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
namespace mathfunctions {
|
||||
double sqrt(double x);
|
||||
}
|
||||
Reference in New Issue
Block a user