cmake_minimum_required(VERSION 3.4.1)
project(gpu_transform)
set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
include_directories(${NATIVERENDER_ROOT_PATH}
${NATIVERENDER_ROOT_PATH}/include
${NATIVERENDER_ROOT_PATH}/util
${NATIVERENDER_ROOT_PATH}/napi
${NATIVERENDER_ROOT_PATH}/common
${NATIVERENDER_ROOT_PATH}/render
${NATIVERENDER_ROOT_PATH}/constant
${NATIVERENDER_ROOT_PATH}/boundscheck
)
add_subdirectory(boundscheck)
add_library(nativeGpu SHARED
${NATIVERENDER_ROOT_PATH}/napi/napi_init.cpp
${NATIVERENDER_ROOT_PATH}/render/EGLRender.cpp
${NATIVERENDER_ROOT_PATH}/util/GLUtils.cpp
${NATIVERENDER_ROOT_PATH}/util/NapiUtil.cpp
)
find_library (
hilog-lib
hilog_ndk.z )
find_library (
EGL-lib
EGL )
find_library (
GLES-lib
GLESv3 )
target_link_libraries(nativeGpu PUBLIC boundscheck ${hilog-lib} ${EGL-lib} ${GLES-lib} libace_napi.z.so -ftrapv)
if(CMAKE_BUILD_TYPE STREQUAL "Release")
target_link_options(nativeGpu PUBLIC -s)
set(LTO_FLAG "-flto=thin")
add_compile_options(-O3 -march=native)
target_compile_options(nativeGpu PRIVATE ${LTO_FLAG})
target_link_options(nativeGpu PRIVATE ${LTO_FLAG})
endif()