mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-09 18:09:02 -05:00
Help: Populate tutorial guide text
Migrate tutorial text from individual `directions.txt` files to the main tutorial document. Add some comments to source code to provide anchors for inclusion.
This commit is contained in:
@@ -3,7 +3,7 @@ project(Tutorial)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
|
||||
# the version number.
|
||||
# set the version number
|
||||
set(Tutorial_VERSION_MAJOR 1)
|
||||
set(Tutorial_VERSION_MINOR 0)
|
||||
|
||||
|
||||
@@ -25,5 +25,6 @@ target_include_directories(MathFunctions
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
# install rules
|
||||
install(TARGETS MathFunctions DESTINATION lib)
|
||||
install(FILES MathFunctions.h DESTINATION include)
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
# Building an Installer #
|
||||
|
||||
Next suppose that we want to distribute our project to other people so that they
|
||||
can use it. We want to provide both binary and source distributions on a variety
|
||||
of platforms. This is a little different from the install we did previously in
|
||||
the Installing and Testing section (Step 4), where we were installing the
|
||||
binaries that we had built from the source code. In this example we will be
|
||||
building installation packages that support binary installations and package
|
||||
management features. To accomplish this we will use CPack to create platform
|
||||
specific installers. Specifically we need to add a few lines to the bottom of
|
||||
our top-level CMakeLists.txt file.
|
||||
|
||||
include(InstallRequiredSystemLibraries)
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR "${Tutorial_VERSION_MAJOR}")
|
||||
set(CPACK_PACKAGE_VERSION_MINOR "${Tutorial_VERSION_MINOR}")
|
||||
include(CPack)
|
||||
|
||||
That is all there is to it. We start by including InstallRequiredSystemLibraries.
|
||||
This module will include any runtime libraries that are needed by the project
|
||||
for the current platform. Next we set some CPack variables to where we have
|
||||
stored the license and version information for this project. The version
|
||||
information makes use of the variables we set earlier in this tutorial. Finally
|
||||
we include the CPack module which will use these variables and some other
|
||||
properties of the system you are on to setup an installer.
|
||||
|
||||
The next step is to build the project in the usual manner and then run CPack
|
||||
on it. To build a binary distribution you would run:
|
||||
|
||||
cpack
|
||||
|
||||
To create a source distribution you would type:
|
||||
|
||||
cpack -C CPackSourceConfig.cmake
|
||||
|
||||
Alternatively, run “make package” or right click the Package target and
|
||||
“Build Project” from an IDE.
|
||||
|
||||
Run the installer executable found in the binary directory. Then run the
|
||||
installed executable and verify that it works.
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "TutorialConfig.h"
|
||||
|
||||
// should we include the MathFunctions header?
|
||||
#ifdef USE_MYMATH
|
||||
# include "MathFunctions.h"
|
||||
#endif
|
||||
@@ -12,6 +13,7 @@
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (argc < 2) {
|
||||
// report version
|
||||
std::cout << argv[0] << " Version " << Tutorial_VERSION_MAJOR << "."
|
||||
<< Tutorial_VERSION_MINOR << std::endl;
|
||||
std::cout << "Usage: " << argv[0] << " number" << std::endl;
|
||||
@@ -20,6 +22,7 @@ int main(int argc, char* argv[])
|
||||
|
||||
double inputValue = std::stod(argv[1]);
|
||||
|
||||
// which square root function should we use?
|
||||
#ifdef USE_MYMATH
|
||||
double outputValue = mysqrt(inputValue);
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user