summaryrefslogtreecommitdiffstats
path: root/Help/guide/importing-exporting/DownstreamComponents
diff options
context:
space:
mode:
Diffstat (limited to 'Help/guide/importing-exporting/DownstreamComponents')
-rw-r--r--Help/guide/importing-exporting/DownstreamComponents/CMakeLists.txt18
-rw-r--r--Help/guide/importing-exporting/DownstreamComponents/main.cc28
2 files changed, 46 insertions, 0 deletions
diff --git a/Help/guide/importing-exporting/DownstreamComponents/CMakeLists.txt b/Help/guide/importing-exporting/DownstreamComponents/CMakeLists.txt
new file mode 100644
index 0000000..88b46c8
--- /dev/null
+++ b/Help/guide/importing-exporting/DownstreamComponents/CMakeLists.txt
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 3.15)
+project(DownstreamComponents)
+
+# specify the C++ standard
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED True)
+
+# find MathFunctions
+find_package(MathFunctions 3.4 COMPONENTS Addition SquareRoot)
+
+# create executable
+add_executable(myexe main.cc)
+
+# use MathFunctions library
+target_link_libraries(myexe PRIVATE MathFunctions::Addition MathFunctions::SquareRoot)
+
+# Workaround for GCC on AIX to avoid -isystem, not needed in general.
+set_property(TARGET myexe PROPERTY NO_SYSTEM_FROM_IMPORTED 1)
diff --git a/Help/guide/importing-exporting/DownstreamComponents/main.cc b/Help/guide/importing-exporting/DownstreamComponents/main.cc
new file mode 100644
index 0000000..f5e8fa6
--- /dev/null
+++ b/Help/guide/importing-exporting/DownstreamComponents/main.cc
@@ -0,0 +1,28 @@
+// A simple program that outputs the square root of a number
+#include <iostream>
+#include <string>
+
+#include "Addition.h"
+#include "SquareRoot.h"
+
+int main(int argc, char* argv[])
+{
+ if (argc < 2) {
+ std::cout << "Usage: " << argv[0] << " number" << std::endl;
+ return 1;
+ }
+
+ // convert input to double
+ const double inputValue = std::stod(argv[1]);
+
+ // calculate square root
+ const double sqrt = MathFunctions::sqrt(inputValue);
+ std::cout << "The square root of " << inputValue << " is " << sqrt
+ << std::endl;
+
+ // calculate sum
+ const double sum = MathFunctions::add(inputValue, inputValue);
+ std::cout << inputValue << " + " << inputValue << " = " << sum << std::endl;
+
+ return 0;
+}