Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 51 additions & 113 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,6 @@ set(ALGOWRAPPER_DIR ${MODULES_DIR}/algowrapper)
set(SANDBOXING_DIR ${MODULES_DIR}/sandboxing)
set(IMAGE_PROCESS_DIR ${SRC_ROOT_DIR}/image_process)

#AAL directories
if (CAL_BUILD)
set(AAL_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/aal)
set(JPEG_DIR ${SRC_ROOT_DIR}/jpeg)
set(MEMORY_DIR ${MODULES_DIR}/memory)
endif() #CAL_BUILD

if (SUPPORT_LIVE_TUNING)
#LiveTuning directories
set(LIVE_TUNING_DIR ${MODULES_DIR}/livetune)
Expand Down Expand Up @@ -192,68 +185,16 @@ if(ENABLE_SANDBOXING)
set(LIBCAMHAL_LINK_LIBS ${LIBCAMHAL_LINK_LIBS} ${LIBCAB_LIBS} ${LIBMOJO_LIBS} ${LIBCAMERA_IPC_LIBS} ${CMAKE_PREFIX_PATH}/librt.a)
endif() #ENABLE_SANDBOXING

if (CAL_BUILD)
message("Chrome enabled ")
add_definitions(-DCAL_BUILD -DDUMP_IMAGE)
if (SW_JPEG_ENCODE)
add_definitions(-DSW_JPEG_ENCODE)
include_directories(src/jpeg/sw)
else ()
include_directories(src/jpeg/chrome)
endif()

if (SW_POST_PROCESSING)
include_directories(src/image_process/sw)
else ()
include_directories(src/image_process/chrome)
endif()

add_subdirectory(aal)

set(LIBCAMHAL_SRCS ${LIBCAMHAL_SRCS} ${MEMORY_SRCS} ${AAL_SRCS} ${JPEG_SRCS})
include_directories(include include/api include/utils include/linux
${USR_INCLUDE_HEADER}/android/system/core/include/
${USR_INCLUDE_HEADER}/ia_imaging
${USR_INCLUDE_HEADER}/usr/lib${IPU_VER}
${USR_INCLUDE_HEADER}/android/hardware/libhardware/include/
aal aal/chrome src/iutils src/jpeg
modules/memory modules/memory/chrome
)
find_package(LIBCAMERA_CLIENT)
find_package(LIBCAMERA_COMMON)
find_package(LIBCAMERA_METADATA)
find_package(LIBCAMERA_V4L2_DEVICE)
find_package(LIBSYNC)
find_package(LIBCBM)

include_directories(${LIBCAMERA_CLIENT_INCLUDE_DIRS} ${LIBCAMERA_COMMON_INCLUDE_DIRS}
${LIBCAMERA_METADATA_INCLUDE_DIRS} ${LIBCAMERA_V4L2_DEVICE_INCLUDE_DIRS}
${LIBSYNC_INCLUDE_DIRS}
${LIBCBM_INCLUDE_DIRS}
)
link_directories(${CMAKE_PREFIX_PATH} ${LIBCAMERA_CLIENT_LIBS} ${LIBCAMERA_METADATA_LIBS}
${LIBCAMERA_COMMON_LIBS} ${LIBSYNC_LIBS}
${LIBCBM_LIBS}
)

set(LIBCAMHAL_LINK_LIBS ${LIBCAMHAL_LINK_LIBS} ${LIBCAMERA_CLIENT_LIBS} ${LIBCAMERA_COMMON_LIBS}
${LIBCAMERA_METADATA_LIBS} ${LIBCAMERA_V4L2_DEVICE_LIBS}
${LIBSYNC_LIBS} jpeg ${CMAKE_PREFIX_PATH}/libyuv.pic.a
${LIBCBM_LIBS} camera_v4l2_device
)
endif() #CAL_BUILD

if (NOT CAL_BUILD)
message("Linux build")
add_definitions(-DSUPPORT_MULTI_PROCESS)
add_definitions(-DLINUX_BUILD)
include_directories(${MODULES_DIR}/v4l2)
find_package(LIBDRM)
if(LIBDRM_FOUND AND ("${LIBDRM_VERSION}" VERSION_GREATER_EQUAL 2.4.114))
include_directories(${LIBDRM_INCLUDE_DIRS})
set(LIBCAMHAL_LINK_LIBS ${LIBCAMHAL_LINK_LIBS} ${LIBDRM_LIBS})
add_definitions(-DLIBDRM_SUPPORT_MMAP_OFFSET)
endif()
message("Linux build")
add_definitions(-DSUPPORT_MULTI_PROCESS)
add_definitions(-DLINUX_BUILD)
include_directories(${MODULES_DIR}/v4l2)
find_package(LIBDRM)
if(LIBDRM_FOUND AND ("${LIBDRM_VERSION}" VERSION_GREATER_EQUAL 2.4.114))
include_directories(${LIBDRM_INCLUDE_DIRS})
link_directories(${LIBDRM_LIBRARY_DIRS})
set(LIBCAMHAL_LINK_LIBS ${LIBCAMHAL_LINK_LIBS} ${LIBDRM_LIBRARIES})
add_definitions(-DLIBDRM_SUPPORT_MMAP_OFFSET)
endif()

set(LIBCAMHAL_SRCS
Expand Down Expand Up @@ -323,36 +264,38 @@ if (IPU_VER MATCHES "ipu6")
endif()
endif()

if (NOT CAL_BUILD)
set(TARGET_DEFINITIONS ${TARGET_DEFINITIONS} "-DCAMERA_DEFAULT_CFG_PATH=\"${CMAKE_INSTALL_FULL_SYSCONFDIR}/camera/${IPU_VER}/\"")
endif()
set(TARGET_DEFINITIONS ${TARGET_DEFINITIONS} "-DCAMERA_DEFAULT_CFG_PATH=\"${CMAKE_INSTALL_FULL_SYSCONFDIR}/camera/${IPU_VER}/\"")

# Link libraries, the building will be interrupted if libs/includes not found
# Link ia_imaging
find_package(IA_IMAGING)
set(TARGET_INCLUDE ${TARGET_INCLUDE} ${IA_IMAGING${TARGET_SUFFIX}_INCLUDE_DIRS})
set(TARGET_LINK_LIBS ${TARGET_LINK_LIBS} ${IA_IMAGING${TARGET_SUFFIX}_LIBS})
set(TARGET_LINK_LIBS ${TARGET_LINK_LIBS} ${IA_IMAGING${TARGET_SUFFIX}_LIBRARIES})
link_directories(${IA_IMAGING${TARGET_SUFFIX}_LIBRARY_DIRS})

if(USE_PG_LITE_PIPE)
find_package(LIBGCSS)
set(TARGET_INCLUDE ${TARGET_INCLUDE} ${LIBGCSS${TARGET_SUFFIX}_INCLUDE_DIRS})
set(TARGET_LINK_LIBS ${TARGET_LINK_LIBS} ${LIBGCSS${TARGET_SUFFIX}_LIBS})
set(TARGET_LINK_LIBS ${TARGET_LINK_LIBS} ${LIBGCSS${TARGET_SUFFIX}_LIBRARIES})
link_directories(${LIBGCSS${TARGET_SUFFIX}_LIBRARY_DIRS})
# Include libipu(4) headers
find_package(LIBIPU)
set(TARGET_INCLUDE ${TARGET_INCLUDE} ${LIBIPU${TARGET_SUFFIX}_INCLUDE_DIRS})
set(TARGET_LINK_LIBS ${TARGET_LINK_LIBS} ${LIBIPU${TARGET_SUFFIX}_LIBS})
set(TARGET_LINK_LIBS ${TARGET_LINK_LIBS} ${LIBIPU${TARGET_SUFFIX}_LIBRARIES})
link_directories(${LIBIPU${TARGET_SUFFIX}_LIBRARY_DIRS})
else()
# Link libiacss
find_package(LIBIACSS)
set(TARGET_INCLUDE ${TARGET_INCLUDE} ${LIBIACSS${TARGET_SUFFIX}_INCLUDE_DIRS})
set(TARGET_LINK_LIBS ${TARGET_LINK_LIBS} ${LIBIACSS${TARGET_SUFFIX}_LIBS})
set(TARGET_LINK_LIBS ${TARGET_LINK_LIBS} ${LIBIACSS${TARGET_SUFFIX}_LIBRARIES})
link_directories(${LIBIACSS${TARGET_SUFFIX}_LIBRARY_DIRS})
endif()

#--------------------------- Add libcamhal target ---------------------------

if (BUILD_CAMHAL_PLUGIN)
set(CAMHAL_TARGET ${IPU_VER})
set(CAMHAL_STATIC_TARGET ${IPU_VER}_static)
set(CAMHAL_TARGET camhal${IPU_VER})
set(CAMHAL_STATIC_TARGET camhal${IPU_VER}_static)
else()
set(CAMHAL_TARGET camhal)
set(CAMHAL_STATIC_TARGET camhal_static)
Expand Down Expand Up @@ -388,41 +331,36 @@ endif()


#--------------------------- Install settings ---------------------------
if (NOT CAL_BUILD)
if (NOT BUILD_CAMHAL_PLUGIN)
# Install headers
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libcamhal)
if (SUPPORT_LIVE_TUNING)
install(FILES modules/livetune/LiveTuning.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libcamhal/api)
endif() #SUPPORT_LIVE_TUNING
endif()

# Install configure files, by default ipu4 is used
message("Install camera configure files for ${IPU_VER}")
install(DIRECTORY config/linux/${IPU_VER}/ DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/camera/${IPU_VER})

# Install libraries
set(CAMHAL_TARGETS ${CAMHAL_TARGET} ${CAMHAL_STATIC_TARGET})
if (BUILD_CAMHAL_PLUGIN)
set(CAMHAL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/libcamhal/plugins)
else()
set(CAMHAL_DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
if (${CMAKE_VERSION} VERSION_LESS 3.11)
install(TARGETS ${CAMHAL_TARGETS}
LIBRARY DESTINATION ${CAMHAL_DESTINATION}
ARCHIVE DESTINATION ${CAMHAL_DESTINATION})
else()
install(TARGETS ${CAMHAL_TARGETS} DESTINATION ${CAMHAL_DESTINATION})
endif()
if (NOT BUILD_CAMHAL_PLUGIN)
# Install package config file
configure_file(${PROJECT_SOURCE_DIR}/cmake/libcamhal.pc.cmakein
${PROJECT_SOURCE_DIR}/libcamhal.pc @ONLY)
install(FILES libcamhal.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
endif()

endif() #NOT CAL_BUILD
if (NOT BUILD_CAMHAL_PLUGIN)
# Install headers
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libcamhal)
if (SUPPORT_LIVE_TUNING)
install(FILES modules/livetune/LiveTuning.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libcamhal/api)
endif() #SUPPORT_LIVE_TUNING
endif()
# Install configure files, by default ipu4 is used
message("Install camera configure files for ${IPU_VER}")
install(DIRECTORY config/linux/${IPU_VER}/ DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/camera/${IPU_VER})
# Install libraries
set(CAMHAL_TARGETS ${CAMHAL_TARGET} ${CAMHAL_STATIC_TARGET})
if (BUILD_CAMHAL_PLUGIN)
set(CAMHAL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/libcamhal/plugins)
else()
set(CAMHAL_DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
if (${CMAKE_VERSION} VERSION_LESS 3.11)
install(TARGETS ${CAMHAL_TARGETS}
LIBRARY DESTINATION ${CAMHAL_DESTINATION}
ARCHIVE DESTINATION ${CAMHAL_DESTINATION})
else()
install(TARGETS ${CAMHAL_TARGETS} DESTINATION ${CAMHAL_DESTINATION})
endif()
if (NOT BUILD_CAMHAL_PLUGIN)
# Install package config file
configure_file(${PROJECT_SOURCE_DIR}/cmake/libcamhal.pc.cmakein
${PROJECT_SOURCE_DIR}/libcamhal.pc @ONLY)
install(FILES libcamhal.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
endif()

endforeach() #IPU_VERSIONS

Expand Down
78 changes: 25 additions & 53 deletions cmake/FindIA_IMAGING.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,72 +20,44 @@ if(TARGET ia_aiq)
endif()

# Get include and lib paths for IA_IMAGING from pkgconfig
include(FindPackageHandleStandardArgs)

find_package(PkgConfig)
pkg_check_modules(IA_IMAGING${TARGET_SUFFIX} ia_imaging${TARGET_SUFFIX})
if(NOT IA_IMAGING${TARGET_SUFFIX}_FOUND)
message(FATAL_ERROR "IA_IMAGING${TARGET_SUFFIX} not found")
endif()

set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${IA_IMAGING${TARGET_SUFFIX}_LIBRARY_DIRS})

# Libraries
find_library(IA_CCA${TARGET_SUFFIX}_LIB ia_cca${TARGET_SUFFIX})
find_library(IA_AIQ${TARGET_SUFFIX}_LIB ia_aiq${TARGET_SUFFIX})
find_library(IA_AIQB_PARSER${TARGET_SUFFIX}_LIB ia_aiqb_parser${TARGET_SUFFIX})
find_library(IA_CMC_PARSER${TARGET_SUFFIX}_LIB ia_cmc_parser${TARGET_SUFFIX})
find_library(IA_EXC${TARGET_SUFFIX}_LIB ia_exc${TARGET_SUFFIX})
find_library(IA_MKN${TARGET_SUFFIX}_LIB ia_mkn${TARGET_SUFFIX})
# SENSOR_EMD_DECODER
find_library(IA_EMD${TARGET_SUFFIX}_LIB ia_emd_decoder${TARGET_SUFFIX})
set(IA_IMAGING${TARGET_SUFFIX}_LIBRARIES
ia_cca${TARGET_SUFFIX}
ia_aiq${TARGET_SUFFIX}
ia_aiqb_parser${TARGET_SUFFIX}
ia_cmc_parser${TARGET_SUFFIX}
ia_exc${TARGET_SUFFIX}
ia_mkn${TARGET_SUFFIX}
ia_emd_decoder${TARGET_SUFFIX}
ia_nvm${TARGET_SUFFIX}
ia_log${TARGET_SUFFIX}
ia_dvs${TARGET_SUFFIX}
ia_coordinate${TARGET_SUFFIX}
ia_ltm${TARGET_SUFFIX}
ia_dvs${TARGET_SUFFIX}
ia_isp_bxt${TARGET_SUFFIX}
broxton_ia_pal${TARGET_SUFFIX}
# DOL_FEATURE_S
find_library(IA_BCOMP${TARGET_SUFFIX}_LIB ia_bcomp${TARGET_SUFFIX})
ia_bcomp${TARGET_SUFFIX}
# DOL_FEATURE_E
find_library(IA_NVM${TARGET_SUFFIX}_LIB ia_nvm${TARGET_SUFFIX})
find_library(IA_LOG${TARGET_SUFFIX}_LIB ia_log${TARGET_SUFFIX})
find_library(IA_DVS${TARGET_SUFFIX}_LIB ia_dvs${TARGET_SUFFIX})
find_library(IA_COORDINATE${TARGET_SUFFIX}_LIB ia_coordinate${TARGET_SUFFIX})
find_library(IA_LTM${TARGET_SUFFIX}_LIB ia_ltm${TARGET_SUFFIX})
find_library(IA_DVS${TARGET_SUFFIX}_LIB ia_dvs${TARGET_SUFFIX})
find_library(IA_ISP_BXT${TARGET_SUFFIX}_LIB ia_isp_bxt${TARGET_SUFFIX})
find_library(BXT_IA_PAL${TARGET_SUFFIX}_LIB broxton_ia_pal${TARGET_SUFFIX})

set(IA_IMAGING${TARGET_SUFFIX}_LIBS
${IA_CCA${TARGET_SUFFIX}_LIB}
${IA_AIQ${TARGET_SUFFIX}_LIB}
${IA_AIQB_PARSER${TARGET_SUFFIX}_LIB}
${IA_CMC_PARSER${TARGET_SUFFIX}_LIB}
${IA_EXC${TARGET_SUFFIX}_LIB}
${IA_MKN${TARGET_SUFFIX}_LIB}
${IA_EMD${TARGET_SUFFIX}_LIB}
${IA_BCOMP${TARGET_SUFFIX}_LIB}
${IA_NVM${TARGET_SUFFIX}_LIB}
${IA_LOG${TARGET_SUFFIX}_LIB}
${IA_DVS${TARGET_SUFFIX}_LIB}
${IA_COORDINATE${TARGET_SUFFIX}_LIB}
${IA_LTM${TARGET_SUFFIX}_LIB}
${IA_DVS${TARGET_SUFFIX}_LIB}
${IA_OB${TARGET_SUFFIX}_LIB}
${IA_ISP_BXT${TARGET_SUFFIX}_LIB}
${BXT_IA_PAL${TARGET_SUFFIX}_LIB}
)

if (NOT ENABLE_SANDBOXING)
find_library(IA_LARD${TARGET_SUFFIX}_LIB ia_lard${TARGET_SUFFIX})
set(IA_IMAGING${TARGET_SUFFIX}_LIBS ${IA_IMAGING${TARGET_SUFFIX}_LIBS} ${IA_LARD${TARGET_SUFFIX}_LIB})
set(IA_IMAGING${TARGET_SUFFIX}_LIBRARIES
${IA_IMAGING${TARGET_SUFFIX}_LIBRARIES}
ia_lard${TARGET_SUFFIX}
)
endif() #ENABLE_SANDBOXING

if (USE_PG_LITE_PIPE)
find_library(IA_P2P${TARGET_SUFFIX}_LIB ia_p2p${TARGET_SUFFIX})
set(IA_IMAGING${TARGET_SUFFIX}_LIBS ${IA_IMAGING${TARGET_SUFFIX}_LIBS} ${IA_P2P${TARGET_SUFFIX}_LIB})
endif()

# handle the QUIETLY and REQUIRED arguments and set EXPAT_FOUND to TRUE if
# all listed variables are TRUE
find_package_handle_standard_args(IA_IMAGING${TARGET_SUFFIX}
REQUIRED_VARS IA_IMAGING${TARGET_SUFFIX}_INCLUDE_DIRS IA_IMAGING${TARGET_SUFFIX}_LIBS)

if(NOT IA_IMAGING${TARGET_SUFFIX}_FOUND)
message(FATAL_ERROR "IA_IMAGING${TARGET_SUFFIX} not found")
set(IA_IMAGING${TARGET_SUFFIX}_LIBRARIES
${IA_IMAGING${TARGET_SUFFIX}_LIBRARIES}
ia_p2p${TARGET_SUFFIX}
)
endif()
16 changes: 0 additions & 16 deletions cmake/FindLIBDRM.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,9 @@
#

# Get include and lib paths for LIBDRM from pkgconfig
include(FindPackageHandleStandardArgs)

find_package(PkgConfig)
pkg_check_modules(LIBDRM libdrm)
if(NOT LIBDRM_FOUND)
message(SEND_ERROR "LIBDRM not found")
endif()

set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${LIBDRM_LIBRARY_DIRS})

# Libraries
find_library(DRM_LIB drm)
set(LIBDRM_LIBS ${DRM_LIB})

# handle the QUIETLY and REQUIRED arguments and set EXPAT_FOUND to TRUE if
# all listed variables are TRUE
find_package_handle_standard_args(LIBDRM REQUIRED_VARS LIBDRM_INCLUDE_DIRS LIBDRM_LIBS)

if(NOT LIBDRM_FOUND)
message(SEND_ERROR "LIBDRM not found")
endif()

16 changes: 0 additions & 16 deletions cmake/FindLIBGCSS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,9 @@
#

# Get include and lib paths for LIBGCSS from pkgconfig
include(FindPackageHandleStandardArgs)

find_package(PkgConfig)
pkg_check_modules(LIBGCSS${TARGET_SUFFIX} libgcss${TARGET_SUFFIX})
if(NOT LIBGCSS${TARGET_SUFFIX}_FOUND)
message(FATAL_ERROR "LIBGCSS${TARGET_SUFFIX} not found")
endif()

set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${LIBGCSS${TARGET_SUFFIX}_LIBRARY_DIRS})

# Libraries
find_library(GCSS${TARGET_SUFFIX}_LIB gcss${TARGET_SUFFIX})
set(LIBGCSS${TARGET_SUFFIX}_LIBS ${GCSS${TARGET_SUFFIX}_LIB})

# handle the QUIETLY and REQUIRED arguments and set EXPAT_FOUND to TRUE if
# all listed variables are TRUE
find_package_handle_standard_args(LIBGCSS${TARGET_SUFFIX} REQUIRED_VARS LIBGCSS${TARGET_SUFFIX}_INCLUDE_DIRS LIBGCSS${TARGET_SUFFIX}_LIBS)

if(NOT LIBGCSS${TARGET_SUFFIX}_FOUND)
message(FATAL_ERROR "LIBGCSS${TARGET_SUFFIX} not found")
endif()

29 changes: 3 additions & 26 deletions cmake/FindLIBIACSS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,32 +15,9 @@
#

# Get include and lib paths for LIBIACSS from pkgconfig
include(FindPackageHandleStandardArgs)

find_package(PkgConfig)
pkg_check_modules(LIBIACSS libiacss)
if(NOT LIBIACSS_FOUND)
message(FATAL_ERROR "LIBIACSS not found")
pkg_check_modules(LIBIACSS${TARGET_SUFFIX} libiacss${TARGET_SUFFIX})
if(NOT LIBIACSS${TARGET_SUFFIX}_FOUND)
message(FATAL_ERROR "LIBIACSS${TARGET_SUFFIX} not found")
endif()

set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${LIBIACSS_LIBRARY_DIRS})

# Libraries
find_library(GCSS_LIB gcss)
find_library(IA_CAMERA_LIB ia_camera)
find_library(IA_CIPF_LIB ia_cipf)
set(LIBIACSS_LIBS
${GCSS_LIB}
${IA_CAMERA_LIB}
${IA_CIPF_LIB}
)

# handle the QUIETLY and REQUIRED arguments and set EXPAT_FOUND to TRUE if
# all listed variables are TRUE
find_package_handle_standard_args(LIBIACSS
REQUIRED_VARS LIBIACSS_INCLUDE_DIRS LIBIACSS_LIBS)

if(NOT LIBIACSS_FOUND)
message(FATAL_ERROR "LIBIACSS not found")
endif()

Loading