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:
@@ -28,9 +28,17 @@ set(CPACK_COMPONENTS_GROUPING IGNORE)
|
||||
set(CPACK_COMPONENTS_ALL pdb Unspecified)
|
||||
set(CPACK_PACKAGE_VERSION ${GIT_DESCRIBE})
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-x86_64")
|
||||
if (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-arm64")
|
||||
else ()
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-x86_64")
|
||||
endif ()
|
||||
else ()
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-x86")
|
||||
if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-arm")
|
||||
else ()
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-x86")
|
||||
endif ()
|
||||
endif ()
|
||||
set(CPACK_ARCHIVE_PDB_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-pdbs")
|
||||
set(CPACK_ARCHIVE_UNSPECIFIED_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}")
|
||||
@@ -73,7 +81,14 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
if (WIN32)
|
||||
get_filename_component(_PREFIX "${GSTREAMER_PLUGIN_DIR}/../" REALPATH)
|
||||
else ()
|
||||
set(_PREFIX "/usr/lib")
|
||||
# Use architecture-specific library path on Linux
|
||||
if (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64")
|
||||
set(_PREFIX "/usr/lib/aarch64-linux-gnu")
|
||||
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
|
||||
set(_PREFIX "/usr/lib/arm-linux-gnueabihf")
|
||||
else ()
|
||||
set(_PREFIX "/usr/lib")
|
||||
endif ()
|
||||
endif ()
|
||||
set(CMAKE_INSTALL_PREFIX "${_PREFIX}"
|
||||
CACHE PATH "Common prefix for all installed files (e.g., plugins will be installed under CMAKE_INSTALL_PREFIX/gstreamer-1.0)" FORCE)
|
||||
|
||||
Reference in New Issue
Block a user