Compare commits
2 Commits
40bab85440
...
main
Author | SHA1 | Date | |
---|---|---|---|
a6e575962e
|
|||
e2564d1ea8
|
@ -1,14 +1,11 @@
|
|||||||
cmake_minimum_required(VERSION 3.10)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(Tutorial)
|
project(
|
||||||
# TODO 7: Set the project version number as 1.0 in the above project command
|
Tutorial
|
||||||
|
VERSION 1.0
|
||||||
# TODO 6: Set the variable CMAKE_CXX_STANDARD to 11
|
)
|
||||||
# and the variable CMAKE_CXX_STANDARD_REQUIRED to True
|
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
||||||
|
|
||||||
# TODO 8: Use configure_file to configure and copy TutorialConfig.h.in to
|
configure_file(TutorialConfig.h.in TutorialConfig.h)
|
||||||
# TutorialConfig.h
|
|
||||||
|
|
||||||
add_executable(Tutorial tutorial.cxx)
|
add_executable(Tutorial tutorial.cxx)
|
||||||
# TODO 9: Use target_include_directories to include ${PROJECT_BINARY_DIR}
|
target_include_directories(Tutorial PUBLIC ${PROJECT_BINARY_DIR})
|
@ -1,2 +1,4 @@
|
|||||||
// the configured options and settings for Tutorial
|
// the configured options and settings for Tutorial
|
||||||
// TODO 10: Define Tutorial_VERSION_MAJOR and Tutorial_VERSION_MINOR
|
// TODO 10: Define Tutorial_VERSION_MAJOR and Tutorial_VERSION_MINOR
|
||||||
|
#define Tutorial_VERSION_MAJOR @Tutorial_VERSION_MAJOR@
|
||||||
|
#define Tutorial_VERSION_MINOR @Tutorial_VERSION_MINOR@
|
@ -4,13 +4,12 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
// TODO 11: Include TutorialConfig.h
|
#include "TutorialConfig.h"
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
if (argc < 2) {
|
if (argc < 2) {
|
||||||
// TODO 12: Create a print statement using Tutorial_VERSION_MAJOR
|
std::cout << argv[0] << " V " << Tutorial_VERSION_MAJOR << "." << Tutorial_VERSION_MINOR << std::endl;
|
||||||
// and Tutorial_VERSION_MINOR
|
|
||||||
std::cout << "Usage: " << argv[0] << " number" << std::endl;
|
std::cout << "Usage: " << argv[0] << " number" << std::endl;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -11,15 +11,17 @@ set(CMAKE_CXX_STANDARD_REQUIRED True)
|
|||||||
# to the source code
|
# to the source code
|
||||||
configure_file(TutorialConfig.h.in TutorialConfig.h)
|
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 the executable
|
||||||
add_executable(Tutorial tutorial.cxx)
|
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()
|
target_include_directories(Tutorial PUBLIC
|
||||||
# Hint: ${PROJECT_SOURCE_DIR} is a path to the project source. AKA This folder!
|
"${PROJECT_BINARY_DIR}"
|
||||||
|
"${PROJECT_SOURCE_DIR}/MathFunctions"
|
||||||
|
)
|
||||||
|
|
||||||
# add the binary tree to the search path for include files
|
# add the binary tree to the search path for include files
|
||||||
# so that we will find TutorialConfig.h
|
# so that we will find TutorialConfig.h
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
# TODO 14: Remove mysqrt.cxx from the list of sources
|
# TODO 14: Remove mysqrt.cxx from the list of sources
|
||||||
|
|
||||||
# TODO 1: Add a library called MathFunctions with sources MathFunctions.cxx
|
|
||||||
# and mysqrt.cxx
|
add_library(MathFunctions MathFunctions.cxx mysqrt.cxx)
|
||||||
# Hint: You will need the add_library command
|
|
||||||
|
|
||||||
# TODO 7: Create a variable USE_MYMATH using option and set default to ON
|
# TODO 7: Create a variable USE_MYMATH using option and set default to ON
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
// TODO 5: Include MathFunctions.h
|
#include "MathFunctions/MathFunctions.h"
|
||||||
#include "TutorialConfig.h"
|
#include "TutorialConfig.h"
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
@ -19,10 +19,8 @@ int main(int argc, char* argv[])
|
|||||||
// convert input to double
|
// convert input to double
|
||||||
const double inputValue = std::stod(argv[1]);
|
const double inputValue = std::stod(argv[1]);
|
||||||
|
|
||||||
// TODO 6: Replace sqrt with mathfunctions::sqrt
|
|
||||||
|
|
||||||
// calculate square root
|
// calculate square root
|
||||||
const double outputValue = sqrt(inputValue);
|
const double outputValue = mathfunctions::sqrt(inputValue);
|
||||||
std::cout << "The square root of " << inputValue << " is " << outputValue
|
std::cout << "The square root of " << inputValue << " is " << outputValue
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user