aboutsummaryrefslogtreecommitdiffhomepage
path: root/CMAKE.md
diff options
context:
space:
mode:
authorGravatar Gil <mcg@google.com>2017-12-06 16:10:59 -0800
committerGravatar GitHub <noreply@github.com>2017-12-06 16:10:59 -0800
commit32bdc38400258b24edb37990cc8cba057a3297de (patch)
tree1bf6bfda76e3fd5d0119d63d4544e9d6710ce264 /CMAKE.md
parentcb5f3efd3ab53561afd7de625d16d014d14374dd (diff)
Rework the top-level cmake build to be a superproject (#538)
All projects are now ExternalProjects This makes it much easier to build them all in a single pass.
Diffstat (limited to 'CMAKE.md')
-rw-r--r--CMAKE.md30
1 files changed, 26 insertions, 4 deletions
diff --git a/CMAKE.md b/CMAKE.md
index 09ce143..0ec1a94 100644
--- a/CMAKE.md
+++ b/CMAKE.md
@@ -16,6 +16,7 @@ the Mac App Store.
You can get other development tools via [homebrew](https://brew.sh). Adjust as
needed for other package managers.
+
```
brew install cmake
```
@@ -51,12 +52,33 @@ cd build
cmake ..
```
-## Testing
+You only need to do this once.
+
+## Initial Build
+
+The first build will download, compile all dependencies of the project, and run
+an initial battery of tests.
+
+To perform the initial build, you can use CMake
+
+```
+cmake --build .
+```
+
+or use the underlying build system, e.g.
+
+```
+make -j all
+```
+
+## Working with a Project
+
+Once the initial build has completed, you can work with a specific subproject
+to make changes and test just that project in isolation.
-Once CMake has run once, you can just run `make` repeatedly and it will
-regenerate Makefiles as needed.
+For example, to work with just Firestore,
-To build everything and run tests:
```
+cd build/Firestore
make -j all test
```