Skip to content

Commit 71c022e

Browse files
committed
Fixed build on macOS 26
Updated dependencies, added CGALCompat from supermerill/SuperSlicer#4635.
1 parent 456a87d commit 71c022e

32 files changed

+420
-181
lines changed

.gitignore

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,53 @@ doc/
2828
**/process_full/
2929
**/machine_full/
3030
**/filament_full/
31+
### C++ template
32+
# Prerequisites
33+
*.d
34+
35+
# Compiled Object files
36+
*.slo
37+
*.lo
38+
*.o
39+
*.obj
40+
41+
# Precompiled Headers
42+
*.gch
43+
*.pch
44+
45+
# Compiled Dynamic libraries
46+
*.so
47+
*.dylib
48+
*.dll
49+
50+
# Fortran module files
51+
*.mod
52+
*.smod
53+
54+
# Compiled Static libraries
55+
*.lai
56+
*.la
57+
*.a
58+
*.lib
59+
60+
# Executables
61+
*.exe
62+
*.out
63+
*.app
64+
65+
### CMake template
66+
CMakeLists.txt.user
67+
CMakeCache.txt
68+
CMakeFiles
69+
CMakeScripts
70+
Testing
71+
Makefile
72+
cmake_install.cmake
73+
install_manifest.txt
74+
compile_commands.json
75+
CTestTestfile.cmake
76+
_deps
77+
CMakeUserPresets.json
78+
79+
# JetBrains
80+
.idea/

CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,9 @@ include_directories(${LIBDIR_BIN}/platform)
310310
# For ligigl
311311
include_directories(${LIBDIR}/libigl)
312312

313+
# tell *all* targets to look in src/boost for any <boost/...> headers
314+
include_directories(${CMAKE_SOURCE_DIR}/src/boost)
315+
313316
if(WIN32)
314317
add_definitions(-D_USE_MATH_DEFINES -D_WIN32 -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
315318
if(MSVC)
@@ -356,7 +359,8 @@ endif()
356359
# set(Boost_COMPILER "-mgw81")
357360
# boost::process was introduced first in version 1.64.0,
358361
# boost::beast::detail::base64 was introduced first in version 1.66.0
359-
set(MINIMUM_BOOST_VERSION "1.66.0")
362+
# https://github.com/boostorg/mpl/issues/69 in version 1.86.0
363+
set(MINIMUM_BOOST_VERSION "1.86.0")
360364
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams")
361365
find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components})
362366

deps/Boost/Boost.cmake

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,13 +124,12 @@ set(_build_cmd ${_build_cmd}
124124

125125
set(_install_cmd ${_build_cmd} --prefix=${_prefix} install)
126126

127-
list(APPEND _patch_command COMMAND git init && ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-Boost-fix.patch)
127+
#list(APPEND _patch_command COMMAND git init && ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-Boost-fix.patch)
128128

129129
ExternalProject_Add(
130130
dep_Boost
131-
#URL "https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.zip"
132-
URL "https://github.com/bambulab/boost/releases/download/1.78.0/boost_1_78_0.zip"
133-
URL_HASH SHA256=f22143b5528e081123c3c5ed437e92f648fe69748e95fa6e2bd41484e2986cc3
131+
URL "https://github.com/boostorg/boost/releases/download/boost-1.88.0/boost-1.88.0-cmake.tar.gz"
132+
URL_HASH SHA256=dcea50f40ba1ecfc448fdf886c0165cf3e525fef2c9e3e080b9804e8117b9694
134133
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
135134
CONFIGURE_COMMAND "${_bootstrap_cmd}"
136135
PATCH_COMMAND ${_patch_command}

deps/CGAL/CGAL.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ bambustudio_add_cmake_project(
33
# GIT_REPOSITORY https://github.com/CGAL/cgal.git
44
# GIT_TAG caacd806dc55c61cc68adaad99f2240f00493b29 # releases/CGAL-5.3
55
# For whatever reason, this keeps downloading forever (repeats downloads if finished)
6-
URL https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip
7-
URL_HASH SHA256=d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0
6+
URL https://github.com/CGAL/cgal/archive/refs/tags/v6.0.1.zip
7+
URL_HASH SHA256=6aa3837ebcefc39a53a7e6ac8ac08d7695d942e2eaab3709dc43da118cd10bc4
88
DEPENDS ${BOOST_PKG} dep_GMP dep_MPFR
99
)
1010

deps/CGAL/cgal/CGALConfigVersion.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
88
# The variable CVF_VERSION must be set before calling configure_file().
99

10-
set(PACKAGE_VERSION "5.0.0")
10+
set(PACKAGE_VERSION "6.0.1")
1111

1212
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
1313
set(PACKAGE_VERSION_COMPATIBLE FALSE)

deps/OpenCV/OpenCV.cmake

Lines changed: 65 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -5,69 +5,69 @@ else ()
55
endif ()
66

77
bambustudio_add_cmake_project(OpenCV
8-
URL https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz
9-
URL_HASH SHA256=1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277
10-
PATCH_COMMAND ${GIT_EXECUTABLE} apply --directory deps/build/dep_OpenCV-prefix/src/dep_OpenCV --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch
11-
CMAKE_ARGS
12-
-DBUILD_SHARED_LIBS=0
13-
-DBUILD_PERE_TESTS=OFF
14-
-DBUILD_TESTS=OFF
15-
-DBUILD_opencv_python_tests=OFF
16-
-DBUILD_EXAMPLES=OFF
17-
-DBUILD_JASPER=OFF
18-
-DBUILD_JAVA=OFF
19-
-DBUILD_JPEG=ON
20-
-DBUILD_APPS_LIST=version
21-
-DBUILD_opencv_apps=OFF
22-
-DBUILD_opencv_java=OFF
23-
-DBUILD_OPENEXR=OFF
24-
-DBUILD_PNG=ON
25-
-DBUILD_TBB=OFF
26-
-DBUILD_WEBP=OFF
27-
-DBUILD_ZLIB=OFF
28-
-DWITH_1394=OFF
29-
-DWITH_CUDA=OFF
30-
-DWITH_EIGEN=OFF
31-
${_use_IPP}
32-
-DWITH_ITT=OFF
33-
-DWITH_FFMPEG=OFF
34-
-DWITH_GPHOTO2=OFF
35-
-DWITH_GSTREAMER=OFF
36-
-DOPENCV_GAPI_GSTREAMER=OFF
37-
-DWITH_GTK_2_X=OFF
38-
-DWITH_JASPER=OFF
39-
-DWITH_LAPACK=OFF
40-
-DWITH_MATLAB=OFF
41-
-DWITH_MFX=OFF
42-
-DWITH_DIRECTX=OFF
43-
-DWITH_DIRECTML=OFF
44-
-DWITH_OPENCL=OFF
45-
-DWITH_OPENCL_D3D11_NV=OFF
46-
-DWITH_OPENCLAMDBLAS=OFF
47-
-DWITH_OPENCLAMDFFT=OFF
48-
-DWITH_OPENEXR=OFF
49-
-DWITH_OPENJPEG=OFF
50-
-DWITH_QUIRC=OFF
51-
-DWITH_VTK=OFF
52-
-DWITH_WEBP=OFF
53-
-DENABLE_PRECOMPILED_HEADERS=OFF
54-
-DINSTALL_TESTS=OFF
55-
-DINSTALL_C_EXAMPLES=OFF
56-
-DINSTALL_PYTHON_EXAMPLES=OFF
57-
-DOPENCV_GENERATE_SETUPVARS=OFF
58-
-DOPENCV_INSTALL_FFMPEG_DOWNLOAD_SCRIPT=OFF
59-
-DBUILD_opencv_python2=OFF
60-
-DBUILD_opencv_python3=OFF
61-
-DWITH_OPENVINO=OFF
62-
-DWITH_INF_ENGINE=OFF
63-
-DWITH_NGRAPH=OFF
64-
-DBUILD_WITH_STATIC_CRT=OFF#set /MDd /MD
65-
-DBUILD_LIST=core,imgcodecs,imgproc,world
66-
-DBUILD_opencv_highgui=OFF
67-
-DWITH_ADE=OFF
68-
-DBUILD_opencv_world=ON
69-
-DWITH_PROTOBUF=OFF
70-
-DWITH_WIN32UI=OFF
71-
-DHAVE_WIN32UI=FALSE
8+
URL https://github.com/opencv/opencv/archive/refs/tags/4.12.0.zip
9+
URL_HASH SHA256=fa3faf7581f1fa943c9e670cf57dd6ba1c5b4178f363a188a2c8bff1eb28b7e4
10+
# PATCH_COMMAND ${GIT_EXECUTABLE} apply --directory deps/build/dep_OpenCV-prefix/src/dep_OpenCV --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch
11+
CMAKE_ARGS
12+
-DBUILD_SHARED_LIBS=0
13+
-DBUILD_PERE_TESTS=OFF
14+
-DBUILD_TESTS=OFF
15+
-DBUILD_opencv_python_tests=OFF
16+
-DBUILD_EXAMPLES=OFF
17+
-DBUILD_JASPER=OFF
18+
-DBUILD_JAVA=OFF
19+
-DBUILD_JPEG=ON
20+
-DBUILD_APPS_LIST=version
21+
-DBUILD_opencv_apps=OFF
22+
-DBUILD_opencv_java=OFF
23+
-DBUILD_OPENEXR=OFF
24+
-DBUILD_PNG=ON
25+
-DBUILD_TBB=OFF
26+
-DBUILD_WEBP=OFF
27+
-DBUILD_ZLIB=OFF
28+
-DWITH_1394=OFF
29+
-DWITH_CUDA=OFF
30+
-DWITH_EIGEN=OFF
31+
${_use_IPP}
32+
-DWITH_ITT=OFF
33+
-DWITH_FFMPEG=OFF
34+
-DWITH_GPHOTO2=OFF
35+
-DWITH_GSTREAMER=OFF
36+
-DOPENCV_GAPI_GSTREAMER=OFF
37+
-DWITH_GTK_2_X=OFF
38+
-DWITH_JASPER=OFF
39+
-DWITH_LAPACK=OFF
40+
-DWITH_MATLAB=OFF
41+
-DWITH_MFX=OFF
42+
-DWITH_DIRECTX=OFF
43+
-DWITH_DIRECTML=OFF
44+
-DWITH_OPENCL=OFF
45+
-DWITH_OPENCL_D3D11_NV=OFF
46+
-DWITH_OPENCLAMDBLAS=OFF
47+
-DWITH_OPENCLAMDFFT=OFF
48+
-DWITH_OPENEXR=OFF
49+
-DWITH_OPENJPEG=OFF
50+
-DWITH_QUIRC=OFF
51+
-DWITH_VTK=OFF
52+
-DWITH_WEBP=OFF
53+
-DENABLE_PRECOMPILED_HEADERS=OFF
54+
-DINSTALL_TESTS=OFF
55+
-DINSTALL_C_EXAMPLES=OFF
56+
-DINSTALL_PYTHON_EXAMPLES=OFF
57+
-DOPENCV_GENERATE_SETUPVARS=OFF
58+
-DOPENCV_INSTALL_FFMPEG_DOWNLOAD_SCRIPT=OFF
59+
-DBUILD_opencv_python2=OFF
60+
-DBUILD_opencv_python3=OFF
61+
-DWITH_OPENVINO=OFF
62+
-DWITH_INF_ENGINE=OFF
63+
-DWITH_NGRAPH=OFF
64+
-DBUILD_WITH_STATIC_CRT=OFF#set /MDd /MD
65+
-DBUILD_LIST=core,imgcodecs,imgproc,world
66+
-DBUILD_opencv_highgui=OFF
67+
-DWITH_ADE=OFF
68+
-DBUILD_opencv_world=ON
69+
-DWITH_PROTOBUF=OFF
70+
-DWITH_WIN32UI=OFF
71+
-DHAVE_WIN32UI=FALSE
72+
-DWITH_AVIF=OFF
7273
)
73-

deps/OpenVDB/OpenVDB.cmake

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,16 @@ set (_openvdb_vdbprint ON)
1313
#set (_openvdb_vdbprint OFF)
1414
#endif ()
1515
bambustudio_add_cmake_project(OpenVDB
16-
URL https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip # 8.2 patched
17-
URL_HASH SHA256=f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
18-
# URL https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v10.0.1.zip
19-
# URL_HASH SHA256=48C2CFA9853B58FA86282DF1F83F0E99D07858CC03EB2BA8227DC447A830100A
16+
# URL https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip # 8.2 patched
17+
# URL_HASH SHA256=f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
18+
URL https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v12.0.1.zip
19+
URL_HASH SHA256=d5dc08561932237addc373a9171619055fa53cee80522fc741cfdd248e0ec0c5
2020
DEPENDS dep_TBB dep_Blosc dep_OpenEXR ${BOOST_PKG}
2121
CMAKE_ARGS
22-
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
22+
# -DCMAKE_CXX_STANDARD=17
23+
# -DCMAKE_CXX_STANDARD_REQUIRED=ON
24+
# -DOPENVDB_ABI_VERSION_NUMBER=12
25+
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
2326
-DOPENVDB_BUILD_PYTHON_MODULE=OFF
2427
-DUSE_BLOSC=ON
2528
-DOPENVDB_CORE_SHARED=${_build_shared}

deps/PNG/PNG.cmake

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@ else ()
55
set(_disable_neon_extension "")
66
endif ()
77

8-
set(_patch_step "")
9-
if (APPLE)
10-
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
11-
endif ()
8+
#set(_patch_step "")
9+
#if (APPLE)
10+
# set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
11+
#endif ()
1212

1313
bambustudio_add_cmake_project(PNG
1414
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
15-
# GIT_TAG v1.6.35
16-
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
17-
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
15+
# GIT_TAG v1.6.50
16+
URL https://github.com/pnggroup/libpng/archive/refs/tags/v1.6.50.zip
17+
URL_HASH SHA256=f6bb2544d2cf5465af3a695dee0b7eacff82f11a50aa4672ef0e19df6e16d455
1818
DEPENDS ${ZLIB_PKG}
1919
"${_patch_step}"
2020
CMAKE_ARGS

deps/TBB/TBB.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
bambustudio_add_cmake_project(
22
TBB
3-
URL "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.5.0.zip"
4-
URL_HASH SHA256=83ea786c964a384dd72534f9854b419716f412f9d43c0be88d41874763e7bb47
3+
URL "https://github.com/uxlfoundation/oneTBB/archive/refs/tags/v2022.2.0.zip"
4+
URL_HASH SHA256=5470ccd4d127c6d680e46fee016531e452dc653d8eb1a40bd78ff087600fa582
55
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-TBB-GCC13.patch
66
CMAKE_ARGS
77
-DTBB_BUILD_SHARED=OFF
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
// filesystem/string_file.hpp --------------------------------------------------------//
2+
3+
// Copyright Beman Dawes 2015
4+
5+
// Distributed under the Boost Software License, Version 1.0.
6+
// See http://www.boost.org/LICENSE_1_0.txt
7+
8+
// Library home page: http://www.boost.org/libs/filesystem
9+
10+
#ifndef BOOST_FILESYSTEM_STRING_FILE_HPP
11+
#define BOOST_FILESYSTEM_STRING_FILE_HPP
12+
13+
#include <boost/filesystem/config.hpp>
14+
15+
#if !defined(BOOST_FILESYSTEM_DEPRECATED) && !defined(BOOST_FILESYSTEM_ALLOW_DEPRECATED)
16+
#include <boost/config/header_deprecated.hpp>
17+
BOOST_HEADER_DEPRECATED("your own implementation")
18+
#endif
19+
20+
#if !defined(BOOST_FILESYSTEM_NO_DEPRECATED)
21+
22+
#include <cstddef>
23+
#include <limits>
24+
#include <string>
25+
#include <ios>
26+
#include <stdexcept>
27+
#include <boost/cstdint.hpp>
28+
#include <boost/filesystem/path.hpp>
29+
#include <boost/filesystem/fstream.hpp>
30+
#include <boost/filesystem/operations.hpp>
31+
32+
#include <boost/filesystem/detail/header.hpp> // must be the last #include
33+
34+
namespace boost {
35+
namespace filesystem {
36+
37+
BOOST_FILESYSTEM_DETAIL_DEPRECATED("Use file IO streams instead")
38+
inline void save_string_file(path const& p, std::string const& str)
39+
{
40+
filesystem::ofstream file;
41+
file.exceptions(std::ios_base::failbit | std::ios_base::badbit);
42+
file.open(p, std::ios_base::binary);
43+
const std::size_t sz = str.size();
44+
if (BOOST_UNLIKELY(sz > static_cast< boost::uintmax_t >((std::numeric_limits< std::streamsize >::max)())))
45+
BOOST_FILESYSTEM_THROW(std::length_error("String size exceeds max write size"));
46+
file.write(str.c_str(), static_cast< std::streamsize >(sz));
47+
}
48+
49+
BOOST_FILESYSTEM_DETAIL_DEPRECATED("Use file IO streams instead")
50+
inline void load_string_file(path const& p, std::string& str)
51+
{
52+
filesystem::ifstream file;
53+
file.exceptions(std::ios_base::failbit | std::ios_base::badbit);
54+
file.open(p, std::ios_base::binary);
55+
const boost::uintmax_t sz = filesystem::file_size(p);
56+
if (BOOST_UNLIKELY(sz > static_cast< boost::uintmax_t >((std::numeric_limits< std::streamsize >::max)())))
57+
BOOST_FILESYSTEM_THROW(std::length_error("File size exceeds max read size"));
58+
str.resize(static_cast< std::size_t >(sz), '\0');
59+
if (sz > 0u)
60+
file.read(&str[0], static_cast< std::streamsize >(sz));
61+
}
62+
63+
} // namespace filesystem
64+
} // namespace boost
65+
66+
#include <boost/filesystem/detail/footer.hpp>
67+
68+
#endif // !defined(BOOST_FILESYSTEM_NO_DEPRECATED)
69+
70+
#endif // BOOST_FILESYSTEM_STRING_FILE_HPP

0 commit comments

Comments
 (0)