@@ -90,13 +90,13 @@ def generate(out_dir: Path) -> None:
9090README_MD = '''\
9191 # processing-cpp (CMake package)
9292
93- This is [Processing](https://processing.org)'s API -- `size()`, `ellipse()`,
94- `mouseX`, `draw()`, and the rest of it -- implemented natively in C++,
93+ This is [Processing](https://processing.org)'s API — `size()`, `ellipse()`,
94+ `mouseX`, `draw()`, and the rest of it — implemented natively in C++,
9595packaged as a normal CMake target. There's no Processing IDE involved, no
9696`.pde` files, and no transpiler.
9797
9898If you're not using CMake, there's a separate drag-and-drop release built
99- for that instead -- look for `processing-cpp-dragdrop.zip` on the same
99+ for that instead — look for `processing-cpp-dragdrop.zip` on the same
100100page you got this from, or check the project's repository. That one
101101needs no build system at all; this one assumes you already have CMake.
102102
@@ -125,18 +125,18 @@ def generate(out_dir: Path) -> None:
125125You inherit from `PApplet`, override whichever lifecycle methods you need,
126126and call `.run()` in `main()`. Everything in the
127127[Processing reference](https://processing.org/reference) is available as
128- a member you inherit, so it's unqualified inside your overrides -- no
128+ a member you inherit, so it's unqualified inside your overrides, no
129129`Processing::` prefix needed there. A helper class that *isn't* a
130130`PApplet` (e.g. a `Particle`) needs one `using namespace Processing;` near
131- the top of its own file to call these -- `examples/embedding/` shows this.
131+ the top of its own file to call these — `examples/embedding/` shows this.
132132
133133## Adding it to your project
134134
135135Pick whichever of these matches how you manage dependencies. All three
136136end up giving you the same `processing_cpp` CMake target, with
137137GLFW/GLEW/OpenGL discovery and every platform-specific link flag
138138(`-framework OpenGL` on macOS, `-mwindows` on Windows, and so on) already
139- attached to it -- so the rest of your `CMakeLists.txt` doesn't need to
139+ attached to it, so the rest of your `CMakeLists.txt` doesn't need to
140140know any of that exists.
141141
142142### Vendored: copy this folder into your repo
@@ -161,7 +161,7 @@ def generate(out_dir: Path) -> None:
161161```
162162
163163This only works once this package's contents live in a git repo somewhere
164- reachable by URL -- FetchContent clones it the same way `git clone` would.
164+ reachable by URL — FetchContent clones it the same way `git clone` would.
165165If this folder hasn't been pushed anywhere yet, use one of the other two
166166options below instead in the meantime.
167167
@@ -178,12 +178,12 @@ def generate(out_dir: Path) -> None:
178178target_link_libraries(my_sketch PRIVATE processing_cpp::processing_cpp)
179179```
180180
181- Note the `processing_cpp::` prefix here -- it's different from the other
181+ Note the `processing_cpp::` prefix here, it's different from the other
182182two methods above, which both use the bare `processing_cpp` name. That's
183183intentional, not an inconsistency to work around: CMake convention
184184namespaces targets that come from an installed, `find_package`-located
185185package specifically so they can't collide with some other unrelated
186- package's target of the same name on your system; `add_subdirectory` and
186+ package's target of the same name on your system. `add_subdirectory` and
187187`FetchContent` build the target directly in your own project, where that
188188collision risk doesn't apply, so the plain name is fine there.
189189
@@ -214,14 +214,14 @@ def generate(out_dir: Path) -> None:
214214`cmake configure` can be a surprising thing to have happen silently.
215215
216216Worth knowing before relying on this: building GLFW from source still
217- needs *something* installed on Linux -- either the X11 development
217+ needs *something* installed on Linux, either the X11 development
218218headers (e.g. Ubuntu/Debian's `xorg-dev` package, which pulls in
219219`libxrandr-dev`, `libxinerama-dev`, `libxcursor-dev`, `libxi-dev`) or, if
220220you set `-DGLFW_BUILD_WAYLAND=ON` yourself, the Wayland equivalents
221221(`libwayland-dev`, `libxkbcommon-dev`, `wayland-protocols`). This
222222`CMakeLists.txt` builds for X11 by default when fetching from source,
223223since it's the more universally available baseline on Linux, but X11's
224- own dev headers are still a real, separate thing to have installed --
224+ own dev headers are still a real, separate thing to have installed.
225225`PROCESSING_CPP_FETCH_DEPS=ON` fetches GLFW's *source*, not a magic
226226zero-dependency build. If you hit a build error inside `_deps/glfw3_fetched-src`,
227227installing the prebuilt `libglfw3-dev`/`libglew-dev` packages directly
@@ -236,7 +236,7 @@ def generate(out_dir: Path) -> None:
236236```
237237
238238- **`examples/bouncing_ball.cpp`** is the sketch shown above, with a
239- little more in it -- an orange ball bouncing around the window.
239+ little more in it — an orange ball bouncing around the window.
240240- **`examples/embedding/`** shows how to drop a sketch into a project
241241 that already exists, without the rest of that project ever needing to
242242 know GLFW, GLEW, or `PApplet` exist. The `PApplet` subclass and the
@@ -248,26 +248,26 @@ def generate(out_dir: Path) -> None:
248248
249249The engine is licensed under the **GNU Lesser General Public License
250250v2.1** (see `LICENSE`). LGPL is meant to allow linking from proprietary
251- software, unlike plain GPL, but it does come with real obligations --
252- notably around static linking. `processing_cpp` is a `STATIC` library in
251+ software, unlike plain GPL, but it comes with real obligations, notably
252+ around static linking. `processing_cpp` is a `STATIC` library in
253253this `CMakeLists.txt`, meaning it gets compiled into your sketch's
254254binary directly rather than loaded as a separate shared library. LGPL
2552552.1 requires that anyone you distribute that binary to be able to relink
256- it against a modified version of the engine -- in practice, that means
256+ it against a modified version of the engine, in practice, that means
257257making the engine's object files (or this source) available alongside
258258your binary, not just the binary itself. Building `processing_cpp` as a
259- `SHARED` library instead would change this; that 's not how this
259+ `SHARED` library instead would change this. That 's not how this
260260`CMakeLists.txt` is currently set up, but it's a legitimate way to avoid
261261the static-linking obligation if it matters for your project.
262262
263263This isn't legal advice, and the specifics depend on how you're
264- distributing your project -- read `LICENSE` itself, and talk to an actual
264+ distributing your project. Read `LICENSE` itself, and talk to an actual
265265lawyer if it matters for what you're shipping. It's flagged here mainly
266266so it doesn't come as a surprise after the fact.
267267
268268`include/stb_image.h`, `stb_image_write.h`, and `stb_truetype.h` are
269269bundled third-party libraries (by Sean Barrett and contributors), not
270- part of the engine -- they 're each dual-licensed under MIT or public
270+ part of the engine. They 're each dual-licensed under MIT or public
271271domain (your choice), which is unrestricted enough that it doesn't add
272272anything beyond what's already true of the LGPL 2.1 engine itself. Their
273273full license text is included at the bottom of each of those files.
@@ -276,7 +276,7 @@ def generate(out_dir: Path) -> None:
276276
277277This release is built by `scripts/generate_cmake.py` in the main CppMode
278278repo, and it's generated directly from that repo's real engine source
279- (`src/Processing.h`, `src/Processing.cpp`) -- the very same code CppMode's
279+ (`src/Processing.h`, `src/Processing.cpp`), the very same code CppMode's
280280Processing IDE plugin compiles your sketches against.
281281'''
282282
0 commit comments