libcimpp is a deserialiser library for C++ objects from XML/RDF documents based on the Common Information Model (CIM) standards (i.e. IEC61970/61968/62325) and CGMES for the energy sector. It is part of the CIM++ project. More on CIM++ can be found here.
Supported CIM / CGMES versions:
limcimpp uses arabica as cross platform wrapper around one of the XML parsers listed in the dependencies (see below). It is recommended to use libcimpp as cmake module.
You need following software packages for libcimpp:
- One of the following XML parsers:
- libxml2 (usually chosen under Linux and often can be installed as a package of the used distribution)
- Xerces
- Microsoft XML Parser (this one is used per default when building with MS Visual Studio)
- Build system:
After getting the Git repository, create a build subdirectory and change into it:
mkdir build
cd build
For building libcimpp with the default CIM version, type:
cmake ..
make -j 4
For building libcimpp with a certain CIM version (e.g. CGMES_2.4.15_27JAN2020
), type:
cmake .. -DUSE_CIM_VERSION=CGMES_2.4.15_27JAN2020
make -j 4
All available CIM versions are listed in the CMakeLists.txt
- After getting the Git repository, create a
build
subdirectory. - Run the Windows CMake (GUI)
- Set the
- source code directory, e.g.:
C:/git/libcimpp
- build directory, e.g.:
C:/git/libcimpp/build
- Click on
Configure
and choose the Visual Studio project version, e.g.:Visual Studio 15 2017
- Click on
Finish
and wait while CMake is configuring the project. - Click on
Generate
to generate the Visual Studio project files. - Click on
Open Project
to open the project in Visual Studio. - In Visual Studio's main menu choose
Build -> Build Solution
. This will build thelibcimpp
library.
For information on how to use the library please see the cmake based example in examples/cmake. Building the example is just like building the library itself using cmake. The make example is currently not supported due to the lack of an install target for arabica.
This project is released under the terms of the Apache License 2.0.