From 40a17695c5cc3b405e6bc37e231f6d290b41f561 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sun, 16 Jul 2023 00:41:53 +0800 Subject: [PATCH] fix vs2022 deps --- .github/workflows/build_win.yml | 8 ++++---- .gitignore | 2 +- cmake/modules/FindTBB.cmake | 28 +++++++++------------------- deps/OpenEXR/OpenEXR.cmake | 9 ++++++++- deps/OpenVDB/OpenVDB.cmake | 5 +++-- deps/TBB/TBB.cmake | 10 +++++----- src/libslic3r/Orient.cpp | 1 - src/libslic3r/TreeSupport.cpp | 2 +- 8 files changed, 31 insertions(+), 34 deletions(-) diff --git a/.github/workflows/build_win.yml b/.github/workflows/build_win.yml index b3a81574fa..8f0a990666 100644 --- a/.github/workflows/build_win.yml +++ b/.github/workflows/build_win.yml @@ -24,7 +24,7 @@ on: jobs: build_win64: name: Build Win64 - runs-on: windows-2019 + runs-on: windows-2022 steps: - uses: actions/checkout@v3 @@ -36,11 +36,11 @@ jobs: - run: mkdir ${{ github.workspace }}/deps/build/OrcaSlicer_dep - name: download deps shell: powershell - run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Mar/OrcaSlicer_dep_05May2023.zip", "$env:temp\OrcaSlicer_dep_05May2023.zip")' + run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/SoftFever/FileSharing/releases/download/4/OrcaSlicer_dep_16Jul2023.zip", "$env:temp\OrcaSlicer_dep_16Jul2023.zip")' - name: extract deps working-directory: ${{ github.workspace }}/deps/build shell: cmd - run: '"C:/Program Files/7-Zip/7z.exe" x %temp%\OrcaSlicer_dep_05May2023.zip' + run: '"C:/Program Files/7-Zip/7z.exe" x %temp%\OrcaSlicer_dep_16Jul2023.zip' - run: dir "${{ github.workspace }}\deps\build\OrcaSlicer_dep" @@ -63,7 +63,7 @@ jobs: - name: Build studio working-directory: ${{ github.workspace }} - run: .\build_release.bat studio + run: .\build_release_vs2022.bat studio # - name: pack app # working-directory: ${{ github.workspace }}/build diff --git a/.gitignore b/.gitignore index efe2e50257..ebf375aa08 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,7 @@ local-lib /src/TAGS /.vscode/ build-linux/* -deps/build-linux/* +deps/build*/* **/.DS_Store install_* build_*/ diff --git a/cmake/modules/FindTBB.cmake b/cmake/modules/FindTBB.cmake index 6aa89e3126..ed113bb8fb 100644 --- a/cmake/modules/FindTBB.cmake +++ b/cmake/modules/FindTBB.cmake @@ -1,29 +1,19 @@ -# This is a wrapper of FindTBB which prefers the config scripts if available in the system -# but only if building with dynamic dependencies. The config scripts potentially belong -# to TBB >= 2020 which is incompatible with OpenVDB in our static dependency bundle. -# This workaround is useful for package maintainers on Linux systems to use newer versions -# of intel TBB (renamed to oneTBB from version 2021 up). +# ported from PrusaSlicer set(_q "") if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) set(_q QUIET) endif() -# Only consider the config scripts if not building with the static dependencies -# and this call is not made from a static dependency build (e.g. dep_OpenVDB will use this module) -# BUILD_SHARED_LIBS will always be defined for dependency projects and will be OFF. -# Newer versions of TBB also discourage from using TBB as a static library -if (NOT SLIC3R_STATIC AND (NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS)) - find_package(${CMAKE_FIND_PACKAGE_NAME} ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} CONFIG ${_q}) - if(NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) - if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FOUND) - message(STATUS "Falling back to MODULE search for ${CMAKE_FIND_PACKAGE_NAME}...") - else() - message(STATUS "${CMAKE_FIND_PACKAGE_NAME} found in ${${CMAKE_FIND_PACKAGE_NAME}_DIR}") - endif() +find_package(${CMAKE_FIND_PACKAGE_NAME} ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} CONFIG ${_q}) + +if(NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) + if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FOUND) + message(STATUS "Falling back to MODULE search for ${CMAKE_FIND_PACKAGE_NAME}...") + else() + message(STATUS "${CMAKE_FIND_PACKAGE_NAME} found in ${${CMAKE_FIND_PACKAGE_NAME}_DIR}") endif() - -endif () +endif() if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FOUND) include(${CMAKE_CURRENT_LIST_DIR}/FindTBB.cmake.in) diff --git a/deps/OpenEXR/OpenEXR.cmake b/deps/OpenEXR/OpenEXR.cmake index 74d6de3272..8caf0d978d 100644 --- a/deps/OpenEXR/OpenEXR.cmake +++ b/deps/OpenEXR/OpenEXR.cmake @@ -29,11 +29,18 @@ if (APPLE AND IS_CROSS_COMPILE) ${_cmake_openexr_arch} ) else() + +if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OpenEXR-GCC13.patch) +else () + set(_patch_cmd "") +endif () + bambustudio_add_cmake_project(OpenEXR # GIT_REPOSITORY https://github.com/openexr/openexr.git URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip URL_HASH SHA256=0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de - PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OpenEXR-GCC13.patch + PATCH_COMMAND ${_patch_cmd} DEPENDS ${ZLIB_PKG} GIT_TAG v2.5.5 CMAKE_ARGS diff --git a/deps/OpenVDB/OpenVDB.cmake b/deps/OpenVDB/OpenVDB.cmake index b598d0c091..3622d3c9d7 100644 --- a/deps/OpenVDB/OpenVDB.cmake +++ b/deps/OpenVDB/OpenVDB.cmake @@ -7,8 +7,9 @@ else() endif() bambustudio_add_cmake_project(OpenVDB - URL https://github.com/tamasmeszaros/openvdb/archive/refs/tags/v6.2.1-prusa3d.zip #v6.2.1 patched - URL_HASH SHA256=caf9f0c91976722883ff9cb32420ef142af22f7e625fc643b91c23d6e4172f62 + # support vs2022, update to 8.2 + URL https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip + URL_HASH SHA256=f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81 DEPENDS dep_TBB dep_Blosc dep_OpenEXR dep_Boost CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON diff --git a/deps/TBB/TBB.cmake b/deps/TBB/TBB.cmake index 304b3ffb1b..87b76828a8 100644 --- a/deps/TBB/TBB.cmake +++ b/deps/TBB/TBB.cmake @@ -1,12 +1,12 @@ bambustudio_add_cmake_project( TBB - URL "https://github.com/wjakob/tbb/archive/a0dc9bf76d0120f917b641ed095360448cabc85b.tar.gz" - URL_HASH SHA256=0545cb6033bd1873fcae3ea304def720a380a88292726943ae3b9b207f322efe - PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-TBB-GCC13.patch - CMAKE_ARGS + URL "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.5.0.zip" + URL_HASH SHA256=83ea786c964a384dd72534f9854b419716f412f9d43c0be88d41874763e7bb47 + #PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-TBB-GCC13.patch + CMAKE_ARGS -DTBB_BUILD_SHARED=OFF -DTBB_BUILD_TESTS=OFF - -DTBB_BUILD_TESTS=OFF + -DTBB_TEST=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_DEBUG_POSTFIX=_debug ) diff --git a/src/libslic3r/Orient.cpp b/src/libslic3r/Orient.cpp index b7a6d619e6..0011898bcb 100644 --- a/src/libslic3r/Orient.cpp +++ b/src/libslic3r/Orient.cpp @@ -4,7 +4,6 @@ #include #include #include -#include #if defined(_MSC_VER) && defined(__clang__) #define BOOST_NO_CXX17_HDR_STRING_VIEW diff --git a/src/libslic3r/TreeSupport.cpp b/src/libslic3r/TreeSupport.cpp index 31db2d1488..f2309a930b 100644 --- a/src/libslic3r/TreeSupport.cpp +++ b/src/libslic3r/TreeSupport.cpp @@ -3580,7 +3580,7 @@ const ExPolygons& TreeSupportData::calculate_avoidance(const RadiusLayerPair& ke const auto& radius = key.radius; const auto& layer_nr = key.layer_nr; BOOST_LOG_TRIVIAL(debug) << "calculate_avoidance on radius=" << radius << ", layer=" << layer_nr<<", recursion="<::iterator,bool> ret; + std::pair::iterator,bool> ret; constexpr auto max_recursion_depth = 100; if (key.recursions <= max_recursion_depth*2) { if (layer_nr == 0) {