1cmake_minimum_required(VERSION 3.5) 2 3if (EXISTS ${BUILD_TOOLCHAINS_PATH}) 4message("load ${BUILD_TOOLCHAINS_PATH}") 5include(${BUILD_TOOLCHAINS_PATH}) 6endif() 7 8project(rgaImDemo) 9 10if(NOT CMAKE_BUILD_TYPE) 11 message("default to Release build for GCC builds") 12 set(CMAKE_BUILD_TYPE Release CACHE STRING 13 "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." 14 FORCE) 15endif() 16 17if(CMAKE_BUILD_TARGET STREQUAL android_ndk) 18 message("cmake build android ndk") 19 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-error -DLOG_TAG=librga") 20 add_compile_options(-DLINUX) 21 add_compile_options(-DANDROID_VNDK) 22 string(REPLACE "-DANDROID" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") 23endif() 24 25if(CMAKE_BUILD_TARGET STREQUAL buildroot) 26 message("cmake build buildroot") 27 set(CMAKE_CXX_FLAGS "-std=c++11 -O2 -pthread") 28 add_compile_options(-DLINUX) 29endif() 30 31if(CMAKE_BUILD_TARGET STREQUAL cmake_linux) 32 message("RGA build with cmake") 33 add_compile_options(-DLINUX) 34 # TO support pass external CMAKE_CXX_FLAGS 35 set(CMAKE_CXX_FLAGS_EXT "-std=c++11 -O2 -pthread") 36 37 if (NOT DEFINED CMAKE_C_COMPILER) 38 message(FATAL_ERROR "RGA: CMAKE_C_COMPILER not define") 39 endif() 40 41 if (NOT DEFINED CMAKE_CXX_COMPILER) 42 message(FATAL_ERROR "RGA: CMAKE_CXX_COMPILER not define") 43 endif() 44 45endif() 46 47if (EXISTS ${LIBRGA_FILE_LIB}/librga.so) 48 message("load ${LIBRGA_FILE_LIB}/librga.so") 49 set(RGA_LIB ${LIBRGA_FILE_LIB}/librga.so) 50else () 51 set(RGA_LIB rga) 52endif() 53 54#install path 55if (NOT DEFINED CMAKE_INSTALL_BINDIR) 56 set(CMAKE_INSTALL_BINDIR bin) 57endif() 58 59set(IM2D_DEMO_NAME ${PROJECT_NAME}) 60set(IM2D_DEMO_SRCS 61 args.cpp 62 rgaImDemo.cpp) 63set(IM2D_DEMO_INCLUDE 64 ./ 65 ../../include 66 ../../im2d_api) 67 68add_executable(${IM2D_DEMO_NAME} ${IM2D_DEMO_SRCS}) 69target_include_directories(${IM2D_DEMO_NAME} PUBLIC ${IM2D_DEMO_INCLUDE}) 70target_link_libraries(${IM2D_DEMO_NAME} ${RGA_LIB}) 71 72install(TARGETS ${IM2D_DEMO_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 73