IF(OS_WINDOWS OR OS_MACOS)
	# TODO (llongi): linker failure on both Windows and macOS due to nodelete.
	RETURN()
ENDIF()

# Search for external libraries with pkg-config.
INCLUDE(FindPkgConfig)

PKG_CHECK_MODULES(ARAVIS IMPORTED_TARGET aravis-0.8>=0.8.20)

IF(NOT ARAVIS_FOUND)
	PKG_CHECK_MODULES(ARAVIS IMPORTED_TARGET aravis-0.10>=0.9.0)
ENDIF()

IF(ARAVIS_FOUND)
	MESSAGE(STATUS "Aravis machine-vision camera access enabled")

	ADD_LIBRARY(mvcamera SHARED mvcamera.cpp)

	SET_TARGET_PROPERTIES(mvcamera PROPERTIES PREFIX "dv_")

	TARGET_LINK_LIBRARIES(mvcamera PRIVATE dv::sdk PkgConfig::ARAVIS)

	TARGET_LINK_OPTIONS(mvcamera PRIVATE "LINKER:-z,nodelete")

	INSTALL(TARGETS mvcamera DESTINATION ${DV_MODULES_DIR})
ENDIF()
