Skip to content

Commit 03a42b6

Browse files
committed
Add doc how to build external C libraries with CMake [skip ci]
1 parent e5d970b commit 03a42b6

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,35 @@ Note, the usage of a Modelica library requires a Modelica simulation environment
1212

1313
![ModelicaLibraries](Modelica/Resources/Images/UsersGuide/ModelicaLibraries.png)
1414

15+
## Building the external C libraries
16+
17+
CMake is recommended as build system, which usually consists of three steps for configuration, build and installation. For example,
18+
19+
```console
20+
git clone https://github.com/modelica/ModelicaStandardLibrary
21+
cd ModelicaStandardLibrary
22+
cmake -S ./Modelica/Resources -B .
23+
cmake --build .
24+
cmake --install .
25+
```
26+
27+
The following Modelica Standard Library specific options for building with CMake are available.
28+
29+
* `MODELICA_BUILD_TESTING:BOOL=ON`
30+
This flag enables the testsuite for CTest.
31+
* `MODELICA_BUILD_ZLIB:BOOL=ON`
32+
This flag enables the build of zlib dependency from source.
33+
* `MODELICA_COPY_TABLE_DATA:BOOL=ON`
34+
This flag avoids an undesired memory optimization of shallow-copying the passed table arrays.
35+
* `MODELICA_DEBUG_TIME_EVENTS:BOOL=OFF`
36+
This flag enables tracing of time events.
37+
* `MODELICA_DUMMY_FUNCTION_USERTAB:BOOL=OFF`
38+
This flag adds a dummy function "usertab".
39+
* `MODELICA_INSTALL_EXTC:BOOL=OFF`
40+
This flag also installs the ModelicaExternalC target.
41+
* `MODELICA_SHARE_TABLE_DATA:BOOL=ON`
42+
This flag enables the memory optimization of avoiding redundant copies of table arrays read from file.
43+
1544
## Current release
1645

1746
[Modelica Standard Library v4.1.0 (2025-05-23)](https://github.com/modelica/ModelicaStandardLibrary/releases/tag/v4.1.0)

0 commit comments

Comments
 (0)