|
1 | | -# CMake Project template |
| 1 | +# Shared memory format |
2 | 2 |
|
3 | | -This repository is a template for CMake C++ Projects. |
| 3 | +Read values with specified data type from shared memory. |
4 | 4 |
|
5 | | -## Supported Compiilers |
| 5 | +## Dependencies |
| 6 | +- cxxopts by jarro2783 (https://github.com/jarro2783/cxxopts) (only required for building the application) |
| 7 | +- json by nlohmann (https://github.com/nlohmann/json) |
| 8 | +- cxxshm (https://github.com/NikolasK-source/cxxshm) |
| 9 | +- cxxsemaphore (https://github.com/NikolasK-source/cxxsemaphore) |
6 | 10 |
|
7 | | - - gcc |
8 | | - - clang |
9 | | - |
10 | | -## Project structure |
11 | | - |
12 | | -### Directory src |
13 | | -Use this directory for all source files of the project. |
14 | | - |
15 | | -### Directory libs |
16 | | -Place libraries here. This directory is added to the include path. |
17 | | - |
18 | | -### Directory test |
19 | | -Place any test-related sources here. |
20 | | - |
21 | | -## Scripts |
22 | | - |
23 | | -### check_format.sh |
24 | | -This script checks all ```*.cpp``` and ```*.hpp``` files for conformity with the file ```.clang-format```. |
25 | | - |
26 | | -### format.sh |
27 | | -This script formats all ```*.cpp``` and ```*.hpp``` files in the src directory with clang format. |
28 | | -The files are changed by it! |
29 | | - |
30 | | -### gen_version_info_cpp.sh |
31 | | -This script generates version information files. |
32 | | -It is called automatically when the target is built. |
33 | | - |
34 | | -## Options |
35 | | - |
36 | | -### Target |
37 | | -The name of the executable that is generated. |
38 | | - |
39 | | -### STANDARD |
40 | | -The minimum required C++ standard: 98, 03, 11, 14, 17, 20 |
41 | | - |
42 | | -### ARCHITECTURE |
43 | | -The CPU architecture for which the code is generated. |
44 | | -It is only relevant if the option ```OPTIMIZE_FOR_ARCHITECTURE``` is enabled. |
45 | | - |
46 | | -### BUILD_DOC |
47 | | -Enables the automatic generation of a doxygen documentation. |
48 | | -Doxygen must be installed on the system and a ```Doxyfile.in``` file must be provided. |
49 | | -An additional CMake target is created. |
50 | | - |
51 | | -### COMPILER_WARNINGS |
52 | | -Enable/Disable compiler warnings. |
53 | | -Should never be disabled by default! |
54 | | - |
55 | | -### ENABLE_MULTITHREADING |
56 | | -Link the default multithreading library for the current target system. |
57 | | -Prefers ```pthread``` if available. |
58 | | - |
59 | | -### MAKE_32_BIT_BINARY |
60 | | -Forces the compiler to generate a 32 bit application by setting the ```-m32``` flag. |
61 | | - |
62 | | -### OPENMP |
63 | | -Enables the support for openmp. |
64 | | - |
65 | | -### OPTIMIZE_DEBUG |
66 | | -Enables Optimization ```-O3``` also in debug configuration. |
67 | | -Should only be enabled if the resulting binary is too slow. |
68 | | - |
69 | | -### CLANG_FORMAT |
70 | | -Enable automatic formatting via clang-format. |
71 | | -An additional CMake target is created. |
72 | | - |
73 | | -### CLANG_TIDY |
74 | | -Enable static code checks with clang tidy. |
75 | | -An additional CMake target is created. |
76 | | - |
77 | | -### LTO_ENABLED |
78 | | -Enable interprocedural and link time optimizations. |
79 | | - |
80 | | -### COMPILER_EXTENSIONS |
81 | | -Enable compiler specific C++ extensions. |
82 | | -Should be disabled for reasons of portability. |
83 | | - |
84 | | -### ENABLE_TEST |
85 | | -Enable tests. |
86 | 11 |
|
0 commit comments