Build orange¶
With all dependencies in place, the build is a single script.
Clone¶
The --recursive flag fetches the submodules under third_party/ (Dear ImGui, ImPlot, ImGuiFileDialog, IconFontCppHeaders, FlatBuffers).
Build¶
This runs CMake into a release/ directory and produces three executables by default:
release/orange— the GUI host apprelease/cam_server— the headless networked camera noderelease/yolo_offline— standalone offline YOLOv8 inference tool
You can disable any target by passing -DBUILD_ORANGE=OFF, -DBUILD_CAM_SERVER=OFF, or -DBUILD_YOLO_OFFLINE=OFF to CMake. For example, server_build.sh builds only cam_server:
Run¶
Start the GUI app:
On a headless server node, use start_server.sh, which auto-detects the hostname and runs cam_server with it:
Both scripts run with sudo because Emergent GigE Vision cameras and PTP need raw socket access.
Optional: install a desktop launcher¶
This copies the binary, fonts, and icon under $PREFIX/opt/orange, drops a wrapper at $PREFIX/bin/orange, and creates a .desktop entry. Use ./uninstall.sh to remove.