# 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 )