diff --git a/Step2/CMakeLists.txt b/Step2/CMakeLists.txt index 0a06ed7..379f7c1 100644 --- a/Step2/CMakeLists.txt +++ b/Step2/CMakeLists.txt @@ -11,15 +11,17 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) # to the source code configure_file(TutorialConfig.h.in TutorialConfig.h) -# TODO 2: Use add_subdirectory() to add MathFunctions to this project +add_subdirectory(MathFunctions) # add the executable add_executable(Tutorial tutorial.cxx) -# TODO 3: Use target_link_libraries to link the library to our executable +target_link_libraries(Tutorial PUBLIC MathFunctions) -# TODO 4: Add MathFunctions to Tutorial's target_include_directories() -# Hint: ${PROJECT_SOURCE_DIR} is a path to the project source. AKA This folder! +target_include_directories(Tutorial PUBLIC + "${PROJECT_BINARY_DIR}" + "${PROJECT_SOURCE_DIR}/MathFunctions" +) # add the binary tree to the search path for include files # so that we will find TutorialConfig.h diff --git a/Step2/MathFunctions/CMakeLists.txt b/Step2/MathFunctions/CMakeLists.txt index c3cd806..197a69f 100644 --- a/Step2/MathFunctions/CMakeLists.txt +++ b/Step2/MathFunctions/CMakeLists.txt @@ -1,8 +1,7 @@ # TODO 14: Remove mysqrt.cxx from the list of sources -# TODO 1: Add a library called MathFunctions with sources MathFunctions.cxx -# and mysqrt.cxx -# Hint: You will need the add_library command + +add_library(MathFunctions MathFunctions.cxx mysqrt.cxx) # TODO 7: Create a variable USE_MYMATH using option and set default to ON diff --git a/Step2/tutorial.cxx b/Step2/tutorial.cxx index 7a2a595..fc0ca62 100644 --- a/Step2/tutorial.cxx +++ b/Step2/tutorial.cxx @@ -3,7 +3,7 @@ #include #include -// TODO 5: Include MathFunctions.h +#include "MathFunctions/MathFunctions.h" #include "TutorialConfig.h" int main(int argc, char* argv[]) @@ -19,10 +19,8 @@ int main(int argc, char* argv[]) // convert input to double const double inputValue = std::stod(argv[1]); - // TODO 6: Replace sqrt with mathfunctions::sqrt - // calculate square root - const double outputValue = sqrt(inputValue); + const double outputValue = mathfunctions::sqrt(inputValue); std::cout << "The square root of " << inputValue << " is " << outputValue << std::endl; return 0;