ef422269创建于 2025年12月11日历史提交
# the minimum version of CMake.
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()