From 6ec01ea117c6657e77b5eb36a684b3d2f99bf322 Mon Sep 17 00:00:00 2001 From: Jeff Preshing Date: Mon, 8 Feb 2016 20:08:18 -0500 Subject: [PATCH] Improve integration steps in README --- README.md | 18 ++++++++++++++---- docs/install-folder.png | Bin 0 -> 6305 bytes 2 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 docs/install-folder.png diff --git a/README.md b/README.md index c60c8e3..1bf35ac 100644 --- a/README.md +++ b/README.md @@ -58,15 +58,25 @@ Some developers will prefer approach #3, but I encourage you to try approach #1 If your project is already based on CMake, clone the Junction and Turf source trees somewhere, then call `add_subdirectory` on Junction's root folder from your own CMake script. This will add both Junction and Turf targets to your build system. -If you use Git, you can add the Junction and Turf repositories as submodules. Otherwise, you can just copy the Junction and Turf source trees to your repository. - -[FIXME: Create a repository with a sample project that demonstrates this.] +For a simple example, see the [junction-sample](https://github.com/preshing/junction-sample) repository. ### Building the Libraries Separately Generate Junction's build system using the steps described in the *Getting Started* section, then use it to build the libraries you need. Add these to your own build system. Make sure to generate static libraries to avoid linking parts of the library that aren't needed. -[FIXME: Use CMake's install feature to generate a clean output tree, so users don't have to fiddle with include and library paths too much.] +If you build the `install` target provided by Junction's CMake script, the build system will output a clean folder containing only the headers and libs that you need. You can add this to your own project using a single include path. Choose the output directory by specifying the `CMAKE_INSTALL_PREFIX` variable to CMake. Additionally, you can specify `JUNCTION_WITH_SAMPLES=OFF` to avoid building the samples. For example: + + $ cmake -DCMAKE_INSTALL_PREFIX=~/junction-install -DJUNCTION_WITH_SAMPLES=OFF .. + $ cmake --build . --target install --config RelWithDebInfo + +Notes: + +* Instead of running the second `cmake` command, which runs the build system, you could run your build system directly. For example, `make install` on Unix, or build the INSTALL project in Visual Studio. +* If using makefiles, you'll probably want to pass the additional option `-DCMAKE_BUILD_TYPE=RelWithDebInfo` to the first `cmake` command. + +This will create the following file structure: + +![Install folder](/docs/install-folder.png) ## Configuration diff --git a/docs/install-folder.png b/docs/install-folder.png new file mode 100644 index 0000000000000000000000000000000000000000..216bf972eb51f4c363c156b21fef5d3ea35f2553 GIT binary patch literal 6305 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 oJ<_H4S91j~bYI@Mamfj+5Uz