Skip to content

Install the binaries to a prefix instead of running from the build tree - #23

Merged
mikelangmayr merged 4 commits into
mainfrom
mike/install-rules
Sep 16, 2026
Merged

mikelangmayr merged 4 commits into
mainfrom
mike/install-rules

Conversation

@mikelangmayr

@mikelangmayr mikelangmayr commented Sep 15, 2026

Copy link
Copy Markdown
Contributor
  • Add install() rules so make install copies build outputs under ${CMAKE_INSTALL_PREFIX} (defaults to /usr/local) instead of running them from bin/ in the source tree
  • Include GNUInstallDirs at the top level for CMAKE_INSTALL_BINDIR and CMAKE_INSTALL_LIBDIR
  • Name the tools camerad-emulator, camerad-socksend and camerad-shm-reader, since emulator and socksend are too generic for a directory shared with every other package. camerad keeps its name
  • Install the camera_interface Python module to lib, so it has a stable path to put on PYTHONPATH
  • Don't install listener: nothing in camerad/ or common/ uses UdpSocket, so it has no producer to listen to
  • Update the CI workflow and README to the new binary names
  • Verify make install in CI: the python-module job now builds everything, installs to a prefix, checks all four binaries are present and executable, and imports the module from the prefix with the build tree off PYTHONPATH so a missing install rule cannot pass silently
  • Verified locally by running open, load, power on, exptime 0, expose 1 against the emulator with only the installed binaries on PATH, all returning DONE, and by confirming the CI import assertion fails when pointed at the build tree

@mikelangmayr
mikelangmayr merged commit 26b4f12 into main Sep 16, 2026
4 checks passed
@mikelangmayr
mikelangmayr deleted the mike/install-rules branch September 16, 2026 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants