feat: Add Linux ARM64 support and cleanup build system

- Add ARM64 architecture support for Linux builds
- Fix case-sensitive header includes (ueye.h → uEye.h) for Unix systems
- Update CMake modules to find ARM64 library paths:
  * Add /opt/ids/ueye/lib/aarch64-linux-gnu for IDS uEye SDK
  * Add aarch64-linux-gnu paths to GStreamer module
- Add ARM64 packaging support in main CMakeLists.txt
- Make intervalometer conditional on IDS uEye availability
- Remove 28 unused CMake Find modules for camera vendors:
  * ATK, Aptina, Bitflow, Cairo, EDT, Euresys, FreeImage
  * GigESim, Glew, GTK2, Imperx, IOtech, KAYA, Matrox
  * National Instruments, OpenCV, OpenGL, Phoenix, Pleora
  * Pylon, QCam, Sapera, XCLIB, and utility libraries
- Retain only essential modules for GStreamer plugin development

Successfully builds all 8 plugins on ARM64: idsueye, intervalometer,
linescan, bayerutils, extractcolor, select, misb, videoadjust

Tested on: Linux ARM64 (aarch64) with GStreamer 1.16.3
This commit is contained in:
yair
2025-11-26 18:02:21 +00:00
parent b9d664ad23
commit 73afb1f671
34 changed files with 43 additions and 1191 deletions

View File

@@ -29,19 +29,29 @@ endif (WIN32)
if (UNIX)
if (NOT IDSUEYE_DIR)
set (IDSUEYE_DIR "/usr" CACHE PATH "Directory containing IDS uEye SDK includes and libraries")
set (IDSUEYE_DIR "/opt/ids/ueye" CACHE PATH "Directory containing IDS uEye SDK includes and libraries")
endif ()
set(_LIB_NAME "libueye_api.so")
find_path (IDSUEYE_INCLUDE_DIR ueye.h
find_path (IDSUEYE_INCLUDE_DIR uEye.h
PATHS
"${CMAKE_CURRENT_SOURCE_DIR}/sys/idsueye/include"
"${IDSUEYE_DIR}/include"
"/opt/ids/ueye/include"
"/usr/include/ueye"
"/usr/include"
DOC "Directory containing IDS uEye include files")
endif (UNIX)
find_library (_uEyeLib NAMES ${_LIB_NAME}
PATHS
"${IDSUEYE_DIR}/lib"
"${IDSUEYE_DIR}/lib/aarch64-linux-gnu"
"${IDSUEYE_DIR}/lib/arm-linux-gnueabihf"
"/opt/ids/ueye/lib"
"/opt/ids/ueye/lib/aarch64-linux-gnu"
"/opt/ids/ueye/lib/arm-linux-gnueabihf"
"${IDSUEYE_DIR}/Lib")
set (IDSUEYE_LIBRARIES ${_uEyeLib})