A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/alandefreitas/matplotplusplus/commit/3647374cc30698e657266979cc505c650ff0f91a below:

Add Presets for Installation · alandefreitas/matplotplusplus@3647374 · GitHub

File tree Expand file treeCollapse file tree 2 files changed

+127

-0

lines changed

Filter options

Expand file treeCollapse file tree 2 files changed

+127

-0

lines changed Original file line number Diff line number Diff line change

@@ -0,0 +1,62 @@

1 +

{

2 +

"version": 3,

3 +

"cmakeMinimumRequired": {

4 +

"major": 3,

5 +

"minor": 19,

6 +

"patch": 0

7 +

},

8 +

"configurePresets": [

9 +

{

10 +

"name": "dev",

11 +

"displayName": "Development Mode",

12 +

"description": "Build with warnings and debug symbols",

13 +

"binaryDir": "build",

14 +

"generator": "Unix Makefiles",

15 +

"cacheVariables": {

16 +

"CMAKE_BUILD_TYPE": "RelWithDebInfo"

17 +

}

18 +

},

19 +

{

20 +

"name": "system",

21 +

"displayName": "Build for system installation",

22 +

"description": "Bulid for system installation (BUILD_EXAMPLES and BUILD_TESTS are OFF)",

23 +

"binaryDir": "${sourceDir}/build/system",

24 +

"generator": "Unix Makefiles",

25 +

"cacheVariables": {

26 +

"BUILD_EXAMPLES": "OFF",

27 +

"BUILD_TESTS": "OFF",

28 +

"BUILD_SHARED_LIBS": "ON",

29 +

"CMAKE_BUILD_TYPE": "Release",

30 +

"CMAKE_INTERPROCEDURAL_OPTIMIZATION": "ON"

31 +

}

32 +

},

33 +

{

34 +

"name": "local",

35 +

"displayName":"Build for installation in $HOME/.local",

36 +

"description": "Build for installaton in $HOME/.local",

37 +

"inherits": "system",

38 +

"binaryDir": "${sourceDir}/build/local",

39 +

"installDir": "$env{HOME}/.local"

40 +

}

41 +

],

42 +

"buildPresets": [

43 +

{

44 +

"name": "dev",

45 +

"configurePreset": "dev",

46 +

"configuration": "RelWithDebInfo",

47 +

"jobs": 8

48 +

},

49 +

{

50 +

"name": "system",

51 +

"configurePreset": "system",

52 +

"configuration": "Release",

53 +

"jobs": 8

54 +

},

55 +

{

56 +

"name": "local",

57 +

"configurePreset": "local",

58 +

"configuration": "Release",

59 +

"jobs": 8

60 +

}

61 +

]

62 +

}

Original file line number Diff line number Diff line change

@@ -210,6 +210,71 @@ Add this header to your source files:

210 210 211 211

However, in larger projects, it's always recommended to look for Matplot++ with `find_package` before including it as a subdirectory to avoid [ODR errors](https://en.wikipedia.org/wiki/One_Definition_Rule).

212 212 213 +

#### Install as a Package via CMake

214 + 215 +

If you have CMake 3.21 or greater, you can use the `system` build preset to

216 +

build the package system-wide:

217 + 218 +

```bash

219 +

cmake --preset=system

220 +

cmake --build --preset=system

221 +

sudo cmake --install build/system

222 +

```

223 + 224 +

Alternatively, if the `CMAKE_PREFIX_PATH` environment variable is set to

225 +

`$HOME/.local`, then you can install it locally. This can be set in `/etc/profile`

226 +

or your shell config. This will not affect discovery of packages installed

227 +

system-wide.

228 + 229 +

```bash

230 +

export CMAKE_PREFIX_PATH="$HOME/.local"

231 +

```

232 + 233 +

This has the advantage of not

234 +

requiring sudo, and matplotplusplus will be installed in `$HOME/.local`.

235 + 236 +

```bash

237 +

cmake --preset=local

238 +

cmake --build --preset=local

239 +

cmake --install build/local

240 +

```

241 + 242 +

You can now use it from CMake with `find_package`:

243 + 244 +

```cmake

245 +

find_package(Matplot++ REQUIRED)

246 + 247 +

target_link_libraries(<your target> Matplot++::matplot)

248 +

```

249 + 250 +

If you're using a version of CMake too old to support presets, then building with

251 +

the system preset is equivilant to:

252 + 253 +

```bash

254 +

cmake -B build/system \

255 +

-DBUILD_EXAMPLES=OFF \

256 +

-DBUILD_SHARED_LIBS=ON \

257 +

-DBUILD_TESTS=OFF \

258 +

-CMAKE_BUILD_TYPE=Release \

259 +

-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON

260 + 261 +

cmake --build build/system

262 +

```

263 + 264 +

While building with the local preset is equivilant to:

265 + 266 +

```bash

267 +

cmake -B build/local \

268 +

-DBUILD_EXAMPLES=OFF \

269 +

-DBUILD_SHARED_LIBS=ON \

270 +

-DBUILD_TESTS=OFF \

271 +

-DCMAKE_BUILD_TYPE=Release \

272 +

-DCMAKE_INSTALL_PREFIX="$HOME/.local" \

273 +

-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON

274 + 275 +

cmake --build build/local

276 +

```

277 + 213 278

#### Embed with automatic download

214 279 215 280

`FetchContent` is a CMake command that can automatically download the Matplot++ repository. Check if you have [Cmake](http://cmake.org) 3.14+ installed:

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4