Skip to content

micro-manager/mmCoreAndDevices

Repository files navigation

mmCoreAndDevices

The C++ code at the core of the Micro-Manager project.

API Docs

Main Page

If you are using a scripting language to control a microscope through the CMMCore object then you are likely looking for the CMMCore API

Building on Windows

See https://micro-manager.org/Building_MM_on_Windows.

Building on Mac and Linux

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.

Using your own fork

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 --recursive

Using the justfile

This 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-just

Then 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

About

Micro-Manager's device control layer, written in C++

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 69