64 lines
1.6 KiB
CMake
64 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/EGLCore.h
|
|
NativeEGLOCCT/NativeRender.h
|
|
NativeEGLOCCT/NativeRenderThread.h
|
|
NativeEGLOCCT/NativeManager.h
|
|
# Cpp Src
|
|
NativeEGLOCCT/EGLCore.cpp
|
|
NativeEGLOCCT/NativeRender.cpp
|
|
NativeEGLOCCT/NativeRenderThread.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
|
|
)
|
|
|