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) for the energy sector. It is part of the CIM++ project. More on CIM++ can be found here.
CIM C++ Codebases adaptiert durch CIM++ Originale CIM Versionen
IEC61970_16v29a_IEC61968_12v08
limcimpp uses arabica as cross platform wrapper around one of the XML parsers listed int 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)
- expat
- Xerces
- Microsoft XML Parser (this one is used per default when building with MS Visual Studio)
- Build system:
git clone https://github.com/RWTH-ACS/libcimpp.git
cd libcimpp
git submodule update --init --recursive
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. IEC61970_16v29a
), type:
cmake .. -DUSE_CIM_VERSION=IEC61970_16v29a
make -j 4
All available CIM versions can be determined 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.
To be continued...
For information how to use the library please see the cmake based example.
Building of the example can be performed analogous to bulding the library itself (as described in the Build instructions above).
The pure make example is currently not supported due to the lack of an install target for arabica.