115 lines
3.9 KiB
CMake
115 lines
3.9 KiB
CMake
if(NOT CMAKE_BUILD_TYPE)
|
|
set(CMAKE_BUILD_TYPE Release CACHE STRING
|
|
"Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel."
|
|
FORCE)
|
|
endif()
|
|
|
|
cmake_minimum_required(VERSION 2.8...3.22)
|
|
|
|
PROJECT(smart_ir)
|
|
|
|
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/rk_smart_ir.cpp")
|
|
message("${CMAKE_CURRENT_SOURCE_DIR}/src/rk_smart_ir.cpp not exist, install the libs directly")
|
|
set(C_LIBRARY_NAME "glibc" CACHE INTERNAL "")
|
|
if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/../rkaiq/)
|
|
include(${CMAKE_CURRENT_LIST_DIR}/../rkaiq/cmake/CheckGlibc.cmake)
|
|
CHECK_GLIBC_VERSION()
|
|
endif()
|
|
string(TOLOWER ${RKAIQ_TARGET_SOC} SOC)
|
|
set(CMAKE_LIBRARY_PATH
|
|
"${CMAKE_CURRENT_LIST_DIR}/lib/${SOC}/${ARCH}/${C_LIBRARY_NAME}")
|
|
install(DIRECTORY include/ DESTINATION include/rkaiq/smartIr FILES_MATCHING PATTERN "*.h")
|
|
install(FILES ${CMAKE_LIBRARY_PATH}/libsmartIr.so DESTINATION lib)
|
|
install(FILES ${CMAKE_LIBRARY_PATH}/libsmartIr.a DESTINATION lib RENAME libsmartIr.a)
|
|
return()
|
|
endif()
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|
|
|
# include(BuildOptions)
|
|
# include(CompileOptions)
|
|
# include(GNUInstallDirs)
|
|
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMakeTargets")
|
|
|
|
set(RK_AIQ_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../rk_aiq)
|
|
message("rkaiq src path" ${RK_AIQ_SOURCE_DIR})
|
|
|
|
add_compile_options(-Os)
|
|
add_compile_options(-fstack-protector-strong -D_FORTIFY_SOURCE=2)
|
|
|
|
find_path(RKAIQ_INCLUDE_DIR
|
|
NAMES
|
|
rk_aiq.h
|
|
PATH
|
|
common
|
|
rkaiq/common
|
|
)
|
|
find_library(RKAIQ_LIBRARY_DIR
|
|
rkaiq
|
|
)
|
|
if(RKAIQ_INCLUDE_DIR AND RKAIQ_LIBRARY_DIR)
|
|
set(RK_AIQ_INSTALLED_DIR ${RKAIQ_INCLUDE_DIR})
|
|
set(RK_AIQ_LIB_DIR ${RKAIQ_LIBRARY_DIR})
|
|
else()
|
|
set(RK_AIQ_INSTALLED_DIR "${RK_AIQ_SOURCE_DIR}/build/linux/output/${ARCH}/installed" CACHE STRING "AIQ library installed dir")
|
|
set(RK_AIQ_LIB_DIR ${RK_AIQ_INSTALLED_DIR}/lib)
|
|
endif()
|
|
message("rkaiq lib path" ${RK_AIQ_LIB_DIR})
|
|
set(RK_AIQ_INCLUDE_DIR
|
|
${RK_AIQ_INSTALLED_DIR}/
|
|
${RK_AIQ_INSTALLED_DIR}/rkaiq/
|
|
${RK_AIQ_INSTALLED_DIR}/rkaiq/uAPI2
|
|
${RK_AIQ_INSTALLED_DIR}/rkaiq/xcore/
|
|
${RK_AIQ_INSTALLED_DIR}/rkaiq/algos/
|
|
${RK_AIQ_INSTALLED_DIR}/rkaiq/common/
|
|
${RK_AIQ_INSTALLED_DIR}/rkaiq/iq_parser/
|
|
${RK_AIQ_INSTALLED_DIR}/rkaiq/iq_parser_v2/
|
|
${RK_AIQ_INSTALLED_DIR}/include/
|
|
${RK_AIQ_INSTALLED_DIR}/include/rkaiq/
|
|
${RK_AIQ_INSTALLED_DIR}/include/rkaiq/uAPI2
|
|
${RK_AIQ_INSTALLED_DIR}/include/rkaiq/xcore/
|
|
${RK_AIQ_INSTALLED_DIR}/include/rkaiq/algos/
|
|
${RK_AIQ_INSTALLED_DIR}/include/rkaiq/common/
|
|
${RK_AIQ_INSTALLED_DIR}/include/rkaiq/iq_parser/
|
|
${RK_AIQ_INSTALLED_DIR}/include/rkaiq/iq_parser_v2/
|
|
)
|
|
set(RK_AIQ_LIB rkaiq)
|
|
|
|
if(RK_AIQ_IS_SUBDIR)
|
|
get_target_property(RK_AIQ_HEADER_DIR rkaiq INTERFACE_INCLUDE_DIRECTORIES)
|
|
message("RK_AIQ_HEADER_DIR ${RK_AIQ_HEADER_DIR}")
|
|
endif()
|
|
|
|
include_directories(
|
|
include
|
|
${RK_AIQ_INCLUDE_DIR}
|
|
${RK_AIQ_HEADER_DIR}
|
|
)
|
|
|
|
set (SMARTIR_SRC
|
|
src/rk_smart_ir.cpp
|
|
)
|
|
list(APPEND DIR_SRCS ${AFDEMO_DIR_SRCS})
|
|
|
|
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/all_lib/${CMAKE_BUILD_TYPE})
|
|
SET(CMAKE_LIBRARY_PATH ${LIBRARY_OUTPUT_PATH})
|
|
|
|
#set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
|
|
#set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")
|
|
message(${CMAKE_LIBRARY_PATH})
|
|
message(${LIBRARY_OUTPUT_PATH})
|
|
|
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
|
|
|
link_directories("${RK_AIQ_LIB_DIR}")
|
|
add_library(smartIr SHARED ${SMARTIR_SRC})
|
|
target_link_libraries(smartIr PUBLIC ${RK_AIQ_LIB})
|
|
|
|
add_library(smartIr_static STATIC ${SMARTIR_SRC})
|
|
|
|
install(DIRECTORY include/ DESTINATION include/rkaiq/smartIr FILES_MATCHING PATTERN "*.h")
|
|
install(FILES ${CMAKE_LIBRARY_PATH}/libsmartIr.so DESTINATION lib)
|
|
install(FILES ${CMAKE_LIBRARY_PATH}/libsmartIr_static.a DESTINATION lib RENAME libsmartIr.a)
|