OpenCAX/entry/src/main/cpp/CMakeLists.txt
2026-02-25 15:30:46 +08:00

65 lines
1.6 KiB
CMake

# the minimum version of CMake.
cmake_minimum_required(VERSION 3.18.1)
project(opencax)
set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
add_definitions(-DOHOS_PLATFORM)
# 添加 NAPI 头文件
include_directories(${NATIVERENDER_ROOT_PATH}
${NATIVERENDER_ROOT_PATH}/include
${NATIVERENDER_ROOT_PATH}/include/opencascade
${NATIVERENDER_ROOT_PATH}/include/Add
)
# OCCT 库目录
set(OCCT_VERSION "7.9")
set(OCCT_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH})
#OCCT LIBS
set(OCCT_CORE_LIBS
TKernel TKBRep TKOpenGles TKMath TKG2d TKG3d TKGeomBase TKGeomAlgo
TKTopAlgo TKMesh TKService TKV3d TKXCAF TKCAF TKLCAF TKCDF TKFillet
TKDESTEP TKShHealing TKHLR TKVCAF TKBO TKPrim TKBool TKDE TKXSBase
)
foreach(LIB_NAME ${OCCT_CORE_LIBS})
list(APPEND OCCT_IMPORTED_LIBS ${OCCT_LIB_DIR}/lib${LIB_NAME}.so.${OCCT_VERSION})
endforeach()
# 添加源文件
add_library(opencax SHARED
# Header
NativeEGLOCCT/EGLConst.h
NativeEGLOCCT/EGLCore.h
NativeEGLOCCT/EGLRender.h
NativeEGLOCCT/NativeRender.h
NativeEGLOCCT/NativeManager.h
# Cpp Src
NativeEGLOCCT/EGLCore.cpp
NativeEGLOCCT/EGLRender.cpp
NativeEGLOCCT/NativeRender.cpp
NativeEGLOCCT/NativeManager.cpp
napi_init.cpp
)
# 查找系统库
find_library(EGL-lib EGL)
find_library(GLES-lib GLESv3)
#System so
set(SYSTEM_LIBS
libace_napi.z.so libnative_window.so
hilog_ndk.z ace_ndk.z uv z
)
# 链接系统库
target_link_libraries(opencax PUBLIC ${SYSTEM_LIBS})
target_link_libraries(opencax PUBLIC
# EGL Hilog 库
${EGL-lib}
${GLES-lib}
#OCCT核心库
${OCCT_IMPORTED_LIBS}
${OCCT_LIB_DIR}/libNativeAdd.so
)