Files
pixelarium/Readme.org
T
m-aXimilian d6a08f7db3 Atomic woes, megalinter, and batches (#13)
* fix libCZI dependency w/ atomic woes

* add megalinter

* fix megalinter triggers

* use correct flavor

* build status in readme

* clang-format

* megalinter batch

* disable suggestions

set libCZI options before fetching

Set compile definitions for static libCZI
2026-02-16 20:36:48 +01:00

68 lines
2.3 KiB
Org Mode

#+options: author:t broken-links:nil c:nil creator:nil
#+options: timestamp:t title:t toc:t todo:t |:t
#+title: Pixelarium
#+subtitle: A Image Vizualizer based on DearImGUI
#+date: <2025-03-12 Wed>
#+author: Maximilian Kueffner
#+exclude_tags: noexport
[[https://github.com/m-aXimilian/pixelarium/actions/workflows/ci-workflow.yml][file:https://github.com/m-aXimilian/pixelarium/actions/workflows/ci-workflow.yml/badge.svg]]
[[https://github.com/m-aXimilian/pixelarium/actions/workflows/mega-linter.yml][file:https://github.com/m-aXimilian/pixelarium/actions/workflows/mega-linter.yml/badge.svg]]
* Synopsis
Pixelarium strives to be a batteries-included visualizer application used in conjunction with an externally implemented and linked arbitrary functionality.
It can be linked e.g. against a library containing arbitrary functionality. Pixelarium can support viewing the results and result files of such a library.
It tries to be as flexible as possible.
This is still work in progress and will change significantly.
* Prerequisites
Dependencies are either submodules in the =modules= subdirectory or artifacts of the cmake build process from the =cmake= directory. This repository should therefore be cloned recursively:
#+begin_src sh
git clone --recurse-submodules https://github.com/m-aXimilian/pixelarium.git
#+end_src
Apart from that, this project needs OpenCV installed on the host system and available for cmake's =find_package=.
* Building
Given that the prerequisites are fulfilled, building can be achieved via one of the presets or by calling cmake directly.
** Presets
Pixelarium has a few presets setting specific compilers and configurations defined in =CMakePresets.json=.
They can be listed by calling
#+begin_src sh :results raw :wrap src sh
cmake --list-presets
#+end_src
which will give something like
#+RESULTS:
#+begin_src sh
Available configure presets:
"clang-release"
"clang-debug"
"gcc-release"
"gcc-debug"
#+end_src
Building with the =clang-debug= preset would look like
#+begin_src sh
cmake --preset clang-debug
cmake --build --preset clang-debug
#+end_src
** Direct
If you want to specify compiler settings and options which are not defined in a preset, use cmake "directly" like
#+begin_src sh
cmake -B build -S .
cmake --build build
#+end_src
* TODO Example