diff --git a/entry/build-profile.json5 b/entry/build-profile.json5 index 864bb3b6..96c1eb0e 100644 --- a/entry/build-profile.json5 +++ b/entry/build-profile.json5 @@ -14,53 +14,6 @@ "x86_64" ], }, - "nativeLib":{ - "librariesInfo": [ - { - "name": "libocctrender.so", - "headerPath": "./src/main/cpp/include/opencascade", - "linkLibraries": [ - // OCCT 核心库(按 CMake 中顺序) - "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", - // 第三方依赖 - "freetype", - "fontconfig", - "brotlicommon", - "brotlidec", - "brotlienc", - "expat", - "png16", - "bz2", - "z", - ] - } - ] - }, "arkOptions": { "runtimeOnly" : { "packages": [ diff --git a/entry/libs/x86_64/libTKBO.so.7.9.3 b/entry/libs/x86_64/libTKBO.so.7.9.3 deleted file mode 100644 index a5693c68..00000000 Binary files a/entry/libs/x86_64/libTKBO.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKBRep.so.7.9.3 b/entry/libs/x86_64/libTKBRep.so.7.9.3 deleted file mode 100644 index c98ddc22..00000000 Binary files a/entry/libs/x86_64/libTKBRep.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKBin.so.7.9.3 b/entry/libs/x86_64/libTKBin.so.7.9.3 deleted file mode 100644 index 0b16e150..00000000 Binary files a/entry/libs/x86_64/libTKBin.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKBinL.so.7.9.3 b/entry/libs/x86_64/libTKBinL.so.7.9.3 deleted file mode 100644 index 161b676d..00000000 Binary files a/entry/libs/x86_64/libTKBinL.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKBinTObj.so.7.9.3 b/entry/libs/x86_64/libTKBinTObj.so.7.9.3 deleted file mode 100644 index 1b198d71..00000000 Binary files a/entry/libs/x86_64/libTKBinTObj.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKBinXCAF.so.7.9.3 b/entry/libs/x86_64/libTKBinXCAF.so.7.9.3 deleted file mode 100644 index b2446939..00000000 Binary files a/entry/libs/x86_64/libTKBinXCAF.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKBool.so.7.9.3 b/entry/libs/x86_64/libTKBool.so.7.9.3 deleted file mode 100644 index c620c0e4..00000000 Binary files a/entry/libs/x86_64/libTKBool.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKCAF.so.7.9.3 b/entry/libs/x86_64/libTKCAF.so.7.9.3 deleted file mode 100644 index 4149045a..00000000 Binary files a/entry/libs/x86_64/libTKCAF.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKCDF.so.7.9.3 b/entry/libs/x86_64/libTKCDF.so.7.9.3 deleted file mode 100644 index cc433e1d..00000000 Binary files a/entry/libs/x86_64/libTKCDF.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKDE.so.7.9.3 b/entry/libs/x86_64/libTKDE.so.7.9.3 deleted file mode 100644 index 0558ed88..00000000 Binary files a/entry/libs/x86_64/libTKDE.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKDECascade.so.7.9.3 b/entry/libs/x86_64/libTKDECascade.so.7.9.3 deleted file mode 100644 index 89811331..00000000 Binary files a/entry/libs/x86_64/libTKDECascade.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKDEGLTF.so.7.9.3 b/entry/libs/x86_64/libTKDEGLTF.so.7.9.3 deleted file mode 100644 index b9f77727..00000000 Binary files a/entry/libs/x86_64/libTKDEGLTF.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKDEIGES.so.7.9.3 b/entry/libs/x86_64/libTKDEIGES.so.7.9.3 deleted file mode 100644 index fd0b3636..00000000 Binary files a/entry/libs/x86_64/libTKDEIGES.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKDEOBJ.so.7.9.3 b/entry/libs/x86_64/libTKDEOBJ.so.7.9.3 deleted file mode 100644 index 8cccb9e2..00000000 Binary files a/entry/libs/x86_64/libTKDEOBJ.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKDEPLY.so.7.9.3 b/entry/libs/x86_64/libTKDEPLY.so.7.9.3 deleted file mode 100644 index b65e667c..00000000 Binary files a/entry/libs/x86_64/libTKDEPLY.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKDESTEP.so.7.9.3 b/entry/libs/x86_64/libTKDESTEP.so.7.9.3 deleted file mode 100644 index e49e3ac6..00000000 Binary files a/entry/libs/x86_64/libTKDESTEP.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKDESTL.so.7.9.3 b/entry/libs/x86_64/libTKDESTL.so.7.9.3 deleted file mode 100644 index 255b53e5..00000000 Binary files a/entry/libs/x86_64/libTKDESTL.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKDEVRML.so.7.9.3 b/entry/libs/x86_64/libTKDEVRML.so.7.9.3 deleted file mode 100644 index 12539208..00000000 Binary files a/entry/libs/x86_64/libTKDEVRML.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKFeat.so.7.9.3 b/entry/libs/x86_64/libTKFeat.so.7.9.3 deleted file mode 100644 index 3cdc4196..00000000 Binary files a/entry/libs/x86_64/libTKFeat.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKFillet.so.7.9.3 b/entry/libs/x86_64/libTKFillet.so.7.9.3 deleted file mode 100644 index 55317bfc..00000000 Binary files a/entry/libs/x86_64/libTKFillet.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKG2d.so.7.9.3 b/entry/libs/x86_64/libTKG2d.so.7.9.3 deleted file mode 100644 index a3cce573..00000000 Binary files a/entry/libs/x86_64/libTKG2d.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKG3d.so.7.9.3 b/entry/libs/x86_64/libTKG3d.so.7.9.3 deleted file mode 100644 index c52c533e..00000000 Binary files a/entry/libs/x86_64/libTKG3d.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKGeomAlgo.so.7.9.3 b/entry/libs/x86_64/libTKGeomAlgo.so.7.9.3 deleted file mode 100644 index 130293bd..00000000 Binary files a/entry/libs/x86_64/libTKGeomAlgo.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKGeomBase.so.7.9.3 b/entry/libs/x86_64/libTKGeomBase.so.7.9.3 deleted file mode 100644 index 37260bfa..00000000 Binary files a/entry/libs/x86_64/libTKGeomBase.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKHLR.so.7.9.3 b/entry/libs/x86_64/libTKHLR.so.7.9.3 deleted file mode 100644 index b25c357a..00000000 Binary files a/entry/libs/x86_64/libTKHLR.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKLCAF.so.7.9.3 b/entry/libs/x86_64/libTKLCAF.so.7.9.3 deleted file mode 100644 index 440bf9d1..00000000 Binary files a/entry/libs/x86_64/libTKLCAF.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKMath.so.7.9.3 b/entry/libs/x86_64/libTKMath.so.7.9.3 deleted file mode 100644 index 5b94b28d..00000000 Binary files a/entry/libs/x86_64/libTKMath.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKMesh.so.7.9.3 b/entry/libs/x86_64/libTKMesh.so.7.9.3 deleted file mode 100644 index cea5129b..00000000 Binary files a/entry/libs/x86_64/libTKMesh.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKMeshVS.so.7.9.3 b/entry/libs/x86_64/libTKMeshVS.so.7.9.3 deleted file mode 100644 index 97cc4a93..00000000 Binary files a/entry/libs/x86_64/libTKMeshVS.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKOffset.so.7.9.3 b/entry/libs/x86_64/libTKOffset.so.7.9.3 deleted file mode 100644 index ddf08b0d..00000000 Binary files a/entry/libs/x86_64/libTKOffset.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKOpenGles.so.7.9.3 b/entry/libs/x86_64/libTKOpenGles.so.7.9.3 deleted file mode 100644 index e67563a9..00000000 Binary files a/entry/libs/x86_64/libTKOpenGles.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKPrim.so.7.9.3 b/entry/libs/x86_64/libTKPrim.so.7.9.3 deleted file mode 100644 index 8fd97f4d..00000000 Binary files a/entry/libs/x86_64/libTKPrim.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKRWMesh.so.7.9.3 b/entry/libs/x86_64/libTKRWMesh.so.7.9.3 deleted file mode 100644 index 9dee1b75..00000000 Binary files a/entry/libs/x86_64/libTKRWMesh.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKService.so.7.9.3 b/entry/libs/x86_64/libTKService.so.7.9.3 deleted file mode 100644 index 16f2b3d0..00000000 Binary files a/entry/libs/x86_64/libTKService.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKShHealing.so.7.9.3 b/entry/libs/x86_64/libTKShHealing.so.7.9.3 deleted file mode 100644 index 63180e86..00000000 Binary files a/entry/libs/x86_64/libTKShHealing.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKStd.so.7.9.3 b/entry/libs/x86_64/libTKStd.so.7.9.3 deleted file mode 100644 index f2aab953..00000000 Binary files a/entry/libs/x86_64/libTKStd.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKStdL.so.7.9.3 b/entry/libs/x86_64/libTKStdL.so.7.9.3 deleted file mode 100644 index ece2be82..00000000 Binary files a/entry/libs/x86_64/libTKStdL.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKTObj.so.7.9.3 b/entry/libs/x86_64/libTKTObj.so.7.9.3 deleted file mode 100644 index 1194029f..00000000 Binary files a/entry/libs/x86_64/libTKTObj.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKTopAlgo.so.7.9.3 b/entry/libs/x86_64/libTKTopAlgo.so.7.9.3 deleted file mode 100644 index a9fc40d1..00000000 Binary files a/entry/libs/x86_64/libTKTopAlgo.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKV3d.so.7.9.3 b/entry/libs/x86_64/libTKV3d.so.7.9.3 deleted file mode 100644 index 5b319c6b..00000000 Binary files a/entry/libs/x86_64/libTKV3d.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKVCAF.so.7.9.3 b/entry/libs/x86_64/libTKVCAF.so.7.9.3 deleted file mode 100644 index a76807fd..00000000 Binary files a/entry/libs/x86_64/libTKVCAF.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKXCAF.so.7.9.3 b/entry/libs/x86_64/libTKXCAF.so.7.9.3 deleted file mode 100644 index 35b8774f..00000000 Binary files a/entry/libs/x86_64/libTKXCAF.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKXMesh.so.7.9.3 b/entry/libs/x86_64/libTKXMesh.so.7.9.3 deleted file mode 100644 index ace70a00..00000000 Binary files a/entry/libs/x86_64/libTKXMesh.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKXSBase.so.7.9.3 b/entry/libs/x86_64/libTKXSBase.so.7.9.3 deleted file mode 100644 index 28057222..00000000 Binary files a/entry/libs/x86_64/libTKXSBase.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKXml.so.7.9.3 b/entry/libs/x86_64/libTKXml.so.7.9.3 deleted file mode 100644 index f3fedfd4..00000000 Binary files a/entry/libs/x86_64/libTKXml.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKXmlL.so.7.9.3 b/entry/libs/x86_64/libTKXmlL.so.7.9.3 deleted file mode 100644 index 16d57e49..00000000 Binary files a/entry/libs/x86_64/libTKXmlL.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKXmlTObj.so.7.9.3 b/entry/libs/x86_64/libTKXmlTObj.so.7.9.3 deleted file mode 100644 index 7b6282ff..00000000 Binary files a/entry/libs/x86_64/libTKXmlTObj.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKXmlXCAF.so.7.9.3 b/entry/libs/x86_64/libTKXmlXCAF.so.7.9.3 deleted file mode 100644 index 89738eda..00000000 Binary files a/entry/libs/x86_64/libTKXmlXCAF.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libTKernel.so.7.9.3 b/entry/libs/x86_64/libTKernel.so.7.9.3 deleted file mode 100644 index 6a7b71ff..00000000 Binary files a/entry/libs/x86_64/libTKernel.so.7.9.3 and /dev/null differ diff --git a/entry/libs/x86_64/libbrotlicommon.so.1.2.0 b/entry/libs/x86_64/libbrotlicommon.so.1.2.0 deleted file mode 100644 index 2a79804c..00000000 Binary files a/entry/libs/x86_64/libbrotlicommon.so.1.2.0 and /dev/null differ diff --git a/entry/libs/x86_64/libbrotlidec.so.1.2.0 b/entry/libs/x86_64/libbrotlidec.so.1.2.0 deleted file mode 100644 index bce04483..00000000 Binary files a/entry/libs/x86_64/libbrotlidec.so.1.2.0 and /dev/null differ diff --git a/entry/libs/x86_64/libbrotlienc.so.1.2.0 b/entry/libs/x86_64/libbrotlienc.so.1.2.0 deleted file mode 100644 index 55af6b42..00000000 Binary files a/entry/libs/x86_64/libbrotlienc.so.1.2.0 and /dev/null differ diff --git a/entry/libs/x86_64/libbz2.so.1.0.8 b/entry/libs/x86_64/libbz2.so.1.0.8 deleted file mode 100644 index e945be82..00000000 Binary files a/entry/libs/x86_64/libbz2.so.1.0.8 and /dev/null differ diff --git a/entry/libs/x86_64/libexpat.so.1.11.2 b/entry/libs/x86_64/libexpat.so.1.11.2 deleted file mode 100644 index a2703820..00000000 Binary files a/entry/libs/x86_64/libexpat.so.1.11.2 and /dev/null differ diff --git a/entry/libs/x86_64/libfontconfig.so.1.16.0 b/entry/libs/x86_64/libfontconfig.so.1.16.0 deleted file mode 100644 index 0480535d..00000000 Binary files a/entry/libs/x86_64/libfontconfig.so.1.16.0 and /dev/null differ diff --git a/entry/libs/x86_64/libfreetype.so.6.20.2 b/entry/libs/x86_64/libfreetype.so.6.20.2 deleted file mode 100644 index dbd514fc..00000000 Binary files a/entry/libs/x86_64/libfreetype.so.6.20.2 and /dev/null differ diff --git a/entry/libs/x86_64/libpng16.so.16.54.0 b/entry/libs/x86_64/libpng16.so.16.54.0 deleted file mode 100644 index 7664a931..00000000 Binary files a/entry/libs/x86_64/libpng16.so.16.54.0 and /dev/null differ diff --git a/entry/libs/x86_64/libz.so b/entry/libs/x86_64/libz.so deleted file mode 100644 index 190094a9..00000000 Binary files a/entry/libs/x86_64/libz.so and /dev/null differ diff --git a/entry/libs/x86_64/libz.so.1.3.1 b/entry/libs/x86_64/libz.so.1.3.1 deleted file mode 100644 index 190094a9..00000000 Binary files a/entry/libs/x86_64/libz.so.1.3.1 and /dev/null differ diff --git a/entry/src/main/cpp/CMakeLists.txt b/entry/src/main/cpp/CMakeLists.txt index 22a3e59f..ecbea014 100644 --- a/entry/src/main/cpp/CMakeLists.txt +++ b/entry/src/main/cpp/CMakeLists.txt @@ -11,17 +11,62 @@ include_directories(${NATIVERENDER_ROOT_PATH} ${NATIVERENDER_ROOT_PATH}/include/opencascade ) -# OCCT 库目录(仅用于查找文件,不直接用于链接) -set(OCCT_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}) -link_directories(${OCCT_LIB_DIR}) +set(CMAKE_SKIP_BUILD_RPATH FALSE) +set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) +set(CMAKE_INSTALL_RPATH "$ORIGIN") +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE) -# 定义 OCCT 核心库列表 -set(OCCT_LIBS +# 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}) + add_library(occt_${LIB_NAME} SHARED IMPORTED) + set_target_properties(occt_${LIB_NAME} PROPERTIES + IMPORTED_LOCATION ${OCCT_LIB_DIR}/lib${LIB_NAME}.so.${OCCT_VERSION} + IMPORTED_SONAME lib${LIB_NAME}.so.${OCCT_VERSION} + ) + list(APPEND OCCT_IMPORTED_LIBS occt_${LIB_NAME}) +endforeach() + +#THIRD_PARTY_LIBS +set(THIRD_PARTY_LIBS freetype fontconfig expat z bz2 png16 brotlicommon brotlidec brotlienc ) +foreach(LIB_NAME ${THIRD_PARTY_LIBS}) + if(LIB_NAME STREQUAL "z") + set(LIB_FILE "libz.so.1") + elseif(LIB_NAME STREQUAL "bz2") + set(LIB_FILE "libbz2.so.1.0") + elseif(LIB_NAME STREQUAL "png16") + set(LIB_FILE "libpng16.so.16") + elseif(LIB_NAME STREQUAL "brotlicommon") + set(LIB_FILE "libbrotlicommon.so.1") + elseif(LIB_NAME STREQUAL "brotlidec") + set(LIB_FILE "libbrotlidec.so.1") + elseif(LIB_NAME STREQUAL "brotlienc") + set(LIB_FILE "libbrotlienc.so.1") + elseif(LIB_NAME STREQUAL "fontconfig") + set(LIB_FILE "libfontconfig.so.1") + elseif(LIB_NAME STREQUAL "freetype") + set(LIB_FILE "libfreetype.so.6") + elseif(LIB_NAME STREQUAL "expat") + set(LIB_FILE "libexpat.so.1") + endif() + + add_library(tp_${LIB_NAME} SHARED IMPORTED) + set_target_properties(tp_${LIB_NAME} PROPERTIES + IMPORTED_LOCATION ${OCCT_LIB_DIR}/${LIB_FILE} + IMPORTED_SONAME ${LIB_FILE} + ) + list(APPEND OCCT_IMPORTED_LIBS tp_${LIB_NAME}) +endforeach() + # 添加源文件 add_library(occtrender SHARED napi_init.cpp @@ -42,6 +87,10 @@ find_library(hilog-lib hilog_ndk.z) find_library(libace-lib ace_ndk.z) find_library(libuv-lib uv) +set(CMAKE_SKIP_BUILD_RPATH FALSE) +set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) +set(CMAKE_INSTALL_RPATH "$ORIGIN") +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # 链接系统库 target_link_libraries(occtrender PUBLIC # EGL Hilog 库 @@ -53,6 +102,6 @@ target_link_libraries(occtrender PUBLIC libnative_window.so libace_napi.z.so #OCCT核心库 - ${OCCT_LIBS} + ${OCCT_IMPORTED_LIBS} )