android13/external/camera_engine_rkaiq/tools/j2s4b/CMakeLists.txt

81 lines
2.3 KiB
CMake

cmake_minimum_required(VERSION 2.8...3.22)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
if (RKAIQ_TARGET_ARCH STREQUAL "arm")
set(CMAKE_C_FLAGS -m32)
set(CMAKE_CXX_FLAGS -m32)
set(CMAKE_EXE_LINKER_FLAGS -m32)
endif()
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
add_compile_options(-std=c++11)
add_compile_options(-fPIC -Wall -Wno-error -O0 -g)
add_compile_options(-Wno-unused-variable
-Wno-unused-but-set-variable
-Wno-unused-function
-Wno-misleading-indentation
-Wno-unused-label
-Wno-format-truncation
-fno-strict-aliasing)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(GetGitVersion)
get_git_version(GIT_VERSION)
PROJECT(j2s4b)
set(ROOT_PROJ_DIR ${PROJECT_SOURCE_DIR}/../..)
if (ROOT_PROJ_BIN_DIR)
message("ROOT_PROJ_BIN_DIR:${ROOT_PROJ_BIN_DIR}")
include_directories(${ROOT_PROJ_BIN_DIR})
else()
message(FATAL_ERROR "Could not find ROOT_PROJ_BIN_DIR")
endif()
if (RKAIQ_IQFILES_DIR)
file(GLOB RKAIQ_IQFILES ${RKAIQ_IQFILES_DIR}/*.json)
else()
message(FATAL_ERROR "Could not find RKAIQ_IQFILES_DIR")
endif()
include_directories(
src
src/j2s4b
include
${ROOT_PROJ_DIR}/include/iq_parser_v2/j2s/
)
set(CXX_SRCS
${ROOT_PROJ_DIR}/iq_parser_v2/j2s/cJSON.cpp
${ROOT_PROJ_DIR}/iq_parser_v2/j2s/cJSON_Utils.cpp
src/j2s4b/BinRecord.cpp
src/j2s4b/RkAiqsceneManager.cpp
src/j2s4b/j2s.cpp
src/j2s4b/j2s4b_utils.cpp
src/main.cpp)
add_definitions(-DGIT_VERSION="${GIT_VERSION}")
ADD_EXECUTABLE(j2s4b ${CXX_SRCS})
if (RKAIQ_TARGET_ARCH STREQUAL "arm")
set_target_properties(j2s4b PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32")
endif()
foreach(IQPATH ${RKAIQ_IQFILES})
string(REGEX MATCH "${RKAIQ_IQFILES_DIR}/.*" SHORT_NAME ${IQPATH})
string(REGEX REPLACE "${RKAIQ_IQFILES_DIR}/" "" ORIGIN_NAME ${SHORT_NAME})
string(REGEX REPLACE "json" "bin" TAGT_NAME ${ORIGIN_NAME})
string(REGEX REPLACE ".json" "" BIN_PROJ_NAME ${ORIGIN_NAME})
add_custom_target(
${BIN_PROJ_NAME}
ALL
COMMAND j2s4b ${IQPATH} ${TAGT_NAME}
BYPRODUCTS ${TAGT_NAME}
DEPENDS j2s4b
)
install(PROGRAMS "${CMAKE_BINARY_DIR}/${TAGT_NAME}" DESTINATION usr/share/iqfiles)
endforeach()
install(TARGETS j2s4b RUNTIME DESTINATION host)