The C++ code at the core of the Micro-Manager project.
If you are using a scripting language to control a microscope through the CMMCore object then you are likely looking for the CMMCore API
See https://micro-manager.org/Building_MM_on_Windows.
The easiest way to build on Mac or Linux is to clone the micro-manager repository and use this repo as a submodule.
Then follow the instructions for building micro-manager which will also build this repo.
You can avoid building the micro-manager parts and only build MMCore and the device adapters by using the following configure command: ./configure --without-java.
The other thing to note is that make install may require the use of sudo unless you used the --prefix= option for configure.
If you want to make changes to this repo then you need to update the submodule to point to your fork. After you set that up you can work in the submodule as if it were a standalone git repository.
From the top level of the micro-manager folder
git clone https://github.com/micro-manager/micro-manager.git
cd micro-manager
git submodule set-url mmCoreAndDevices <git url of your fork>
git submodule update --init --recursiveThis repo contains a justfile that runs a few tasks (currently for MMCore and MMDevice developers, and only using the upcoming Meson build system) using just. This can be useful for checking code changes to those modules.
To use it, you will need just, meson, and ninja installed. You can
install these however you like, including with homebrew, winget, or, using uv:
uv tool install ninja
uv tool install meson
uv tool install rust-justThen run just <COMMAND>. Or simply just to see the available commands.
Alternatively, for a one-line command that just builds and runs tests with nothing but uv installed:
uvx --from rust-just --with meson --with ninja just test