From 13b711602c56b2c384f7eb5552d25c5897c0c159 Mon Sep 17 00:00:00 2001 From: "yifan.wu" Date: Mon, 15 Aug 2022 13:58:35 +0800 Subject: [PATCH] ENH: add freetype for occt Signed-off-by: yifan.wu Change-Id: I3adcf4b27deb0953e059c3e7fa9b9d49e447c57b (cherry picked from commit 400cff06210c62e4019ff6f7174216d2faeaa8e2) --- CMakeLists.txt | 3 +++ deps/CMakeLists.txt | 2 ++ deps/FREETYPE/FREETYPE.cmake | 23 +++++++++++++++++++++++ deps/OCCT/OCCT.cmake | 22 ++++++++++++---------- src/libslic3r/CMakeLists.txt | 5 +++++ 5 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 deps/FREETYPE/FREETYPE.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index fa776709f..4db9ea551 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -613,6 +613,7 @@ function(bambustudio_copy_dlls target config postfix output_dlls) ${CMAKE_PREFIX_PATH}/bin/occt/TKXCAF.dll ${CMAKE_PREFIX_PATH}/bin/occt/TKXDESTEP.dll ${CMAKE_PREFIX_PATH}/bin/occt/TKXSBase.dll + ${CMAKE_PREFIX_PATH}/bin/freetype.dll DESTINATION ${_out_dir}) set(${output_dlls} @@ -647,6 +648,8 @@ function(bambustudio_copy_dlls target config postfix output_dlls) ${_out_dir}/TKXDESTEP.dll ${_out_dir}/TKXSBase.dll + ${_out_dir}/freetype.dll + PARENT_SCOPE ) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 5e8f00fef..3b2639413 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -191,6 +191,7 @@ include(JPEG/JPEG.cmake) include(TIFF/TIFF.cmake) include(wxWidgets/wxWidgets.cmake) include(OCCT/OCCT.cmake) +include(FREETYPE/FREETYPE.cmake) set(_dep_list dep_Boost @@ -219,6 +220,7 @@ else() endif() list(APPEND _dep_list "dep_OCCT") +list(APPEND _dep_list "dep_FREETYPE") add_custom_target(deps ALL DEPENDS ${_dep_list}) diff --git a/deps/FREETYPE/FREETYPE.cmake b/deps/FREETYPE/FREETYPE.cmake new file mode 100644 index 000000000..c8aa400a2 --- /dev/null +++ b/deps/FREETYPE/FREETYPE.cmake @@ -0,0 +1,23 @@ +if(WIN32) + set(library_build_shared "1") +else() + set(library_build_shared "0") +endif() + +bambustudio_add_cmake_project(FREETYPE + URL https://mirror.ossplanet.net/nongnu/freetype/freetype-2.12.1.tar.gz + URL_HASH SHA256=efe71fd4b8246f1b0b1b9bfca13cfff1c9ad85930340c27df469733bbb620938 + #DEPENDS ${ZLIB_PKG} + #"${_patch_step}" + CMAKE_ARGS + -D BUILD_SHARED_LIBS=${library_build_shared} + -D FT_DISABLE_ZLIB=TRUE + -D FT_DISABLE_BZIP2=TRUE + -D FT_DISABLE_PNG=TRUE + -D FT_DISABLE_HARFBUZZ=TRUE + -D FT_DISABLE_BROTLI=TRUE +) + +if(MSVC) + add_debug_dep(dep_FREETYPE) +endif() diff --git a/deps/OCCT/OCCT.cmake b/deps/OCCT/OCCT.cmake index 89af49808..2943a3cbb 100644 --- a/deps/OCCT/OCCT.cmake +++ b/deps/OCCT/OCCT.cmake @@ -10,19 +10,21 @@ bambustudio_add_cmake_project(OCCT #PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch PATCH_COMMAND git apply --directory deps/build/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch #DEPENDS dep_Boost + #DEPENDS dep_FREETYPE CMAKE_ARGS -DBUILD_LIBRARY_TYPE=${library_build_type} -DUSE_TK=OFF -DUSE_TBB=OFF - -DUSE_FREETYPE=OFF - -DUSE_FFMPEG=OFF - -DUSE_VTK=OFF - -DUSE_FREETYPE=OFF - -DBUILD_MODULE_ApplicationFramework=OFF - #-DBUILD_MODULE_DataExchange=OFF + #-DUSE_FREETYPE=OFF + -DUSE_FFMPEG=OFF + -DUSE_VTK=OFF + -DBUILD_MODULE_ApplicationFramework=OFF + #-DBUILD_MODULE_DataExchange=OFF -DBUILD_MODULE_Draw=OFF - -DBUILD_MODULE_FoundationClasses=OFF - -DBUILD_MODULE_ModelingAlgorithms=OFF - -DBUILD_MODULE_ModelingData=OFF - -DBUILD_MODULE_Visualization=OFF + -DBUILD_MODULE_FoundationClasses=OFF + -DBUILD_MODULE_ModelingAlgorithms=OFF + -DBUILD_MODULE_ModelingData=OFF + -DBUILD_MODULE_Visualization=OFF ) + +add_dependencies(dep_OCCT dep_FREETYPE) diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt index 97af76d21..da327ec97 100644 --- a/src/libslic3r/CMakeLists.txt +++ b/src/libslic3r/CMakeLists.txt @@ -445,6 +445,11 @@ set(OCCT_LIBS TKernel ) +if(APPLE) + target_link_libraries(libslic3r freetype) +endif() + + target_link_libraries(libslic3r libnest2d admesh