xref: /OK3568_Linux_fs/external/linux-rga/samples/im2d_slt/CMakeLists.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1cmake_minimum_required(VERSION 3.5)
2enable_testing()
3
4set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
5set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
6
7message(${CMAKE_CURRENT_SOURCE_DIR})
8
9if(NOT CMAKE_BUILD_TYPE)
10    message("default to Release build for GCC builds")
11    set(CMAKE_BUILD_TYPE Release CACHE STRING
12        "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel."
13        FORCE)
14endif()
15
16##########################
17# Command
18#execute_process(COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/version.sh)
19#execute_process(COMMAND ls)
20
21##########################
22# Choose compilation method
23set(TOOL_CHAIN_DIR ${CMAKE_MODULE_PATH})
24
25if(CMAKE_BUILD_TARGET STREQUAL android_ndk)
26    message("set android_ndk toolchain")
27    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error -DLOG_TAG=librga")
28    add_compile_options(-DLINUX)
29    add_compile_options(-DANDROID)
30#    add_compile_options(-DANDROID_VNDK)
31endif()
32
33if(CMAKE_BUILD_TARGET STREQUAL buildroot)
34    message("set buildroot toolchain")
35    set(CMAKE_TOOLCHAIN_FILE
36        ${TOOL_CHAIN_DIR}/buildroot.cmake)
37    include(${TOOL_CHAIN_DIR}/buildroot.cmake)
38    add_compile_options(-DLINUX)
39    set(CMAKE_CXX_FLAGS "-std=c++11 -O2 -pthread")
40endif()
41
42##########################
43# Choose a third-party library
44if(CMAKE_BUILD_THIRD_PARTY STREQUAL drm)
45    message("set third party drm")
46    add_compile_options(-DLIBDRM=1)
47endif()
48#add_compile_options(-DRGA3=1)
49
50##########################
51# Set project
52project(im2d_rga_slt)
53
54include_directories(
55    ${CMAKE_CURRENT_SOURCE_DIR}
56    ${CMAKE_CURRENT_SOURCE_DIR}/sources
57    ${CMAKE_CURRENT_SOURCE_DIR}/../../
58    ${CMAKE_CURRENT_SOURCE_DIR}/../../include
59    ${CMAKE_CURRENT_SOURCE_DIR}/../../im2d_api
60)
61
62if(CMAKE_BUILD_THIRD_PARTY STREQUAL drm)
63include_directories(
64    ${CMAKE_CURRENT_SOURCE_DIR}/third-party/libdrm/include
65    ${CMAKE_CURRENT_SOURCE_DIR}/third-party/libdrm/include/libdrm
66)
67endif()
68
69set(IM2D_RGA_SLT_SRCS
70    ${CMAKE_CURRENT_SOURCE_DIR}/sources/rga_im2d_slt.cpp
71    ${CMAKE_CURRENT_SOURCE_DIR}/sources/dma_alloc.cpp
72)
73if(CMAKE_BUILD_THIRD_PARTY STREQUAL drm)
74set(IM2D_RGA_SLT_SRCS
75    ${CMAKE_CURRENT_SOURCE_DIR}/sources/drm_alloc.cpp
76)
77endif()
78
79add_executable(im2d_slt ${IM2D_RGA_SLT_SRCS})
80
81target_link_libraries(im2d_slt "-Wl,--allow-shlib-undefined"  dl)
82target_link_libraries(im2d_slt ${CMAKE_CURRENT_SOURCE_DIR}/../../build_linux/install/lib/librga.so)
83
84if(CMAKE_BUILD_THIRD_PARTY STREQUAL drm)
85    target_link_libraries(im2d_slt drm)
86endif()
87
88if(CMAKE_BUILD_TARGET STREQUAL ndk)
89    string(REPLACE "-DANDROID" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
90endif()
91
92SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
93
94install(TARGETS im2d_slt RUNTIME DESTINATION bin)
95