openplan is a C++ library and XML-based file format for describing building structure — rooms, walls, floors, doors, and devices — for use in home automation, simulation, and visualization. it is compatible with open street map simple indoor tagging and the JOSM tool.
To build the project, you need:
- A C++17 compiler (e.g.
g++orclang++) - CMake 3.10 or newer
pkg-config- Cairo development libraries (for drawing floor plans)
- Git (to fetch dependencies)
On Debian/Ubuntu, install dependencies with:
sudo apt install build-essential cmake pkg-config libcairo2-devClone the repository and build using CMake:
git clone https://github.com/your-username/openplan.git
cd openplan
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build buildThis will:
- Build the core openplan_lib library
- Build the openplan main program (if present)
- Build and run the unit tests using Google Test
To run tests:
cd build
ctestThe library can render floor plans using Cairo to various formats:
- PNG (bitmap image)
- SVG
- PostScript
This project is licensed under the MIT License.
© 2025 Tomaz Stih. All rights reserved.