summaryrefslogtreecommitdiffstats
path: root/Tests/Tutorial/Step4
diff options
context:
space:
mode:
authorKitware Robot <kwrobot@kitware.com>2019-05-30 16:41:21 (GMT)
committerBetsy McPhail <betsy.mcphail@kitware.com>2019-06-18 14:36:16 (GMT)
commit862cfc0e6c3f275db73281f3b9b989704251ab6a (patch)
tree91c65801e02f337fa95e9776a6bf59057d55ec17 /Tests/Tutorial/Step4
parentd2fde9480955cf2246519357e01ab5142a067efc (diff)
downloadCMake-862cfc0e6c3f275db73281f3b9b989704251ab6a.zip
CMake-862cfc0e6c3f275db73281f3b9b989704251ab6a.tar.gz
CMake-862cfc0e6c3f275db73281f3b9b989704251ab6a.tar.bz2
Help/guide/tutorial: Adopt tutorial code
Diffstat (limited to 'Tests/Tutorial/Step4')
-rw-r--r--Tests/Tutorial/Step4/CMakeLists.txt35
-rw-r--r--Tests/Tutorial/Step4/MathFunctions/CMakeLists.txt7
-rw-r--r--Tests/Tutorial/Step4/MathFunctions/MathFunctions.h1
-rw-r--r--Tests/Tutorial/Step4/MathFunctions/mysqrt.cxx23
-rw-r--r--Tests/Tutorial/Step4/TutorialConfig.h.in4
-rw-r--r--Tests/Tutorial/Step4/directions.txt72
-rw-r--r--Tests/Tutorial/Step4/tutorial.cxx32
7 files changed, 0 insertions, 174 deletions
diff --git a/Tests/Tutorial/Step4/CMakeLists.txt b/Tests/Tutorial/Step4/CMakeLists.txt
deleted file mode 100644
index 9ce60b9..0000000
--- a/Tests/Tutorial/Step4/CMakeLists.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-cmake_minimum_required(VERSION 3.3)
-project(Tutorial)
-
-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(Tutorial_VERSION_MAJOR 1)
-set(Tutorial_VERSION_MINOR 0)
-
-# configure a header file to pass some of the CMake settings
-# to the source code
-configure_file(
- "${PROJECT_SOURCE_DIR}/TutorialConfig.h.in"
- "${PROJECT_BINARY_DIR}/TutorialConfig.h"
- )
-
-# add the MathFunctions library?
-if(USE_MYMATH)
- add_subdirectory(MathFunctions)
- list(APPEND EXTRA_LIBS MathFunctions)
-endif(USE_MYMATH)
-
-# add the executable
-add_executable(Tutorial tutorial.cxx)
-
-target_link_libraries(Tutorial PUBLIC ${EXTRA_LIBS})
-
-# add the binary tree to the search path for include files
-# so that we will find TutorialConfig.h
-target_include_directories(Tutorial PUBLIC
- "${PROJECT_BINARY_DIR}"
- )
diff --git a/Tests/Tutorial/Step4/MathFunctions/CMakeLists.txt b/Tests/Tutorial/Step4/MathFunctions/CMakeLists.txt
deleted file mode 100644
index 0515852..0000000
--- a/Tests/Tutorial/Step4/MathFunctions/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-add_library(MathFunctions mysqrt.cxx)
-
-# state that anybody linking to us needs to include the current source dir
-# to find MathFunctions.h, while we don't.
-target_include_directories(MathFunctions
- INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}
- )
diff --git a/Tests/Tutorial/Step4/MathFunctions/MathFunctions.h b/Tests/Tutorial/Step4/MathFunctions/MathFunctions.h
deleted file mode 100644
index cd36bcc..0000000
--- a/Tests/Tutorial/Step4/MathFunctions/MathFunctions.h
+++ /dev/null
@@ -1 +0,0 @@
-double mysqrt(double x);
diff --git a/Tests/Tutorial/Step4/MathFunctions/mysqrt.cxx b/Tests/Tutorial/Step4/MathFunctions/mysqrt.cxx
deleted file mode 100644
index 7d9379e..0000000
--- a/Tests/Tutorial/Step4/MathFunctions/mysqrt.cxx
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "MathFunctions.h"
-#include <iostream>
-
-// 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;
-}
diff --git a/Tests/Tutorial/Step4/TutorialConfig.h.in b/Tests/Tutorial/Step4/TutorialConfig.h.in
deleted file mode 100644
index e23f521..0000000
--- a/Tests/Tutorial/Step4/TutorialConfig.h.in
+++ /dev/null
@@ -1,4 +0,0 @@
-// the configured options and settings for Tutorial
-#define Tutorial_VERSION_MAJOR @Tutorial_VERSION_MAJOR@
-#define Tutorial_VERSION_MINOR @Tutorial_VERSION_MINOR@
-#cmakedefine USE_MYMATH
diff --git a/Tests/Tutorial/Step4/directions.txt b/Tests/Tutorial/Step4/directions.txt
deleted file mode 100644
index 91e4043..0000000
--- a/Tests/Tutorial/Step4/directions.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-# Installing and Testing #
-
-Now we can start adding testing support and install rules to our project.
-
-The install rules are fairly simple; for MathFunctions we install the library
-and header file, for the application we install the executable and configured
-header.
-
-So to MathFunctions/CMakeLists.txt we add:
-
- install (TARGETS MathFunctions DESTINATION bin)
- install (FILES MathFunctions.h DESTINATION include)
-
-And the to top-level CMakeLists.txt we add:
-
- install(TARGETS Tutorial DESTINATION bin)
- install(FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
- DESTINATION include
- )
-
-That is all that is needed to create a basic local install of the tutorial.
-
-Run cmake or cmake-gui to configure the project and then build it with your
-chosen build tool. Then build the “install” target by typing 'make install'
-from the command line or build the INSTALL target from an IDE. This will
-install the appropriate header files, libraries, and executables.
-
-Verify that the installed Tutorial runs. Note: The CMake variable
-CMAKE_INSTALL_PREFIX is used to determine the root of where the files will
-be installed.
-
-Next let's test our application. Adding testing is an easy process. At the
-end of the top-level CMakeLists file we can add a number of basic tests to
-verify that the application is working correctly.
-
- # enable testing
- enable_testing()
-
- # does the application run
- add_test(NAME Runs COMMAND Tutorial 25)
-
- # does the usage message work?
- add_test(NAME Usage COMMAND Tutorial)
- set_tests_properties(Usage
- PROPERTIES PASS_REGULAR_EXPRESSION "Usage:.*number"
- )
-
- # define a function to simplify adding tests
- function(do_test target arg result)
- add_test(NAME Comp${arg} COMMAND ${target} ${arg})
- set_tests_properties(Comp${arg}
- PROPERTIES PASS_REGULAR_EXPRESSION ${result}
- )
- endfunction(do_test)
-
- # do a bunch of result based tests
- do_test(Tutorial 25 "25 is 5")
- do_test(Tutorial -25 "-25 is [-nan|nan|0]")
- do_test(Tutorial 0.0001 "0.0001 is 0.01")
-
-The first test simply verifies that the application runs, does not segfault or
-otherwise crash, and has a zero return value. This is the basic form of a CTest
-test.
-
-The Usage test uses a regular expression to verify that the usage message
-is printed when an incorrect number of arguments are provided.
-
-Lastly, we have a function called do_test that simplifies running the
-application and verifying that the computed square root is correct for given
-input.
-
-To run tests, cd to the binary directory and run “ctest -N” and “ctest -VV”.
diff --git a/Tests/Tutorial/Step4/tutorial.cxx b/Tests/Tutorial/Step4/tutorial.cxx
deleted file mode 100644
index c2b89df..0000000
--- a/Tests/Tutorial/Step4/tutorial.cxx
+++ /dev/null
@@ -1,32 +0,0 @@
-// A simple program that computes the square root of a number
-#include <cmath>
-#include <iostream>
-#include <string>
-
-#include "TutorialConfig.h"
-
-#ifdef USE_MYMATH
-# include "MathFunctions.h"
-#endif
-
-int main(int argc, char* argv[])
-{
- if (argc < 2) {
- std::cout << argv[0] << " Version " << Tutorial_VERSION_MAJOR << "."
- << Tutorial_VERSION_MINOR << std::endl;
- std::cout << "Usage: " << argv[0] << " number" << std::endl;
- return 1;
- }
-
- double inputValue = std::stod(argv[1]);
-
-#ifdef USE_MYMATH
- double outputValue = mysqrt(inputValue);
-#else
- double outputValue = sqrt(inputValue);
-#endif
-
- std::cout << "The square root of " << inputValue << " is " << outputValue
- << std::endl;
- return 0;
-}