Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_contours
This commit is contained in:
commit
502906178f
58 changed files with 1855 additions and 2832 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,5 +1,6 @@
|
||||||
Build
|
Build
|
||||||
Build.bat
|
Build.bat
|
||||||
|
/build/
|
||||||
MYMETA.json
|
MYMETA.json
|
||||||
MYMETA.yml
|
MYMETA.yml
|
||||||
_build
|
_build
|
||||||
|
@ -11,3 +12,5 @@ xs/MANIFEST.bak
|
||||||
xs/assertlib*
|
xs/assertlib*
|
||||||
.init_bundle.ini
|
.init_bundle.ini
|
||||||
local-lib
|
local-lib
|
||||||
|
/src/TAGS
|
||||||
|
/.vscode/
|
||||||
|
|
|
@ -389,10 +389,13 @@ find_package(CURL REQUIRED)
|
||||||
add_library(libcurl INTERFACE)
|
add_library(libcurl INTERFACE)
|
||||||
target_link_libraries(libcurl INTERFACE CURL::libcurl)
|
target_link_libraries(libcurl INTERFACE CURL::libcurl)
|
||||||
|
|
||||||
|
# Fixing curl's cmake config script bugs
|
||||||
if (NOT WIN32)
|
if (NOT WIN32)
|
||||||
# Required by libcurl
|
# Required by libcurl
|
||||||
find_package(ZLIB REQUIRED)
|
find_package(ZLIB REQUIRED)
|
||||||
target_link_libraries(libcurl INTERFACE ZLIB::ZLIB)
|
target_link_libraries(libcurl INTERFACE ZLIB::ZLIB)
|
||||||
|
else()
|
||||||
|
target_link_libraries(libcurl INTERFACE crypt32)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (SLIC3R_STATIC)
|
if (SLIC3R_STATIC)
|
||||||
|
|
|
@ -347,7 +347,7 @@ macro(just_fail msg)
|
||||||
return()
|
return()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
find_package(IlmBase QUIET COMPONENTS Half)
|
find_package(IlmBase QUIET)
|
||||||
if(NOT IlmBase_FOUND)
|
if(NOT IlmBase_FOUND)
|
||||||
pkg_check_modules(IlmBase QUIET IlmBase)
|
pkg_check_modules(IlmBase QUIET IlmBase)
|
||||||
endif()
|
endif()
|
||||||
|
|
28
deps/Blosc/Blosc.cmake
vendored
Normal file
28
deps/Blosc/Blosc.cmake
vendored
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
if(BUILD_SHARED_LIBS)
|
||||||
|
set(_build_shared ON)
|
||||||
|
set(_build_static OFF)
|
||||||
|
else()
|
||||||
|
set(_build_shared OFF)
|
||||||
|
set(_build_static ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
prusaslicer_add_cmake_project(Blosc
|
||||||
|
#URL https://github.com/Blosc/c-blosc/archive/refs/tags/v1.17.0.zip
|
||||||
|
#URL_HASH SHA256=7463a1df566704f212263312717ab2c36b45d45cba6cd0dccebf91b2cc4b4da9
|
||||||
|
URL https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip
|
||||||
|
URL_HASH SHA256=dcb48bf43a672fa3de6a4b1de2c4c238709dad5893d1e097b8374ad84b1fc3b3
|
||||||
|
DEPENDS ${ZLIB_PKG}
|
||||||
|
# Patching upstream does not work this way with git version 2.28 installed on mac worker
|
||||||
|
# PATCH_COMMAND ${GIT_EXECUTABLE} apply --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/blosc-mods.patch
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DBUILD_SHARED=${_build_shared}
|
||||||
|
-DBUILD_STATIC=${_build_static}
|
||||||
|
-DBUILD_TESTS=OFF
|
||||||
|
-DBUILD_BENCHMARKS=OFF
|
||||||
|
-DPREFER_EXTERNAL_ZLIB=ON
|
||||||
|
)
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
add_debug_dep(dep_Blosc)
|
||||||
|
endif ()
|
150
deps/Boost/Boost.cmake
vendored
Normal file
150
deps/Boost/Boost.cmake
vendored
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
include(ExternalProject)
|
||||||
|
|
||||||
|
if (WIN32)
|
||||||
|
set(_bootstrap_cmd bootstrap.bat)
|
||||||
|
set(_build_cmd b2.exe)
|
||||||
|
else()
|
||||||
|
set(_bootstrap_cmd ./bootstrap.sh)
|
||||||
|
set(_build_cmd ./b2)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/common.jam ./tools/build/src/tools/common.jam)
|
||||||
|
|
||||||
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam boost-user-config.jam)
|
||||||
|
set(_boost_toolset gcc)
|
||||||
|
set(_patch_command ${_patch_command} && ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/boost-user-config.jam ./tools/build/src/tools/user-config.jam)
|
||||||
|
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||||
|
# https://cmake.org/cmake/help/latest/variable/MSVC_VERSION.html
|
||||||
|
if (MSVC_VERSION EQUAL 1800)
|
||||||
|
# 1800 = VS 12.0 (v120 toolset)
|
||||||
|
set(_boost_toolset "msvc-12.0")
|
||||||
|
elseif (MSVC_VERSION EQUAL 1900)
|
||||||
|
# 1900 = VS 14.0 (v140 toolset)
|
||||||
|
set(_boost_toolset "msvc-14.0")
|
||||||
|
elseif (MSVC_VERSION LESS 1920)
|
||||||
|
# 1910-1919 = VS 15.0 (v141 toolset)
|
||||||
|
set(_boost_toolset "msvc-14.1")
|
||||||
|
elseif (MSVC_VERSION LESS 1930)
|
||||||
|
# 1920-1929 = VS 16.0 (v142 toolset)
|
||||||
|
set(_boost_toolset "msvc-14.2")
|
||||||
|
else ()
|
||||||
|
message(FATAL_ERROR "Unsupported MSVC version")
|
||||||
|
endif ()
|
||||||
|
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
|
if (WIN32)
|
||||||
|
set(_boost_toolset "clang-win")
|
||||||
|
else()
|
||||||
|
set(_boost_toolset "clang")
|
||||||
|
endif()
|
||||||
|
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
|
set(_boost_toolset "intel")
|
||||||
|
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||||
|
set(_boost_toolset "clang")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message(STATUS "Deduced boost toolset: ${_boost_toolset} based on ${CMAKE_CXX_COMPILER_ID} compiler")
|
||||||
|
|
||||||
|
set(_libs "")
|
||||||
|
foreach(_comp ${DEP_Boost_COMPONENTS})
|
||||||
|
list(APPEND _libs "--with-${_comp}")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
if (BUILD_SHARED_LIBS)
|
||||||
|
set(_link shared)
|
||||||
|
else()
|
||||||
|
set(_link static)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(_bits "")
|
||||||
|
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||||
|
set(_bits 64)
|
||||||
|
elseif ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
|
||||||
|
set(_bits 32)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
include(ProcessorCount)
|
||||||
|
ProcessorCount(NPROC)
|
||||||
|
file(TO_NATIVE_PATH ${DESTDIR}/usr/local/ _prefix)
|
||||||
|
|
||||||
|
set(_boost_flags "")
|
||||||
|
if (UNIX)
|
||||||
|
set(_boost_flags "cflags=-fPIC;cxxflags=-fPIC")
|
||||||
|
elseif(APPLE)
|
||||||
|
set(_boost_flags
|
||||||
|
"cflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||||
|
"cxxflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||||
|
"mflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||||
|
"mmflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(_boost_variants "")
|
||||||
|
if(CMAKE_BUILD_TYPE)
|
||||||
|
list(APPEND CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
|
||||||
|
list(REMOVE_DUPLICATES CMAKE_CONFIGURATION_TYPES)
|
||||||
|
endif()
|
||||||
|
list(FIND CMAKE_CONFIGURATION_TYPES "Release" _cfg_rel)
|
||||||
|
list(FIND CMAKE_CONFIGURATION_TYPES "RelWithDebInfo" _cfg_relwdeb)
|
||||||
|
list(FIND CMAKE_CONFIGURATION_TYPES "MinSizeRel" _cfg_minsizerel)
|
||||||
|
list(FIND CMAKE_CONFIGURATION_TYPES "Debug" _cfg_deb)
|
||||||
|
|
||||||
|
if (_cfg_rel GREATER -1 OR _cfg_relwdeb GREATER -1 OR _cfg_minsizerel GREATER -1)
|
||||||
|
list(APPEND _boost_variants release)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (_cfg_deb GREATER -1 OR (MSVC AND ${DEP_DEBUG}) )
|
||||||
|
list(APPEND _boost_variants debug)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT _boost_variants)
|
||||||
|
set(_boost_variants release)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(_build_cmd ${_build_cmd}
|
||||||
|
${_boost_flags}
|
||||||
|
-j${NPROC}
|
||||||
|
${_libs}
|
||||||
|
--layout=versioned
|
||||||
|
--debug-configuration
|
||||||
|
toolset=${_boost_toolset}
|
||||||
|
address-model=${_bits}
|
||||||
|
link=${_link}
|
||||||
|
threading=multi
|
||||||
|
boost.locale.icu=off
|
||||||
|
--disable-icu
|
||||||
|
${_boost_variants}
|
||||||
|
stage)
|
||||||
|
|
||||||
|
set(_install_cmd ${_build_cmd} --prefix=${_prefix} install)
|
||||||
|
|
||||||
|
ExternalProject_Add(
|
||||||
|
dep_Boost
|
||||||
|
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
|
||||||
|
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
|
||||||
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
|
||||||
|
CONFIGURE_COMMAND "${_bootstrap_cmd}"
|
||||||
|
PATCH_COMMAND ${_patch_command}
|
||||||
|
BUILD_COMMAND "${_build_cmd}"
|
||||||
|
BUILD_IN_SOURCE ON
|
||||||
|
INSTALL_COMMAND "${_install_cmd}"
|
||||||
|
)
|
||||||
|
|
||||||
|
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||||
|
# Patch the boost::polygon library with a custom one.
|
||||||
|
ExternalProject_Add(dep_boost_polygon
|
||||||
|
EXCLUDE_FROM_ALL ON
|
||||||
|
# GIT_REPOSITORY "https://github.com/prusa3d/polygon"
|
||||||
|
# GIT_TAG prusaslicer_gmp
|
||||||
|
URL https://github.com/prusa3d/polygon/archive/refs/heads/prusaslicer_gmp.zip
|
||||||
|
URL_HASH SHA256=abeb9710f0a7069fb9b22181ae5c56f6066002f125db210e7ffb27032aed6824
|
||||||
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/boost_polygon
|
||||||
|
DEPENDS dep_Boost
|
||||||
|
CONFIGURE_COMMAND ""
|
||||||
|
BUILD_COMMAND ""
|
||||||
|
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/dep_boost_polygon-prefix/src/dep_boost_polygon/include/boost/polygon"
|
||||||
|
"${DESTDIR}/usr/local/include/boost/polygon"
|
||||||
|
)
|
||||||
|
# Only override boost::Polygon Voronoi implementation with Vojtech's GMP hacks on 64bit platforms.
|
||||||
|
list(APPEND _dep_list "dep_boost_polygon")
|
||||||
|
endif ()
|
1095
deps/Boost/common.jam
vendored
Normal file
1095
deps/Boost/common.jam
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
deps/Boost/user-config.jam
vendored
Normal file
1
deps/Boost/user-config.jam
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
using gcc : : @CMAKE_CXX_COMPILER@ ;
|
10
deps/CGAL/CGAL.cmake
vendored
10
deps/CGAL/CGAL.cmake
vendored
|
@ -1,11 +1,11 @@
|
||||||
prusaslicer_add_cmake_project(
|
prusaslicer_add_cmake_project(
|
||||||
CGAL
|
CGAL
|
||||||
GIT_REPOSITORY https://github.com/CGAL/cgal.git
|
# GIT_REPOSITORY https://github.com/CGAL/cgal.git
|
||||||
GIT_TAG bec70a6d52d8aacb0b3d82a7b4edc3caa899184b # releases/CGAL-5.0
|
# GIT_TAG bec70a6d52d8aacb0b3d82a7b4edc3caa899184b # releases/CGAL-5.0
|
||||||
# For whatever reason, this keeps downloading forever (repeats downloads if finished)
|
# For whatever reason, this keeps downloading forever (repeats downloads if finished)
|
||||||
# URL https://github.com/CGAL/cgal/archive/releases/CGAL-5.0.zip
|
URL https://github.com/CGAL/cgal/archive/releases/CGAL-5.0.zip
|
||||||
# URL_HASH SHA256=bd9327be903ab7ee379a8a7a0609eba0962f5078d2497cf8e13e8e1598584154
|
URL_HASH SHA256=c2b035bd078687b6d8c0fb6371a7443adcdb647856af9969532c4050cd5f48e5
|
||||||
DEPENDS dep_boost dep_GMP dep_MPFR
|
DEPENDS dep_Boost dep_GMP dep_MPFR
|
||||||
)
|
)
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
65
deps/CMakeLists.txt
vendored
65
deps/CMakeLists.txt
vendored
|
@ -32,6 +32,7 @@ if (NPROC EQUAL 0)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination directory")
|
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination directory")
|
||||||
|
set(DEP_DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH "Path for downloaded source packages.")
|
||||||
|
|
||||||
option(DEP_DEBUG "Build debug variants (only applicable on Windows)" ON)
|
option(DEP_DEBUG "Build debug variants (only applicable on Windows)" ON)
|
||||||
|
|
||||||
|
@ -46,10 +47,14 @@ endif()
|
||||||
# option(DEP_BUILD_IGL_STATIC "Build IGL as a static library. Might cause link errors and increase binary size." OFF)
|
# option(DEP_BUILD_IGL_STATIC "Build IGL as a static library. Might cause link errors and increase binary size." OFF)
|
||||||
|
|
||||||
message(STATUS "PrusaSlicer deps DESTDIR: ${DESTDIR}")
|
message(STATUS "PrusaSlicer deps DESTDIR: ${DESTDIR}")
|
||||||
|
message(STATUS "PrusaSlicer dowload dir for source packages: ${DEP_DOWNLOAD_DIR}")
|
||||||
message(STATUS "PrusaSlicer deps debug build: ${DEP_DEBUG}")
|
message(STATUS "PrusaSlicer deps debug build: ${DEP_DEBUG}")
|
||||||
|
|
||||||
find_package(Git REQUIRED)
|
find_package(Git REQUIRED)
|
||||||
|
|
||||||
|
# The default command line for patching. Only works for newer
|
||||||
|
set(PATCH_CMD ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix)
|
||||||
|
|
||||||
get_property(_is_multi GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
get_property(_is_multi GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||||
|
|
||||||
function(prusaslicer_add_cmake_project projectname)
|
function(prusaslicer_add_cmake_project projectname)
|
||||||
|
@ -71,6 +76,7 @@ function(prusaslicer_add_cmake_project projectname)
|
||||||
dep_${projectname}
|
dep_${projectname}
|
||||||
EXCLUDE_FROM_ALL ON
|
EXCLUDE_FROM_ALL ON
|
||||||
INSTALL_DIR ${DESTDIR}/usr/local
|
INSTALL_DIR ${DESTDIR}/usr/local
|
||||||
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname}
|
||||||
${_gen}
|
${_gen}
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
||||||
|
@ -79,6 +85,7 @@ function(prusaslicer_add_cmake_project projectname)
|
||||||
-DCMAKE_DEBUG_POSTFIX:STRING=d
|
-DCMAKE_DEBUG_POSTFIX:STRING=d
|
||||||
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
|
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
|
||||||
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||||
"${_configs_line}"
|
"${_configs_line}"
|
||||||
${DEP_CMAKE_OPTS}
|
${DEP_CMAKE_OPTS}
|
||||||
|
@ -145,27 +152,42 @@ if (NOT EXPAT_FOUND)
|
||||||
set(EXPAT_PKG dep_EXPAT)
|
set(EXPAT_PKG dep_EXPAT)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
set(DEP_Boost_COMPONENTS system iostreams filesystem thread log locale regex date_time)
|
||||||
|
include(Boost/Boost.cmake)
|
||||||
|
|
||||||
|
# The order of includes respects the dependencies between libraries
|
||||||
|
include(Cereal/Cereal.cmake)
|
||||||
|
include(Qhull/Qhull.cmake)
|
||||||
include(GLEW/GLEW.cmake)
|
include(GLEW/GLEW.cmake)
|
||||||
include(OpenCSG/OpenCSG.cmake)
|
include(OpenCSG/OpenCSG.cmake)
|
||||||
|
|
||||||
|
include(TBB/TBB.cmake)
|
||||||
|
|
||||||
|
include(Blosc/Blosc.cmake)
|
||||||
|
include(OpenEXR/OpenEXR.cmake)
|
||||||
|
include(OpenVDB/OpenVDB.cmake)
|
||||||
|
|
||||||
include(GMP/GMP.cmake)
|
include(GMP/GMP.cmake)
|
||||||
include(MPFR/MPFR.cmake)
|
include(MPFR/MPFR.cmake)
|
||||||
include(CGAL/CGAL.cmake)
|
include(CGAL/CGAL.cmake)
|
||||||
|
|
||||||
|
include(NLopt/NLopt.cmake)
|
||||||
|
|
||||||
|
include(OpenSSL/OpenSSL.cmake)
|
||||||
|
include(CURL/CURL.cmake)
|
||||||
|
|
||||||
|
include(JPEG/JPEG.cmake)
|
||||||
|
include(TIFF/TIFF.cmake)
|
||||||
include(wxWidgets/wxWidgets.cmake)
|
include(wxWidgets/wxWidgets.cmake)
|
||||||
|
|
||||||
if (NOT "${ZLIB_PKG}" STREQUAL "")
|
|
||||||
add_dependencies(dep_blosc ${ZLIB_PKG})
|
|
||||||
add_dependencies(dep_openexr ${ZLIB_PKG})
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
set(_dep_list
|
set(_dep_list
|
||||||
dep_boost
|
dep_Boost
|
||||||
dep_tbb
|
dep_TBB
|
||||||
dep_libcurl
|
dep_CURL
|
||||||
dep_wxWidgets
|
dep_wxWidgets
|
||||||
dep_gtest
|
dep_Cereal
|
||||||
dep_cereal
|
dep_NLopt
|
||||||
dep_nlopt
|
dep_OpenVDB
|
||||||
dep_openvdb
|
|
||||||
dep_OpenCSG
|
dep_OpenCSG
|
||||||
dep_CGAL
|
dep_CGAL
|
||||||
${PNG_PKG}
|
${PNG_PKG}
|
||||||
|
@ -173,28 +195,11 @@ set(_dep_list
|
||||||
${EXPAT_PKG}
|
${EXPAT_PKG}
|
||||||
)
|
)
|
||||||
|
|
||||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
|
||||||
# Patch the boost::polygon library with a custom one.
|
|
||||||
ExternalProject_Add(dep_boost_polygon
|
|
||||||
EXCLUDE_FROM_ALL ON
|
|
||||||
GIT_REPOSITORY "https://github.com/prusa3d/polygon"
|
|
||||||
GIT_TAG prusaslicer_gmp
|
|
||||||
DEPENDS dep_boost
|
|
||||||
CONFIGURE_COMMAND ""
|
|
||||||
BUILD_COMMAND ""
|
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/dep_boost_polygon-prefix/src/dep_boost_polygon/include/boost/polygon"
|
|
||||||
"${DESTDIR}/usr/local/include/boost/polygon"
|
|
||||||
)
|
|
||||||
# Only override boost::Polygon Voronoi implementation with Vojtech's GMP hacks on 64bit platforms.
|
|
||||||
list(APPEND _dep_list "dep_boost_polygon")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
# Experimental
|
# Experimental
|
||||||
#list(APPEND _dep_list "dep_qhull")
|
#list(APPEND _dep_list "dep_qhull")
|
||||||
else()
|
else()
|
||||||
list(APPEND _dep_list "dep_qhull")
|
list(APPEND _dep_list "dep_Qhull")
|
||||||
# Not working, static build has different Eigen
|
# Not working, static build has different Eigen
|
||||||
#list(APPEND _dep_list "dep_libigl")
|
#list(APPEND _dep_list "dep_libigl")
|
||||||
endif()
|
endif()
|
||||||
|
|
78
deps/CURL/CURL.cmake
vendored
Normal file
78
deps/CURL/CURL.cmake
vendored
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
set(_curl_platform_flags
|
||||||
|
-DENABLE_IPV6:BOOL=ON
|
||||||
|
-DENABLE_VERSIONED_SYMBOLS:BOOL=ON
|
||||||
|
-DENABLE_THREADED_RESOLVER:BOOL=ON
|
||||||
|
|
||||||
|
# -DCURL_DISABLE_LDAP:BOOL=ON
|
||||||
|
# -DCURL_DISABLE_LDAPS:BOOL=ON
|
||||||
|
-DENABLE_MANUAL:BOOL=OFF
|
||||||
|
# -DCURL_DISABLE_RTSP:BOOL=ON
|
||||||
|
# -DCURL_DISABLE_DICT:BOOL=ON
|
||||||
|
# -DCURL_DISABLE_TELNET:BOOL=ON
|
||||||
|
# -DCURL_DISABLE_POP3:BOOL=ON
|
||||||
|
# -DCURL_DISABLE_IMAP:BOOL=ON
|
||||||
|
# -DCURL_DISABLE_SMB:BOOL=ON
|
||||||
|
# -DCURL_DISABLE_SMTP:BOOL=ON
|
||||||
|
# -DCURL_DISABLE_GOPHER:BOOL=ON
|
||||||
|
-DHTTP_ONLY=ON
|
||||||
|
|
||||||
|
-DCMAKE_USE_GSSAPI:BOOL=OFF
|
||||||
|
-DCMAKE_USE_LIBSSH2:BOOL=OFF
|
||||||
|
-DUSE_RTMP:BOOL=OFF
|
||||||
|
-DUSE_NGHTTP2:BOOL=OFF
|
||||||
|
-DUSE_MBEDTLS:BOOL=OFF
|
||||||
|
)
|
||||||
|
|
||||||
|
if (WIN32)
|
||||||
|
set(_curl_platform_flags ${_curl_platform_flags} -DCMAKE_USE_SCHANNEL=ON)
|
||||||
|
elseif (APPLE)
|
||||||
|
set(_curl_platform_flags
|
||||||
|
|
||||||
|
${_curl_platform_flags}
|
||||||
|
|
||||||
|
-DCMAKE_USE_SECTRANSP:BOOL=ON
|
||||||
|
-DCMAKE_USE_OPENSSL:BOOL=OFF
|
||||||
|
|
||||||
|
-DCURL_CA_PATH:STRING=none
|
||||||
|
)
|
||||||
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
|
set(_curl_platform_flags
|
||||||
|
|
||||||
|
${_curl_platform_flags}
|
||||||
|
|
||||||
|
-DCMAKE_USE_OPENSSL:BOOL=ON
|
||||||
|
|
||||||
|
-DCURL_CA_PATH:STRING=none
|
||||||
|
-DCURL_CA_BUNDLE:STRING=none
|
||||||
|
-DCURL_CA_FALLBACK:BOOL=ON
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (BUILD_SHARED_LIBS)
|
||||||
|
set(_curl_static OFF)
|
||||||
|
else()
|
||||||
|
set(_curl_static ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
prusaslicer_add_cmake_project(CURL
|
||||||
|
# GIT_REPOSITORY https://github.com/curl/curl.git
|
||||||
|
# GIT_TAG curl-7_75_0
|
||||||
|
URL https://github.com/curl/curl/archive/refs/tags/curl-7_75_0.zip
|
||||||
|
URL_HASH SHA256=a63ae025bb0a14f119e73250f2c923f4bf89aa93b8d4fafa4a9f5353a96a765a
|
||||||
|
DEPENDS ${ZLIB_PKG}
|
||||||
|
# PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
|
||||||
|
# ${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/curl-mods.patch
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DBUILD_TESTING:BOOL=OFF
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DCURL_STATICLIB=${_curl_static}
|
||||||
|
${_curl_platform_flags}
|
||||||
|
)
|
||||||
|
|
||||||
|
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
|
add_dependencies(dep_CURL dep_OpenSSL)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
add_debug_dep(dep_CURL)
|
||||||
|
endif ()
|
6
deps/Cereal/Cereal.cmake
vendored
Normal file
6
deps/Cereal/Cereal.cmake
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
prusaslicer_add_cmake_project(Cereal
|
||||||
|
URL "https://github.com/USCiLab/cereal/archive/v1.2.2.tar.gz"
|
||||||
|
URL_HASH SHA256=1921f26d2e1daf9132da3c432e2fd02093ecaedf846e65d7679ddf868c7289c4
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DJUST_INSTALL_CEREAL=on
|
||||||
|
)
|
11
deps/GMP/GMP.cmake
vendored
11
deps/GMP/GMP.cmake
vendored
|
@ -36,11 +36,18 @@ else ()
|
||||||
set(_gmp_build_tgt "") # let it guess
|
set(_gmp_build_tgt "") # let it guess
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(_cross_compile_arg "")
|
||||||
|
if (CMAKE_CROSSCOMPILING)
|
||||||
|
# TOOLCHAIN_PREFIX should be defined in the toolchain file
|
||||||
|
set(_cross_compile_arg --host=${TOOLCHAIN_PREFIX})
|
||||||
|
endif ()
|
||||||
|
|
||||||
ExternalProject_Add(dep_GMP
|
ExternalProject_Add(dep_GMP
|
||||||
# URL https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2
|
|
||||||
URL https://gmplib.org/download/gmp/gmp-6.2.1.tar.bz2
|
URL https://gmplib.org/download/gmp/gmp-6.2.1.tar.bz2
|
||||||
|
URL_HASH SHA256=eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
|
||||||
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/GMP
|
||||||
BUILD_IN_SOURCE ON
|
BUILD_IN_SOURCE ON
|
||||||
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}/usr/local" ${_gmp_build_tgt}
|
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}/usr/local" ${_gmp_build_tgt}
|
||||||
BUILD_COMMAND make -j
|
BUILD_COMMAND make -j
|
||||||
INSTALL_COMMAND make install
|
INSTALL_COMMAND make install
|
||||||
)
|
)
|
||||||
|
|
8
deps/JPEG/JPEG.cmake
vendored
Normal file
8
deps/JPEG/JPEG.cmake
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
prusaslicer_add_cmake_project(JPEG
|
||||||
|
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.zip
|
||||||
|
URL_HASH SHA256=017bdc33ff3a72e11301c0feb4657cb27719d7f97fa67a78ed506c594218bbf1
|
||||||
|
DEPENDS ${ZLIB_PKG}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DENABLE_SHARED=OFF
|
||||||
|
-DENABLE_STATIC=ON
|
||||||
|
)
|
11
deps/MPFR/MPFR.cmake
vendored
11
deps/MPFR/MPFR.cmake
vendored
|
@ -18,10 +18,19 @@ if (MSVC)
|
||||||
add_custom_target(dep_MPFR SOURCES ${_output})
|
add_custom_target(dep_MPFR SOURCES ${_output})
|
||||||
|
|
||||||
else ()
|
else ()
|
||||||
|
|
||||||
|
set(_cross_compile_arg "")
|
||||||
|
if (CMAKE_CROSSCOMPILING)
|
||||||
|
# TOOLCHAIN_PREFIX should be defined in the toolchain file
|
||||||
|
set(_cross_compile_arg --host=${TOOLCHAIN_PREFIX})
|
||||||
|
endif ()
|
||||||
|
|
||||||
ExternalProject_Add(dep_MPFR
|
ExternalProject_Add(dep_MPFR
|
||||||
URL http://ftp.vim.org/ftp/gnu/mpfr/mpfr-3.1.6.tar.bz2 https://www.mpfr.org/mpfr-3.1.6/mpfr-3.1.6.tar.bz2 # mirrors are allowed
|
URL http://ftp.vim.org/ftp/gnu/mpfr/mpfr-3.1.6.tar.bz2 https://www.mpfr.org/mpfr-3.1.6/mpfr-3.1.6.tar.bz2 # mirrors are allowed
|
||||||
|
URL_HASH SHA256=cf4f4b2d80abb79e820e78c8077b6725bbbb4e8f41896783c899087be0e94068
|
||||||
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/MPFR
|
||||||
BUILD_IN_SOURCE ON
|
BUILD_IN_SOURCE ON
|
||||||
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local ${_gmp_build_tgt}
|
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local ${_gmp_build_tgt}
|
||||||
BUILD_COMMAND make -j
|
BUILD_COMMAND make -j
|
||||||
INSTALL_COMMAND make install
|
INSTALL_COMMAND make install
|
||||||
DEPENDS dep_GMP
|
DEPENDS dep_GMP
|
||||||
|
|
15
deps/NLopt/NLopt.cmake
vendored
Normal file
15
deps/NLopt/NLopt.cmake
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
prusaslicer_add_cmake_project(NLopt
|
||||||
|
URL "https://github.com/stevengj/nlopt/archive/v2.5.0.tar.gz"
|
||||||
|
URL_HASH SHA256=c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DNLOPT_PYTHON:BOOL=OFF
|
||||||
|
-DNLOPT_OCTAVE:BOOL=OFF
|
||||||
|
-DNLOPT_MATLAB:BOOL=OFF
|
||||||
|
-DNLOPT_GUILE:BOOL=OFF
|
||||||
|
-DNLOPT_SWIG:BOOL=OFF
|
||||||
|
-DNLOPT_TESTS:BOOL=OFF
|
||||||
|
)
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
add_debug_dep(dep_NLopt)
|
||||||
|
endif ()
|
6
deps/OpenCSG/OpenCSG.cmake
vendored
6
deps/OpenCSG/OpenCSG.cmake
vendored
|
@ -1,7 +1,9 @@
|
||||||
|
|
||||||
prusaslicer_add_cmake_project(OpenCSG
|
prusaslicer_add_cmake_project(OpenCSG
|
||||||
GIT_REPOSITORY https://github.com/floriankirsch/OpenCSG.git
|
# GIT_REPOSITORY https://github.com/floriankirsch/OpenCSG.git
|
||||||
GIT_TAG 83e274457b46c9ad11a4ee599203250b1618f3b9 #v1.4.2
|
# GIT_TAG 83e274457b46c9ad11a4ee599203250b1618f3b9 #v1.4.2
|
||||||
|
URL https://github.com/floriankirsch/OpenCSG/archive/refs/tags/opencsg-1-4-2-release.zip
|
||||||
|
URL_HASH SHA256=51afe0db79af8386e2027d56d685177135581e0ee82ade9d7f2caff8deab5ec5
|
||||||
PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in ./CMakeLists.txt
|
PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in ./CMakeLists.txt
|
||||||
DEPENDS dep_GLEW
|
DEPENDS dep_GLEW
|
||||||
)
|
)
|
||||||
|
|
17
deps/OpenEXR/OpenEXR.cmake
vendored
Normal file
17
deps/OpenEXR/OpenEXR.cmake
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
prusaslicer_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
|
||||||
|
DEPENDS ${ZLIB_PKG}
|
||||||
|
GIT_TAG v2.5.5
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DBUILD_TESTING=OFF
|
||||||
|
-DPYILMBASE_ENABLE:BOOL=OFF
|
||||||
|
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
||||||
|
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
||||||
|
)
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
add_debug_dep(dep_OpenEXR)
|
||||||
|
endif ()
|
35
deps/OpenSSL/OpenSSL.cmake
vendored
Normal file
35
deps/OpenSSL/OpenSSL.cmake
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
include(ProcessorCount)
|
||||||
|
ProcessorCount(NPROC)
|
||||||
|
|
||||||
|
set(_conf_cmd "./config")
|
||||||
|
set(_cross_arch "")
|
||||||
|
set(_cross_comp_prefix_line "")
|
||||||
|
if (CMAKE_CROSSCOMPILING)
|
||||||
|
set(_conf_cmd "./Configure")
|
||||||
|
set(_cross_comp_prefix_line "--cross-compile-prefix=${TOOLCHAIN_PREFIX}-")
|
||||||
|
|
||||||
|
if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64")
|
||||||
|
set(_cross_arch "linux-aarch64")
|
||||||
|
elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armhf") # For raspbian
|
||||||
|
# TODO: verify
|
||||||
|
set(_cross_arch "linux-armv4")
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
ExternalProject_Add(dep_OpenSSL
|
||||||
|
EXCLUDE_FROM_ALL ON
|
||||||
|
URL "https://github.com/openssl/openssl/archive/OpenSSL_1_1_0l.tar.gz"
|
||||||
|
URL_HASH SHA256=e2acf0cf58d9bff2b42f2dc0aee79340c8ffe2c5e45d3ca4533dd5d4f5775b1d
|
||||||
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenSSL
|
||||||
|
BUILD_IN_SOURCE ON
|
||||||
|
CONFIGURE_COMMAND ${_conf_cmd} ${_cross_arch}
|
||||||
|
"--prefix=${DESTDIR}/usr/local"
|
||||||
|
${_cross_comp_prefix_line}
|
||||||
|
no-shared
|
||||||
|
no-ssl3-method
|
||||||
|
no-dynamic-engine
|
||||||
|
-Wa,--noexecstack
|
||||||
|
BUILD_COMMAND make depend && make "-j${NPROC}"
|
||||||
|
INSTALL_COMMAND make install_sw
|
||||||
|
)
|
36
deps/OpenVDB/OpenVDB.cmake
vendored
Normal file
36
deps/OpenVDB/OpenVDB.cmake
vendored
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
if(BUILD_SHARED_LIBS)
|
||||||
|
set(_build_shared ON)
|
||||||
|
set(_build_static OFF)
|
||||||
|
else()
|
||||||
|
set(_build_shared OFF)
|
||||||
|
set(_build_static ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
prusaslicer_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
|
||||||
|
DEPENDS dep_TBB dep_Blosc dep_OpenEXR dep_Boost
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DOPENVDB_BUILD_PYTHON_MODULE=OFF
|
||||||
|
-DUSE_BLOSC=ON
|
||||||
|
-DOPENVDB_CORE_SHARED=${_build_shared}
|
||||||
|
-DOPENVDB_CORE_STATIC=${_build_static}
|
||||||
|
-DOPENVDB_ENABLE_RPATH:BOOL=OFF
|
||||||
|
-DTBB_STATIC=${_build_static}
|
||||||
|
-DOPENVDB_BUILD_VDB_PRINT=ON
|
||||||
|
-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON # Centos6 has old zlib
|
||||||
|
)
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
if (${DEP_DEBUG})
|
||||||
|
ExternalProject_Get_Property(dep_OpenVDB BINARY_DIR)
|
||||||
|
ExternalProject_Add_Step(dep_OpenVDB build_debug
|
||||||
|
DEPENDEES build
|
||||||
|
DEPENDERS install
|
||||||
|
COMMAND ${CMAKE_COMMAND} ../dep_OpenVDB -DOPENVDB_BUILD_VDB_PRINT=OFF
|
||||||
|
COMMAND msbuild /m /P:Configuration=Debug INSTALL.vcxproj
|
||||||
|
WORKING_DIRECTORY "${BINARY_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
endif ()
|
12
deps/PNG/PNG.cmake
vendored
12
deps/PNG/PNG.cmake
vendored
|
@ -5,10 +5,18 @@ else ()
|
||||||
set(_disable_neon_extension "")
|
set(_disable_neon_extension "")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
set(_patch_step "")
|
||||||
|
if (APPLE)
|
||||||
|
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
|
||||||
|
endif ()
|
||||||
|
|
||||||
prusaslicer_add_cmake_project(PNG
|
prusaslicer_add_cmake_project(PNG
|
||||||
GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||||
GIT_TAG v1.6.35
|
# GIT_TAG v1.6.35
|
||||||
|
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
|
||||||
|
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
|
||||||
DEPENDS ${ZLIB_PKG}
|
DEPENDS ${ZLIB_PKG}
|
||||||
|
"${_patch_step}"
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DPNG_SHARED=OFF
|
-DPNG_SHARED=OFF
|
||||||
-DPNG_STATIC=ON
|
-DPNG_STATIC=ON
|
||||||
|
|
26
deps/PNG/PNG.patch
vendored
Normal file
26
deps/PNG/PNG.patch
vendored
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
Common subdirectories: ../libpng-1.6.35-orig/arm and ./arm
|
||||||
|
Common subdirectories: ../libpng-1.6.35-orig/contrib and ./contrib
|
||||||
|
Common subdirectories: ../libpng-1.6.35-orig/intel and ./intel
|
||||||
|
Common subdirectories: ../libpng-1.6.35-orig/mips and ./mips
|
||||||
|
Only in ./: PNG.patch
|
||||||
|
diff -u ../libpng-1.6.35-orig/pngrutil.c ./pngrutil.c
|
||||||
|
--- ../libpng-1.6.35-orig/pngrutil.c 2018-07-15 20:58:00.000000000 +0200
|
||||||
|
+++ ./pngrutil.c 2021-03-24 15:59:38.687108444 +0100
|
||||||
|
@@ -422,13 +422,6 @@
|
||||||
|
png_ptr->flags |= PNG_FLAG_ZSTREAM_INITIALIZED;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if ZLIB_VERNUM >= 0x1290 && \
|
||||||
|
- defined(PNG_SET_OPTION_SUPPORTED) && defined(PNG_IGNORE_ADLER32)
|
||||||
|
- if (((png_ptr->options >> PNG_IGNORE_ADLER32) & 3) == PNG_OPTION_ON)
|
||||||
|
- /* Turn off validation of the ADLER32 checksum in IDAT chunks */
|
||||||
|
- ret = inflateValidate(&png_ptr->zstream, 0);
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
if (ret == Z_OK)
|
||||||
|
png_ptr->zowner = owner;
|
||||||
|
|
||||||
|
Common subdirectories: ../libpng-1.6.35-orig/powerpc and ./powerpc
|
||||||
|
Common subdirectories: ../libpng-1.6.35-orig/projects and ./projects
|
||||||
|
Common subdirectories: ../libpng-1.6.35-orig/scripts and ./scripts
|
||||||
|
Common subdirectories: ../libpng-1.6.35-orig/tests and ./tests
|
11
deps/Qhull/Qhull.cmake
vendored
Normal file
11
deps/Qhull/Qhull.cmake
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
prusaslicer_add_cmake_project(Qhull
|
||||||
|
URL "https://github.com/qhull/qhull/archive/v8.0.1.zip"
|
||||||
|
URL_HASH SHA256=5287f5edd6a0372588f5d6640799086a4033d89d19711023ef8229dd9301d69b
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DINCLUDE_INSTALL_DIR=${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
add_debug_dep(dep_Qhull)
|
||||||
|
endif ()
|
17
deps/TBB/TBB.cmake
vendored
Normal file
17
deps/TBB/TBB.cmake
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
prusaslicer_add_cmake_project(
|
||||||
|
TBB
|
||||||
|
URL "https://github.com/wjakob/tbb/archive/a0dc9bf76d0120f917b641ed095360448cabc85b.tar.gz"
|
||||||
|
URL_HASH SHA256=0545cb6033bd1873fcae3ea304def720a380a88292726943ae3b9b207f322efe
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DTBB_BUILD_SHARED=OFF
|
||||||
|
-DTBB_BUILD_TESTS=OFF
|
||||||
|
-DTBB_BUILD_TESTS=OFF
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DCMAKE_DEBUG_POSTFIX=_debug
|
||||||
|
)
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
add_debug_dep(dep_TBB)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
13
deps/TIFF/TIFF.cmake
vendored
Normal file
13
deps/TIFF/TIFF.cmake
vendored
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
find_package(OpenGL QUIET REQUIRED)
|
||||||
|
|
||||||
|
prusaslicer_add_cmake_project(TIFF
|
||||||
|
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.1.0/libtiff-v4.1.0.zip
|
||||||
|
URL_HASH SHA256=c56edfacef0a60c0de3e6489194fcb2f24c03dbb550a8a7de5938642d045bd32
|
||||||
|
DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG
|
||||||
|
CMAKE_ARGS
|
||||||
|
-Dlzma:BOOL=OFF
|
||||||
|
-Dwebp:BOOL=OFF
|
||||||
|
-Djbig:BOOL=OFF
|
||||||
|
-Dzstd:BOOL=OFF
|
||||||
|
-Dpixarlog:BOOL=OFF
|
||||||
|
)
|
38
deps/ZLIB/0001-Respect-BUILD_SHARED_LIBS.patch
vendored
38
deps/ZLIB/0001-Respect-BUILD_SHARED_LIBS.patch
vendored
|
@ -1,17 +1,8 @@
|
||||||
From 0c64e33bc2e4e7c011f5a64f5d9c7571a434cc86 Mon Sep 17 00:00:00 2001
|
Common subdirectories: ../zlib-1.2.11/amiga and ./amiga
|
||||||
From: tamasmeszaros <meszaros.q@gmail.com>
|
diff -u ../zlib-1.2.11/CMakeLists.txt ./CMakeLists.txt
|
||||||
Date: Sat, 16 Nov 2019 13:43:17 +0100
|
--- ../zlib-1.2.11/CMakeLists.txt 2017-01-15 09:29:40.000000000 +0100
|
||||||
Subject: [PATCH] Respect BUILD_SHARED_LIBS
|
+++ ./CMakeLists.txt 2021-03-24 15:24:48.190291072 +0100
|
||||||
|
@@ -183,10 +183,12 @@
|
||||||
---
|
|
||||||
CMakeLists.txt | 14 ++++++++------
|
|
||||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 0fe939d..01dfea1 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -183,10 +183,12 @@ if(MINGW)
|
|
||||||
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
||||||
endif(MINGW)
|
endif(MINGW)
|
||||||
|
|
||||||
|
@ -28,7 +19,7 @@ index 0fe939d..01dfea1 100644
|
||||||
|
|
||||||
if(NOT CYGWIN)
|
if(NOT CYGWIN)
|
||||||
# This property causes shared libraries on Linux to have the full version
|
# This property causes shared libraries on Linux to have the full version
|
||||||
@@ -201,7 +203,7 @@ endif()
|
@@ -201,7 +203,7 @@
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
# On unix-like platforms the library is almost always called libz
|
# On unix-like platforms the library is almost always called libz
|
||||||
|
@ -37,7 +28,7 @@ index 0fe939d..01dfea1 100644
|
||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
|
set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
|
||||||
endif()
|
endif()
|
||||||
@@ -211,7 +213,7 @@ elseif(BUILD_SHARED_LIBS AND WIN32)
|
@@ -211,7 +213,7 @@
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
|
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
|
||||||
|
@ -46,6 +37,15 @@ index 0fe939d..01dfea1 100644
|
||||||
RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
|
RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
|
||||||
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
|
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
|
||||||
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" )
|
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" )
|
||||||
--
|
Common subdirectories: ../zlib-1.2.11/contrib and ./contrib
|
||||||
2.16.2.windows.1
|
Common subdirectories: ../zlib-1.2.11/doc and ./doc
|
||||||
|
Common subdirectories: ../zlib-1.2.11/examples and ./examples
|
||||||
|
Common subdirectories: ../zlib-1.2.11/msdos and ./msdos
|
||||||
|
Common subdirectories: ../zlib-1.2.11/nintendods and ./nintendods
|
||||||
|
Common subdirectories: ../zlib-1.2.11/old and ./old
|
||||||
|
Common subdirectories: ../zlib-1.2.11/os400 and ./os400
|
||||||
|
Common subdirectories: ../zlib-1.2.11/qnx and ./qnx
|
||||||
|
Common subdirectories: ../zlib-1.2.11/test and ./test
|
||||||
|
Common subdirectories: ../zlib-1.2.11/watcom and ./watcom
|
||||||
|
Common subdirectories: ../zlib-1.2.11/win32 and ./win32
|
||||||
|
Only in ./: ZLIB.patch
|
||||||
|
|
9
deps/ZLIB/ZLIB.cmake
vendored
9
deps/ZLIB/ZLIB.cmake
vendored
|
@ -1,8 +1,9 @@
|
||||||
prusaslicer_add_cmake_project(ZLIB
|
prusaslicer_add_cmake_project(ZLIB
|
||||||
GIT_REPOSITORY https://github.com/madler/zlib.git
|
# GIT_REPOSITORY https://github.com/madler/zlib.git
|
||||||
GIT_TAG v1.2.11
|
# GIT_TAG v1.2.11
|
||||||
PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
|
URL https://github.com/madler/zlib/archive/refs/tags/v1.2.11.zip
|
||||||
${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-Respect-BUILD_SHARED_LIBS.patch
|
URL_HASH SHA256=f5cc4ab910db99b2bdbba39ebbdc225ffc2aa04b4057bc2817f1b94b6978cfc3
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-Respect-BUILD_SHARED_LIBS.patch
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DSKIP_INSTALL_FILES=ON # Prevent installation of man pages et al.
|
-DSKIP_INSTALL_FILES=ON # Prevent installation of man pages et al.
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
|
94
deps/deps-linux.cmake
vendored
94
deps/deps-linux.cmake
vendored
|
@ -8,97 +8,3 @@ include("deps-unix-common.cmake")
|
||||||
# if (NOT PNG_FOUND)
|
# if (NOT PNG_FOUND)
|
||||||
# message(WARNING "No PNG dev package found in system, building static library. You should install the system package.")
|
# message(WARNING "No PNG dev package found in system, building static library. You should install the system package.")
|
||||||
# endif ()
|
# endif ()
|
||||||
|
|
||||||
#TODO UDEV
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_boost
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
|
|
||||||
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
CONFIGURE_COMMAND ./bootstrap.sh
|
|
||||||
--with-libraries=system,iostreams,filesystem,thread,log,locale,regex,date_time
|
|
||||||
"--prefix=${DESTDIR}/usr/local"
|
|
||||||
BUILD_COMMAND ./b2
|
|
||||||
-j ${NPROC}
|
|
||||||
--reconfigure
|
|
||||||
link=static
|
|
||||||
variant=release
|
|
||||||
threading=multi
|
|
||||||
boost.locale.icu=off
|
|
||||||
--disable-icu
|
|
||||||
cflags=-fPIC
|
|
||||||
cxxflags=-fPIC
|
|
||||||
install
|
|
||||||
INSTALL_COMMAND "" # b2 does that already
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_libopenssl
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://github.com/openssl/openssl/archive/OpenSSL_1_1_0l.tar.gz"
|
|
||||||
URL_HASH SHA256=e2acf0cf58d9bff2b42f2dc0aee79340c8ffe2c5e45d3ca4533dd5d4f5775b1d
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
CONFIGURE_COMMAND ./config
|
|
||||||
"--prefix=${DESTDIR}/usr/local"
|
|
||||||
"--libdir=lib"
|
|
||||||
no-shared
|
|
||||||
no-ssl3-method
|
|
||||||
no-dynamic-engine
|
|
||||||
-Wa,--noexecstack
|
|
||||||
BUILD_COMMAND make depend && make "-j${NPROC}"
|
|
||||||
INSTALL_COMMAND make install_sw
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_libcurl
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
DEPENDS dep_libopenssl
|
|
||||||
URL "https://curl.haxx.se/download/curl-7.58.0.tar.gz"
|
|
||||||
URL_HASH SHA256=cc245bf9a1a42a45df491501d97d5593392a03f7b4f07b952793518d97666115
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
CONFIGURE_COMMAND ./configure
|
|
||||||
--enable-static
|
|
||||||
--disable-shared
|
|
||||||
"--with-ssl=${DESTDIR}/usr/local"
|
|
||||||
--with-pic
|
|
||||||
--enable-ipv6
|
|
||||||
--enable-versioned-symbols
|
|
||||||
--enable-threaded-resolver
|
|
||||||
--with-random=/dev/urandom
|
|
||||||
|
|
||||||
# CA root certificate paths will be set for openssl at runtime.
|
|
||||||
--without-ca-bundle
|
|
||||||
--without-ca-path
|
|
||||||
--with-ca-fallback # to look for the ssl backend's ca store
|
|
||||||
|
|
||||||
--disable-ldap
|
|
||||||
--disable-ldaps
|
|
||||||
--disable-manual
|
|
||||||
--disable-rtsp
|
|
||||||
--disable-dict
|
|
||||||
--disable-telnet
|
|
||||||
--disable-pop3
|
|
||||||
--disable-imap
|
|
||||||
--disable-smb
|
|
||||||
--disable-smtp
|
|
||||||
--disable-gopher
|
|
||||||
--without-gssapi
|
|
||||||
--without-libpsl
|
|
||||||
--without-libidn2
|
|
||||||
--without-gnutls
|
|
||||||
--without-polarssl
|
|
||||||
--without-mbedtls
|
|
||||||
--without-cyassl
|
|
||||||
--without-nss
|
|
||||||
--without-axtls
|
|
||||||
--without-brotli
|
|
||||||
--without-libmetalink
|
|
||||||
--without-libssh
|
|
||||||
--without-libssh2
|
|
||||||
--without-librtmp
|
|
||||||
--without-nghttp2
|
|
||||||
--without-zsh-functions-dir
|
|
||||||
BUILD_COMMAND make "-j${NPROC}"
|
|
||||||
INSTALL_COMMAND make install "DESTDIR=${DESTDIR}"
|
|
||||||
)
|
|
||||||
add_dependencies(dep_openvdb dep_boost)
|
|
||||||
|
|
||||||
|
|
142
deps/deps-macos.cmake
vendored
142
deps/deps-macos.cmake
vendored
|
@ -16,76 +16,76 @@ set(DEP_CMAKE_OPTS
|
||||||
include("deps-unix-common.cmake")
|
include("deps-unix-common.cmake")
|
||||||
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_boost
|
# ExternalProject_Add(dep_boost
|
||||||
EXCLUDE_FROM_ALL 1
|
# EXCLUDE_FROM_ALL 1
|
||||||
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
|
# URL "https://dl.bintray.com/boostorg/release/1.75.0/source/boost_1_75_0.tar.gz"
|
||||||
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
|
# URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
|
||||||
BUILD_IN_SOURCE 1
|
# BUILD_IN_SOURCE 1
|
||||||
CONFIGURE_COMMAND ./bootstrap.sh
|
# CONFIGURE_COMMAND ./bootstrap.sh
|
||||||
--with-toolset=clang
|
# --with-toolset=clang
|
||||||
--with-libraries=system,iostreams,filesystem,thread,log,locale,regex,date_time
|
# --with-libraries=system,iostreams,filesystem,thread,log,locale,regex,date_time
|
||||||
"--prefix=${DESTDIR}/usr/local"
|
# "--prefix=${DESTDIR}/usr/local"
|
||||||
BUILD_COMMAND ./b2
|
# BUILD_COMMAND ./b2
|
||||||
-j ${NPROC}
|
# -j ${NPROC}
|
||||||
--reconfigure
|
# --reconfigure
|
||||||
toolset=clang
|
# toolset=clang
|
||||||
link=static
|
# link=static
|
||||||
variant=release
|
# variant=release
|
||||||
threading=multi
|
# threading=multi
|
||||||
boost.locale.icu=off
|
# boost.locale.icu=off
|
||||||
--disable-icu
|
# --disable-icu
|
||||||
"cflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}"
|
# "cflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}"
|
||||||
"cxxflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}"
|
# "cxxflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}"
|
||||||
"mflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}"
|
# "mflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}"
|
||||||
"mmflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}"
|
# "mmflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}"
|
||||||
install
|
# install
|
||||||
INSTALL_COMMAND "" # b2 does that already
|
# INSTALL_COMMAND "" # b2 does that already
|
||||||
)
|
# )
|
||||||
|
|
||||||
ExternalProject_Add(dep_libcurl
|
# ExternalProject_Add(dep_libcurl
|
||||||
EXCLUDE_FROM_ALL 1
|
# EXCLUDE_FROM_ALL 1
|
||||||
URL "https://curl.haxx.se/download/curl-7.58.0.tar.gz"
|
# URL "https://curl.haxx.se/download/curl-7.58.0.tar.gz"
|
||||||
URL_HASH SHA256=cc245bf9a1a42a45df491501d97d5593392a03f7b4f07b952793518d97666115
|
# URL_HASH SHA256=cc245bf9a1a42a45df491501d97d5593392a03f7b4f07b952793518d97666115
|
||||||
BUILD_IN_SOURCE 1
|
# BUILD_IN_SOURCE 1
|
||||||
CONFIGURE_COMMAND ./configure
|
# CONFIGURE_COMMAND ./configure
|
||||||
--enable-static
|
# --enable-static
|
||||||
--disable-shared
|
# --disable-shared
|
||||||
"--with-ssl=${DESTDIR}/usr/local"
|
# "--with-ssl=${DESTDIR}/usr/local"
|
||||||
--with-pic
|
# --with-pic
|
||||||
--enable-ipv6
|
# --enable-ipv6
|
||||||
--enable-versioned-symbols
|
# --enable-versioned-symbols
|
||||||
--enable-threaded-resolver
|
# --enable-threaded-resolver
|
||||||
--with-darwinssl
|
# --with-darwinssl
|
||||||
--without-ssl # disables OpenSSL
|
# --without-ssl # disables OpenSSL
|
||||||
--disable-ldap
|
# --disable-ldap
|
||||||
--disable-ldaps
|
# --disable-ldaps
|
||||||
--disable-manual
|
# --disable-manual
|
||||||
--disable-rtsp
|
# --disable-rtsp
|
||||||
--disable-dict
|
# --disable-dict
|
||||||
--disable-telnet
|
# --disable-telnet
|
||||||
--disable-pop3
|
# --disable-pop3
|
||||||
--disable-imap
|
# --disable-imap
|
||||||
--disable-smb
|
# --disable-smb
|
||||||
--disable-smtp
|
# --disable-smtp
|
||||||
--disable-gopher
|
# --disable-gopher
|
||||||
--without-gssapi
|
# --without-gssapi
|
||||||
--without-libpsl
|
# --without-libpsl
|
||||||
--without-libidn2
|
# --without-libidn2
|
||||||
--without-gnutls
|
# --without-gnutls
|
||||||
--without-polarssl
|
# --without-polarssl
|
||||||
--without-mbedtls
|
# --without-mbedtls
|
||||||
--without-cyassl
|
# --without-cyassl
|
||||||
--without-nss
|
# --without-nss
|
||||||
--without-axtls
|
# --without-axtls
|
||||||
--without-brotli
|
# --without-brotli
|
||||||
--without-libmetalink
|
# --without-libmetalink
|
||||||
--without-libssh
|
# --without-libssh
|
||||||
--without-libssh2
|
# --without-libssh2
|
||||||
--without-librtmp
|
# --without-librtmp
|
||||||
--without-nghttp2
|
# --without-nghttp2
|
||||||
--without-zsh-functions-dir
|
# --without-zsh-functions-dir
|
||||||
BUILD_COMMAND make "-j${NPROC}"
|
# BUILD_COMMAND make "-j${NPROC}"
|
||||||
INSTALL_COMMAND make install "DESTDIR=${DESTDIR}"
|
# INSTALL_COMMAND make install "DESTDIR=${DESTDIR}"
|
||||||
)
|
# )
|
||||||
add_dependencies(dep_openvdb dep_boost)
|
|
||||||
|
|
||||||
|
# add_dependencies(dep_openvdb dep_boost)
|
54
deps/deps-mingw.cmake
vendored
54
deps/deps-mingw.cmake
vendored
|
@ -6,57 +6,3 @@ find_package(Git REQUIRED)
|
||||||
|
|
||||||
# TODO make sure to build tbb with -flifetime-dse=1
|
# TODO make sure to build tbb with -flifetime-dse=1
|
||||||
include("deps-unix-common.cmake")
|
include("deps-unix-common.cmake")
|
||||||
|
|
||||||
ExternalProject_Add(dep_boost
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
|
|
||||||
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
CONFIGURE_COMMAND bootstrap.bat
|
|
||||||
BUILD_COMMAND b2.exe
|
|
||||||
-j "${NPROC}"
|
|
||||||
--with-system
|
|
||||||
--with-filesystem
|
|
||||||
--with-thread
|
|
||||||
--with-log
|
|
||||||
--with-locale
|
|
||||||
--with-regex
|
|
||||||
--with-date_time
|
|
||||||
"--prefix=${DESTDIR}/usr/local"
|
|
||||||
"address-model=${DEPS_BITS}"
|
|
||||||
"toolset=${DEP_BOOST_TOOLSET}"
|
|
||||||
link=static
|
|
||||||
define=BOOST_USE_WINAPI_VERSION=0x0502
|
|
||||||
variant=release
|
|
||||||
threading=multi
|
|
||||||
boost.locale.icu=off
|
|
||||||
"${DEP_BOOST_DEBUG}" release install
|
|
||||||
INSTALL_COMMAND "" # b2 does that already
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_libcurl
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://curl.haxx.se/download/curl-7.58.0.tar.gz"
|
|
||||||
URL_HASH SHA256=cc245bf9a1a42a45df491501d97d5593392a03f7b4f07b952793518d97666115
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DBUILD_TESTING=OFF
|
|
||||||
-DCURL_STATICLIB=ON
|
|
||||||
-DCURL_STATIC_CRT=ON
|
|
||||||
-DENABLE_THREADED_RESOLVER=ON
|
|
||||||
-DCURL_DISABLE_FTP=ON
|
|
||||||
-DCURL_DISABLE_LDAP=ON
|
|
||||||
-DCURL_DISABLE_LDAPS=ON
|
|
||||||
-DCURL_DISABLE_TELNET=ON
|
|
||||||
-DCURL_DISABLE_DICT=ON
|
|
||||||
-DCURL_DISABLE_FILE=ON
|
|
||||||
-DCURL_DISABLE_TFTP=ON
|
|
||||||
-DCURL_DISABLE_RTSP=ON
|
|
||||||
-DCURL_DISABLE_POP3=ON
|
|
||||||
-DCURL_DISABLE_IMAP=ON
|
|
||||||
-DCURL_DISABLE_SMTP=ON
|
|
||||||
-DCURL_DISABLE_GOPHER=ON
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
${DEP_CMAKE_OPTS}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
110
deps/deps-unix-common.cmake
vendored
110
deps/deps-unix-common.cmake
vendored
|
@ -17,113 +17,3 @@ endif ()
|
||||||
# if (NOT EXPAT_FOUND)
|
# if (NOT EXPAT_FOUND)
|
||||||
# message(WARNING "No EXPAT dev package found in system, building static library. Consider installing the system package.")
|
# message(WARNING "No EXPAT dev package found in system, building static library. Consider installing the system package.")
|
||||||
# endif ()
|
# endif ()
|
||||||
|
|
||||||
ExternalProject_Add(dep_tbb
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://github.com/wjakob/tbb/archive/a0dc9bf76d0120f917b641ed095360448cabc85b.tar.gz"
|
|
||||||
URL_HASH SHA256=0545cb6033bd1873fcae3ea304def720a380a88292726943ae3b9b207f322efe
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DTBB_BUILD_SHARED=OFF
|
|
||||||
-DTBB_BUILD_TESTS=OFF
|
|
||||||
-DCMAKE_CXX_FLAGS=${TBB_MINGW_WORKAROUND}
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
${DEP_CMAKE_OPTS}
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_gtest
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://github.com/google/googletest/archive/release-1.8.1.tar.gz"
|
|
||||||
URL_HASH SHA256=9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c
|
|
||||||
CMAKE_ARGS -DBUILD_GMOCK=OFF ${DEP_CMAKE_OPTS} -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_cereal
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://github.com/USCiLab/cereal/archive/v1.2.2.tar.gz"
|
|
||||||
# URL_HASH SHA256=c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DJUST_INSTALL_CEREAL=on
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
${DEP_CMAKE_OPTS}
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_nlopt
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://github.com/stevengj/nlopt/archive/v2.5.0.tar.gz"
|
|
||||||
URL_HASH SHA256=c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DNLOPT_PYTHON=OFF
|
|
||||||
-DNLOPT_OCTAVE=OFF
|
|
||||||
-DNLOPT_MATLAB=OFF
|
|
||||||
-DNLOPT_GUILE=OFF
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
${DEP_CMAKE_OPTS}
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_qhull
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
#URL "https://github.com/qhull/qhull/archive/v7.3.2.tar.gz"
|
|
||||||
#URL_HASH SHA256=619c8a954880d545194bc03359404ef36a1abd2dde03678089459757fd790cb0
|
|
||||||
GIT_REPOSITORY https://github.com/qhull/qhull.git
|
|
||||||
GIT_TAG 7afedcc73666e46a9f1d74632412ebecf53b1b30 # v7.3.2 plus the mac build patch
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
${DEP_CMAKE_OPTS}
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_blosc
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
GIT_REPOSITORY https://github.com/Blosc/c-blosc.git
|
|
||||||
GIT_TAG e63775855294b50820ef44d1b157f4de1cc38d3e #v1.17.0
|
|
||||||
DEPENDS
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=d
|
|
||||||
-DBUILD_SHARED=OFF
|
|
||||||
-DBUILD_STATIC=ON
|
|
||||||
-DBUILD_TESTS=OFF
|
|
||||||
-DBUILD_BENCHMARKS=OFF
|
|
||||||
-DPREFER_EXTERNAL_ZLIB=ON
|
|
||||||
PATCH_COMMAND ${GIT_EXECUTABLE} reset --hard && git clean -df &&
|
|
||||||
${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/blosc-mods.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_openexr
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
GIT_REPOSITORY https://github.com/openexr/openexr.git
|
|
||||||
GIT_TAG eae0e337c9f5117e78114fd05f7a415819df413a #v2.4.0
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DBUILD_TESTING=OFF
|
|
||||||
-DPYILMBASE_ENABLE:BOOL=OFF
|
|
||||||
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
|
||||||
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_openvdb
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
GIT_REPOSITORY https://github.com/AcademySoftwareFoundation/openvdb.git
|
|
||||||
GIT_TAG aebaf8d95be5e57fd33949281ec357db4a576c2e #v6.2.1
|
|
||||||
DEPENDS dep_blosc dep_openexr dep_tbb
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=d
|
|
||||||
-DCMAKE_PREFIX_PATH=${DESTDIR}/usr/local
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DOPENVDB_BUILD_PYTHON_MODULE=OFF
|
|
||||||
-DUSE_BLOSC=ON
|
|
||||||
-DOPENVDB_CORE_SHARED=OFF
|
|
||||||
-DOPENVDB_CORE_STATIC=ON
|
|
||||||
-DTBB_STATIC=ON
|
|
||||||
-DOPENVDB_BUILD_VDB_PRINT=ON
|
|
||||||
-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON
|
|
||||||
PATCH_COMMAND PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
|
|
||||||
${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/openvdb-mods.patch
|
|
||||||
)
|
|
||||||
|
|
235
deps/deps-windows.cmake
vendored
235
deps/deps-windows.cmake
vendored
|
@ -53,154 +53,6 @@ if (${DEP_DEBUG})
|
||||||
endif ()
|
endif ()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
ExternalProject_Add(dep_boost
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
|
|
||||||
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
CONFIGURE_COMMAND bootstrap.bat
|
|
||||||
BUILD_COMMAND b2.exe
|
|
||||||
-j "${NPROC}"
|
|
||||||
--with-system
|
|
||||||
--with-iostreams
|
|
||||||
--with-filesystem
|
|
||||||
--with-thread
|
|
||||||
--with-log
|
|
||||||
--with-locale
|
|
||||||
--with-regex
|
|
||||||
--with-date_time
|
|
||||||
"--prefix=${DESTDIR}/usr/local"
|
|
||||||
"address-model=${DEPS_BITS}"
|
|
||||||
"toolset=${DEP_BOOST_TOOLSET}"
|
|
||||||
link=static
|
|
||||||
variant=release
|
|
||||||
threading=multi
|
|
||||||
boost.locale.icu=off
|
|
||||||
--disable-icu
|
|
||||||
"${DEP_BOOST_DEBUG}" release install
|
|
||||||
INSTALL_COMMAND "" # b2 does that already
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_tbb
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://github.com/wjakob/tbb/archive/a0dc9bf76d0120f917b641ed095360448cabc85b.tar.gz"
|
|
||||||
URL_HASH SHA256=0545cb6033bd1873fcae3ea304def720a380a88292726943ae3b9b207f322efe
|
|
||||||
CMAKE_GENERATOR "${DEP_MSVC_GEN}"
|
|
||||||
CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}"
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=_debug
|
|
||||||
-DTBB_BUILD_SHARED=OFF
|
|
||||||
-DTBB_BUILD_TESTS=OFF
|
|
||||||
"-DCMAKE_INSTALL_PREFIX:PATH=${DESTDIR}\\usr\\local"
|
|
||||||
BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
)
|
|
||||||
|
|
||||||
add_debug_dep(dep_tbb)
|
|
||||||
|
|
||||||
# ExternalProject_Add(dep_gtest
|
|
||||||
# EXCLUDE_FROM_ALL 1
|
|
||||||
# URL "https://github.com/google/googletest/archive/release-1.8.1.tar.gz"
|
|
||||||
# URL_HASH SHA256=9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c
|
|
||||||
# CMAKE_GENERATOR "${DEP_MSVC_GEN}"
|
|
||||||
# CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}"
|
|
||||||
# CMAKE_ARGS
|
|
||||||
# -DBUILD_GMOCK=OFF
|
|
||||||
# -Dgtest_force_shared_crt=ON
|
|
||||||
# -DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
# "-DCMAKE_INSTALL_PREFIX:PATH=${DESTDIR}\\usr\\local"
|
|
||||||
# BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
|
|
||||||
# INSTALL_COMMAND ""
|
|
||||||
# )
|
|
||||||
|
|
||||||
# add_debug_dep(dep_gtest)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_cereal
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://github.com/USCiLab/cereal/archive/v1.2.2.tar.gz"
|
|
||||||
# URL_HASH SHA256=c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae
|
|
||||||
CMAKE_GENERATOR "${DEP_MSVC_GEN}"
|
|
||||||
CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}"
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DJUST_INSTALL_CEREAL=on
|
|
||||||
"-DCMAKE_INSTALL_PREFIX:PATH=${DESTDIR}\\usr\\local"
|
|
||||||
BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_nlopt
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://github.com/stevengj/nlopt/archive/v2.5.0.tar.gz"
|
|
||||||
URL_HASH SHA256=c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae
|
|
||||||
CMAKE_GENERATOR "${DEP_MSVC_GEN}"
|
|
||||||
CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}"
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DNLOPT_PYTHON=OFF
|
|
||||||
-DNLOPT_OCTAVE=OFF
|
|
||||||
-DNLOPT_MATLAB=OFF
|
|
||||||
-DNLOPT_GUILE=OFF
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=d
|
|
||||||
"-DCMAKE_INSTALL_PREFIX:PATH=${DESTDIR}\\usr\\local"
|
|
||||||
BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
)
|
|
||||||
|
|
||||||
add_debug_dep(dep_nlopt)
|
|
||||||
|
|
||||||
if (${DEPS_BITS} EQUAL 32)
|
|
||||||
set(DEP_LIBCURL_TARGET "x86")
|
|
||||||
else ()
|
|
||||||
set(DEP_LIBCURL_TARGET "x64")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_libcurl
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
URL "https://curl.haxx.se/download/curl-7.58.0.tar.gz"
|
|
||||||
URL_HASH SHA256=cc245bf9a1a42a45df491501d97d5593392a03f7b4f07b952793518d97666115
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
CONFIGURE_COMMAND ""
|
|
||||||
BUILD_COMMAND cd winbuild && nmake /f Makefile.vc mode=static "VC=${DEP_VS_VER}" GEN_PDB=yes DEBUG=no "MACHINE=${DEP_LIBCURL_TARGET}"
|
|
||||||
INSTALL_COMMAND cd builds\\libcurl-*-release-*-winssl
|
|
||||||
&& "${CMAKE_COMMAND}" -E copy_directory include "${DESTDIR}\\usr\\local\\include"
|
|
||||||
&& "${CMAKE_COMMAND}" -E copy_directory lib "${DESTDIR}\\usr\\local\\lib"
|
|
||||||
)
|
|
||||||
if (${DEP_DEBUG})
|
|
||||||
ExternalProject_Get_Property(dep_libcurl SOURCE_DIR)
|
|
||||||
ExternalProject_Add_Step(dep_libcurl build_debug
|
|
||||||
DEPENDEES build
|
|
||||||
DEPENDERS install
|
|
||||||
COMMAND cd winbuild && nmake /f Makefile.vc mode=static "VC=${DEP_VS_VER}" GEN_PDB=yes DEBUG=yes "MACHINE=${DEP_LIBCURL_TARGET}"
|
|
||||||
WORKING_DIRECTORY "${SOURCE_DIR}"
|
|
||||||
)
|
|
||||||
ExternalProject_Add_Step(dep_libcurl install_debug
|
|
||||||
DEPENDEES install
|
|
||||||
COMMAND cd builds\\libcurl-*-debug-*-winssl
|
|
||||||
&& "${CMAKE_COMMAND}" -E copy_directory include "${DESTDIR}\\usr\\local\\include"
|
|
||||||
&& "${CMAKE_COMMAND}" -E copy_directory lib "${DESTDIR}\\usr\\local\\lib"
|
|
||||||
WORKING_DIRECTORY "${SOURCE_DIR}"
|
|
||||||
)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_qhull
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
#URL "https://github.com/qhull/qhull/archive/v7.3.2.tar.gz"
|
|
||||||
#URL_HASH SHA256=619c8a954880d545194bc03359404ef36a1abd2dde03678089459757fd790cb0
|
|
||||||
GIT_REPOSITORY https://github.com/qhull/qhull.git
|
|
||||||
GIT_TAG 7afedcc73666e46a9f1d74632412ebecf53b1b30 # v7.3.2 plus the mac build patch
|
|
||||||
CMAKE_GENERATOR "${DEP_MSVC_GEN}"
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=d
|
|
||||||
BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
)
|
|
||||||
|
|
||||||
add_debug_dep(dep_qhull)
|
|
||||||
|
|
||||||
if (${DEPS_BITS} EQUAL 32)
|
if (${DEPS_BITS} EQUAL 32)
|
||||||
set(DEP_WXWIDGETS_TARGET "")
|
set(DEP_WXWIDGETS_TARGET "")
|
||||||
set(DEP_WXWIDGETS_LIBDIR "vc_lib")
|
set(DEP_WXWIDGETS_LIBDIR "vc_lib")
|
||||||
|
@ -210,90 +62,3 @@ else ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
find_package(Git REQUIRED)
|
find_package(Git REQUIRED)
|
||||||
|
|
||||||
ExternalProject_Add(dep_blosc
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
#URL https://github.com/Blosc/c-blosc/archive/v1.17.0.zip
|
|
||||||
#URL_HASH SHA256=7463a1df566704f212263312717ab2c36b45d45cba6cd0dccebf91b2cc4b4da9
|
|
||||||
GIT_REPOSITORY https://github.com/Blosc/c-blosc.git
|
|
||||||
GIT_TAG e63775855294b50820ef44d1b157f4de1cc38d3e #v1.17.0
|
|
||||||
CMAKE_GENERATOR "${DEP_MSVC_GEN}"
|
|
||||||
CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}"
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=d
|
|
||||||
-DBUILD_SHARED=OFF
|
|
||||||
-DBUILD_STATIC=ON
|
|
||||||
-DBUILD_TESTS=OFF
|
|
||||||
-DBUILD_BENCHMARKS=OFF
|
|
||||||
-DPREFER_EXTERNAL_ZLIB=ON
|
|
||||||
-DBLOSC_IS_SUBPROJECT:BOOL=ON
|
|
||||||
-DBLOSC_INSTALL:BOOL=ON
|
|
||||||
PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
|
|
||||||
${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/blosc-mods.patch
|
|
||||||
BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
)
|
|
||||||
|
|
||||||
add_debug_dep(dep_blosc)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_openexr
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
GIT_REPOSITORY https://github.com/openexr/openexr.git
|
|
||||||
GIT_TAG eae0e337c9f5117e78114fd05f7a415819df413a #v2.4.0
|
|
||||||
CMAKE_GENERATOR "${DEP_MSVC_GEN}"
|
|
||||||
CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}"
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DBUILD_TESTING=OFF
|
|
||||||
-DPYILMBASE_ENABLE:BOOL=OFF
|
|
||||||
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
|
||||||
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
|
||||||
BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
)
|
|
||||||
|
|
||||||
add_debug_dep(dep_openexr)
|
|
||||||
|
|
||||||
ExternalProject_Add(dep_openvdb
|
|
||||||
EXCLUDE_FROM_ALL 1
|
|
||||||
#URL https://github.com/AcademySoftwareFoundation/openvdb/archive/v6.2.1.zip
|
|
||||||
#URL_HASH SHA256=dc337399dce8e1c9f21f20e97b1ce7e4933cb0a63bb3b8b734d8fcc464aa0c48
|
|
||||||
GIT_REPOSITORY https://github.com/AcademySoftwareFoundation/openvdb.git
|
|
||||||
GIT_TAG aebaf8d95be5e57fd33949281ec357db4a576c2e #v6.2.1
|
|
||||||
DEPENDS dep_blosc dep_openexr dep_tbb dep_boost
|
|
||||||
CMAKE_GENERATOR "${DEP_MSVC_GEN}"
|
|
||||||
CMAKE_GENERATOR_PLATFORM "${DEP_PLATFORM}"
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=d
|
|
||||||
-DCMAKE_PREFIX_PATH=${DESTDIR}/usr/local
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DOPENVDB_BUILD_PYTHON_MODULE=OFF
|
|
||||||
-DUSE_BLOSC=ON
|
|
||||||
-DOPENVDB_CORE_SHARED=OFF
|
|
||||||
-DOPENVDB_CORE_STATIC=ON
|
|
||||||
-DTBB_STATIC=ON
|
|
||||||
-DOPENVDB_BUILD_VDB_PRINT=ON
|
|
||||||
BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj
|
|
||||||
PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
|
|
||||||
${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/openvdb-mods.patch
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
)
|
|
||||||
|
|
||||||
if (${DEP_DEBUG})
|
|
||||||
ExternalProject_Get_Property(dep_openvdb BINARY_DIR)
|
|
||||||
ExternalProject_Add_Step(dep_openvdb build_debug
|
|
||||||
DEPENDEES build
|
|
||||||
DEPENDERS install
|
|
||||||
COMMAND ${CMAKE_COMMAND} ../dep_openvdb -DOPENVDB_BUILD_VDB_PRINT=OFF
|
|
||||||
COMMAND msbuild /m /P:Configuration=Debug INSTALL.vcxproj
|
|
||||||
WORKING_DIRECTORY "${BINARY_DIR}"
|
|
||||||
)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
|
|
1908
deps/openvdb-mods.patch
vendored
1908
deps/openvdb-mods.patch
vendored
File diff suppressed because it is too large
Load diff
49
deps/qhull-mods.patch
vendored
49
deps/qhull-mods.patch
vendored
|
@ -1,49 +0,0 @@
|
||||||
From 7f55a56b3d112f4dffbf21b1722f400c64bf03b1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: tamasmeszaros <meszaros.q@gmail.com>
|
|
||||||
Date: Mon, 21 Oct 2019 16:52:04 +0200
|
|
||||||
Subject: [PATCH] Fix the build on macOS
|
|
||||||
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 10 +++++-----
|
|
||||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 07d3da2..14df8e9 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -626,18 +626,18 @@ install(TARGETS ${qhull_TARGETS_INSTALL} EXPORT QhullTargets
|
|
||||||
include(CMakePackageConfigHelpers)
|
|
||||||
|
|
||||||
write_basic_package_version_file(
|
|
||||||
- "${CMAKE_CURRENT_BINARY_DIR}/Qhull/QhullConfigVersion.cmake"
|
|
||||||
+ "${CMAKE_CURRENT_BINARY_DIR}/QhullExport/QhullConfigVersion.cmake"
|
|
||||||
VERSION ${qhull_VERSION}
|
|
||||||
COMPATIBILITY AnyNewerVersion
|
|
||||||
)
|
|
||||||
|
|
||||||
export(EXPORT QhullTargets
|
|
||||||
- FILE "${CMAKE_CURRENT_BINARY_DIR}/Qhull/QhullTargets.cmake"
|
|
||||||
+ FILE "${CMAKE_CURRENT_BINARY_DIR}/QhullExport/QhullTargets.cmake"
|
|
||||||
NAMESPACE Qhull::
|
|
||||||
)
|
|
||||||
|
|
||||||
configure_file(${PROJECT_SOURCE_DIR}/build/config.cmake.in
|
|
||||||
- "${CMAKE_CURRENT_BINARY_DIR}/Qhull/QhullConfig.cmake"
|
|
||||||
+ "${CMAKE_CURRENT_BINARY_DIR}/QhullExport/QhullConfig.cmake"
|
|
||||||
@ONLY
|
|
||||||
)
|
|
||||||
|
|
||||||
@@ -652,8 +652,8 @@ install(EXPORT QhullTargets
|
|
||||||
)
|
|
||||||
install(
|
|
||||||
FILES
|
|
||||||
- "${CMAKE_CURRENT_BINARY_DIR}/Qhull/QhullConfig.cmake"
|
|
||||||
- "${CMAKE_CURRENT_BINARY_DIR}/Qhull/QhullConfigVersion.cmake"
|
|
||||||
+ "${CMAKE_CURRENT_BINARY_DIR}/QhullExport/QhullConfig.cmake"
|
|
||||||
+ "${CMAKE_CURRENT_BINARY_DIR}/QhullExport/QhullConfigVersion.cmake"
|
|
||||||
DESTINATION
|
|
||||||
${ConfigPackageLocation}
|
|
||||||
COMPONENT
|
|
||||||
--
|
|
||||||
2.17.1
|
|
||||||
|
|
16
deps/wxWidgets/wxWidgets.cmake
vendored
16
deps/wxWidgets/wxWidgets.cmake
vendored
|
@ -1,6 +1,5 @@
|
||||||
set(_wx_git_tag v3.1.4-patched)
|
set(_wx_git_tag v3.1.4-patched)
|
||||||
|
|
||||||
# set(_patch_command "")
|
|
||||||
set(_wx_toolkit "")
|
set(_wx_toolkit "")
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
set(_gtk_ver 2)
|
set(_gtk_ver 2)
|
||||||
|
@ -11,10 +10,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
prusaslicer_add_cmake_project(wxWidgets
|
prusaslicer_add_cmake_project(wxWidgets
|
||||||
GIT_REPOSITORY "https://github.com/prusa3d/wxWidgets"
|
# GIT_REPOSITORY "https://github.com/prusa3d/wxWidgets"
|
||||||
GIT_TAG ${_wx_git_tag}
|
# GIT_TAG tm_cross_compile #${_wx_git_tag}
|
||||||
# PATCH_COMMAND "${_patch_command}"
|
URL https://github.com/prusa3d/wxWidgets/archive/refs/heads/v3.1.4-patched.zip
|
||||||
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG}
|
URL_HASH SHA256=a1e145a083d173cf320c0bd8522c7ee5829052b49b68fe5268ac84f0c576b940
|
||||||
|
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF dep_JPEG
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DwxBUILD_PRECOMP=ON
|
-DwxBUILD_PRECOMP=ON
|
||||||
${_wx_toolkit}
|
${_wx_toolkit}
|
||||||
|
@ -28,9 +28,11 @@ prusaslicer_add_cmake_project(wxWidgets
|
||||||
-DwxUSE_ZLIB=sys
|
-DwxUSE_ZLIB=sys
|
||||||
-DwxUSE_REGEX=builtin
|
-DwxUSE_REGEX=builtin
|
||||||
-DwxUSE_LIBXPM=builtin
|
-DwxUSE_LIBXPM=builtin
|
||||||
-DwxUSE_LIBJPEG=builtin
|
-DwxUSE_LIBJPEG=sys
|
||||||
-DwxUSE_LIBTIFF=builtin
|
-DwxUSE_LIBTIFF=sys
|
||||||
-DwxUSE_EXPAT=sys
|
-DwxUSE_EXPAT=sys
|
||||||
|
-DwxUSE_LIBSDL=OFF
|
||||||
|
-DwxUSE_XTEST=OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
|
|
168
deps/wxwidgets-pngprefix.h
vendored
168
deps/wxwidgets-pngprefix.h
vendored
|
@ -1,168 +0,0 @@
|
||||||
// Patched in PrusaSlicer: These two were missing:
|
|
||||||
#define png_write_eXIf wx_png_write_eXIf
|
|
||||||
#define png_handle_eXIf wx_png_handle_eXIf
|
|
||||||
|
|
||||||
#define png_sRGB_table wx_png_sRGB_table
|
|
||||||
#define png_sRGB_base wx_png_sRGB_base
|
|
||||||
#define png_sRGB_delta wx_png_sRGB_delta
|
|
||||||
#define png_zstream_error wx_png_zstream_error
|
|
||||||
#define png_free_buffer_list wx_png_free_buffer_list
|
|
||||||
#define png_fixed wx_png_fixed
|
|
||||||
#define png_user_version_check wx_png_user_version_check
|
|
||||||
#define png_malloc_base wx_png_malloc_base
|
|
||||||
#define png_malloc_array wx_png_malloc_array
|
|
||||||
#define png_realloc_array wx_png_realloc_array
|
|
||||||
#define png_create_png_struct wx_png_create_png_struct
|
|
||||||
#define png_destroy_png_struct wx_png_destroy_png_struct
|
|
||||||
#define png_free_jmpbuf wx_png_free_jmpbuf
|
|
||||||
#define png_zalloc wx_png_zalloc
|
|
||||||
#define png_zfree wx_png_zfree
|
|
||||||
#define png_default_read_data wx_png_default_read_data
|
|
||||||
#define png_push_fill_buffer wx_png_push_fill_buffer
|
|
||||||
#define png_default_write_data wx_png_default_write_data
|
|
||||||
#define png_default_flush wx_png_default_flush
|
|
||||||
#define png_reset_crc wx_png_reset_crc
|
|
||||||
#define png_write_data wx_png_write_data
|
|
||||||
#define png_read_sig wx_png_read_sig
|
|
||||||
#define png_read_chunk_header wx_png_read_chunk_header
|
|
||||||
#define png_read_data wx_png_read_data
|
|
||||||
#define png_crc_read wx_png_crc_read
|
|
||||||
#define png_crc_finish wx_png_crc_finish
|
|
||||||
#define png_crc_error wx_png_crc_error
|
|
||||||
#define png_calculate_crc wx_png_calculate_crc
|
|
||||||
#define png_flush wx_png_flush
|
|
||||||
#define png_write_IHDR wx_png_write_IHDR
|
|
||||||
#define png_write_PLTE wx_png_write_PLTE
|
|
||||||
#define png_compress_IDAT wx_png_compress_IDAT
|
|
||||||
#define png_write_IEND wx_png_write_IEND
|
|
||||||
#define png_write_gAMA_fixed wx_png_write_gAMA_fixed
|
|
||||||
#define png_write_sBIT wx_png_write_sBIT
|
|
||||||
#define png_write_cHRM_fixed wx_png_write_cHRM_fixed
|
|
||||||
#define png_write_sRGB wx_png_write_sRGB
|
|
||||||
#define png_write_iCCP wx_png_write_iCCP
|
|
||||||
#define png_write_sPLT wx_png_write_sPLT
|
|
||||||
#define png_write_tRNS wx_png_write_tRNS
|
|
||||||
#define png_write_bKGD wx_png_write_bKGD
|
|
||||||
#define png_write_hIST wx_png_write_hIST
|
|
||||||
#define png_write_tEXt wx_png_write_tEXt
|
|
||||||
#define png_write_zTXt wx_png_write_zTXt
|
|
||||||
#define png_write_iTXt wx_png_write_iTXt
|
|
||||||
#define png_set_text_2 wx_png_set_text_2
|
|
||||||
#define png_write_oFFs wx_png_write_oFFs
|
|
||||||
#define png_write_pCAL wx_png_write_pCAL
|
|
||||||
#define png_write_pHYs wx_png_write_pHYs
|
|
||||||
#define png_write_tIME wx_png_write_tIME
|
|
||||||
#define png_write_sCAL_s wx_png_write_sCAL_s
|
|
||||||
#define png_write_finish_row wx_png_write_finish_row
|
|
||||||
#define png_write_start_row wx_png_write_start_row
|
|
||||||
#define png_combine_row wx_png_combine_row
|
|
||||||
#define png_do_read_interlace wx_png_do_read_interlace
|
|
||||||
#define png_do_write_interlace wx_png_do_write_interlace
|
|
||||||
#define png_read_filter_row wx_png_read_filter_row
|
|
||||||
#define png_write_find_filter wx_png_write_find_filter
|
|
||||||
#define png_read_IDAT_data wx_png_read_IDAT_data
|
|
||||||
#define png_read_finish_IDAT wx_png_read_finish_IDAT
|
|
||||||
#define png_read_finish_row wx_png_read_finish_row
|
|
||||||
#define png_read_start_row wx_png_read_start_row
|
|
||||||
#define png_zlib_inflate wx_png_zlib_inflate
|
|
||||||
#define png_read_transform_info wx_png_read_transform_info
|
|
||||||
#define png_do_strip_channel wx_png_do_strip_channel
|
|
||||||
#define png_do_swap wx_png_do_swap
|
|
||||||
#define png_do_packswap wx_png_do_packswap
|
|
||||||
#define png_do_invert wx_png_do_invert
|
|
||||||
#define png_do_bgr wx_png_do_bgr
|
|
||||||
#define png_handle_IHDR wx_png_handle_IHDR
|
|
||||||
#define png_handle_PLTE wx_png_handle_PLTE
|
|
||||||
#define png_handle_IEND wx_png_handle_IEND
|
|
||||||
#define png_handle_bKGD wx_png_handle_bKGD
|
|
||||||
#define png_handle_cHRM wx_png_handle_cHRM
|
|
||||||
#define png_handle_gAMA wx_png_handle_gAMA
|
|
||||||
#define png_handle_hIST wx_png_handle_hIST
|
|
||||||
#define png_handle_iCCP wx_png_handle_iCCP
|
|
||||||
#define png_handle_iTXt wx_png_handle_iTXt
|
|
||||||
#define png_handle_oFFs wx_png_handle_oFFs
|
|
||||||
#define png_handle_pCAL wx_png_handle_pCAL
|
|
||||||
#define png_handle_pHYs wx_png_handle_pHYs
|
|
||||||
#define png_handle_sBIT wx_png_handle_sBIT
|
|
||||||
#define png_handle_sCAL wx_png_handle_sCAL
|
|
||||||
#define png_handle_sPLT wx_png_handle_sPLT
|
|
||||||
#define png_handle_sRGB wx_png_handle_sRGB
|
|
||||||
#define png_handle_tEXt wx_png_handle_tEXt
|
|
||||||
#define png_handle_tIME wx_png_handle_tIME
|
|
||||||
#define png_handle_tRNS wx_png_handle_tRNS
|
|
||||||
#define png_handle_zTXt wx_png_handle_zTXt
|
|
||||||
#define png_check_chunk_name wx_png_check_chunk_name
|
|
||||||
#define png_check_chunk_length wx_png_check_chunk_length
|
|
||||||
#define png_handle_unknown wx_png_handle_unknown
|
|
||||||
#define png_chunk_unknown_handling wx_png_chunk_unknown_handling
|
|
||||||
#define png_do_read_transformations wx_png_do_read_transformations
|
|
||||||
#define png_do_write_transformations wx_png_do_write_transformations
|
|
||||||
#define png_init_read_transformations wx_png_init_read_transformations
|
|
||||||
#define png_push_read_chunk wx_png_push_read_chunk
|
|
||||||
#define png_push_read_sig wx_png_push_read_sig
|
|
||||||
#define png_push_check_crc wx_png_push_check_crc
|
|
||||||
#define png_push_save_buffer wx_png_push_save_buffer
|
|
||||||
#define png_push_restore_buffer wx_png_push_restore_buffer
|
|
||||||
#define png_push_read_IDAT wx_png_push_read_IDAT
|
|
||||||
#define png_process_IDAT_data wx_png_process_IDAT_data
|
|
||||||
#define png_push_process_row wx_png_push_process_row
|
|
||||||
#define png_push_handle_unknown wx_png_push_handle_unknown
|
|
||||||
#define png_push_have_info wx_png_push_have_info
|
|
||||||
#define png_push_have_end wx_png_push_have_end
|
|
||||||
#define png_push_have_row wx_png_push_have_row
|
|
||||||
#define png_push_read_end wx_png_push_read_end
|
|
||||||
#define png_process_some_data wx_png_process_some_data
|
|
||||||
#define png_read_push_finish_row wx_png_read_push_finish_row
|
|
||||||
#define png_push_handle_tEXt wx_png_push_handle_tEXt
|
|
||||||
#define png_push_read_tEXt wx_png_push_read_tEXt
|
|
||||||
#define png_push_handle_zTXt wx_png_push_handle_zTXt
|
|
||||||
#define png_push_read_zTXt wx_png_push_read_zTXt
|
|
||||||
#define png_push_handle_iTXt wx_png_push_handle_iTXt
|
|
||||||
#define png_push_read_iTXt wx_png_push_read_iTXt
|
|
||||||
#define png_colorspace_set_gamma wx_png_colorspace_set_gamma
|
|
||||||
#define png_colorspace_sync_info wx_png_colorspace_sync_info
|
|
||||||
#define png_colorspace_sync wx_png_colorspace_sync
|
|
||||||
#define png_colorspace_set_chromaticities wx_png_colorspace_set_chromaticities
|
|
||||||
#define png_colorspace_set_endpoints wx_png_colorspace_set_endpoints
|
|
||||||
#define png_colorspace_set_sRGB wx_png_colorspace_set_sRGB
|
|
||||||
#define png_colorspace_set_ICC wx_png_colorspace_set_ICC
|
|
||||||
#define png_icc_check_length wx_png_icc_check_length
|
|
||||||
#define png_icc_check_header wx_png_icc_check_header
|
|
||||||
#define png_icc_check_tag_table wx_png_icc_check_tag_table
|
|
||||||
#define png_icc_set_sRGB wx_png_icc_set_sRGB
|
|
||||||
#define png_colorspace_set_rgb_coefficients wx_png_colorspace_set_rgb_coefficients
|
|
||||||
#define png_check_IHDR wx_png_check_IHDR
|
|
||||||
#define png_do_check_palette_indexes wx_png_do_check_palette_indexes
|
|
||||||
#define png_fixed_error wx_png_fixed_error
|
|
||||||
#define png_safecat wx_png_safecat
|
|
||||||
#define png_format_number wx_png_format_number
|
|
||||||
#define png_warning_parameter wx_png_warning_parameter
|
|
||||||
#define png_warning_parameter_unsigned wx_png_warning_parameter_unsigned
|
|
||||||
#define png_warning_parameter_signed wx_png_warning_parameter_signed
|
|
||||||
#define png_formatted_warning wx_png_formatted_warning
|
|
||||||
#define png_app_warning wx_png_app_warning
|
|
||||||
#define png_app_error wx_png_app_error
|
|
||||||
#define png_chunk_report wx_png_chunk_report
|
|
||||||
#define png_ascii_from_fp wx_png_ascii_from_fp
|
|
||||||
#define png_ascii_from_fixed wx_png_ascii_from_fixed
|
|
||||||
#define png_check_fp_number wx_png_check_fp_number
|
|
||||||
#define png_check_fp_string wx_png_check_fp_string
|
|
||||||
#define png_muldiv wx_png_muldiv
|
|
||||||
#define png_muldiv_warn wx_png_muldiv_warn
|
|
||||||
#define png_reciprocal wx_png_reciprocal
|
|
||||||
#define png_reciprocal2 wx_png_reciprocal2
|
|
||||||
#define png_gamma_significant wx_png_gamma_significant
|
|
||||||
#define png_gamma_correct wx_png_gamma_correct
|
|
||||||
#define png_gamma_16bit_correct wx_png_gamma_16bit_correct
|
|
||||||
#define png_gamma_8bit_correct wx_png_gamma_8bit_correct
|
|
||||||
#define png_destroy_gamma_table wx_png_destroy_gamma_table
|
|
||||||
#define png_build_gamma_table wx_png_build_gamma_table
|
|
||||||
#define png_safe_error wx_png_safe_error
|
|
||||||
#define png_safe_warning wx_png_safe_warning
|
|
||||||
#define png_safe_execute wx_png_safe_execute
|
|
||||||
#define png_image_error wx_png_image_error
|
|
||||||
#define png_check_keyword wx_png_check_keyword
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -57,26 +57,23 @@ if (SLIC3R_GUI)
|
||||||
|
|
||||||
include(${wxWidgets_USE_FILE})
|
include(${wxWidgets_USE_FILE})
|
||||||
|
|
||||||
|
find_package(JPEG QUIET)
|
||||||
|
find_package(TIFF QUIET)
|
||||||
|
|
||||||
string(REGEX MATCH "wxpng" WX_PNG_BUILTIN ${wxWidgets_LIBRARIES})
|
string(REGEX MATCH "wxpng" WX_PNG_BUILTIN ${wxWidgets_LIBRARIES})
|
||||||
if (NOT WX_PNG_BUILTIN)
|
if (PNG_FOUND AND NOT WX_PNG_BUILTIN)
|
||||||
find_package(JPEG QUIET)
|
list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX png)
|
||||||
if (PNG_FOUND)
|
list(APPEND wxWidgets_LIBRARIES ${PNG_LIBRARIES})
|
||||||
list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX png)
|
|
||||||
list(APPEND wxWidgets_LIBRARIES ${PNG_LIBRARIES})
|
|
||||||
endif ()
|
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
string(REGEX MATCH "wxtiff" WX_TIFF_BUILTIN ${wxWidgets_LIBRARIES})
|
string(REGEX MATCH "wxtiff" WX_TIFF_BUILTIN ${wxWidgets_LIBRARIES})
|
||||||
if (NOT WX_TIFF_BUILTIN)
|
if (TIFF_FOUND AND NOT WX_TIFF_BUILTIN)
|
||||||
find_package(TIFF QUIET)
|
list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX tiff)
|
||||||
if (TIFF_FOUND)
|
list(APPEND wxWidgets_LIBRARIES ${TIFF_LIBRARIES})
|
||||||
list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX tiff)
|
|
||||||
list(APPEND wxWidgets_LIBRARIES ${TIFF_LIBRARIES})
|
|
||||||
endif ()
|
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
string(REGEX MATCH "wxjpeg" WX_JPEG_BUILTIN ${wxWidgets_LIBRARIES})
|
string(REGEX MATCH "wxjpeg" WX_JPEG_BUILTIN ${wxWidgets_LIBRARIES})
|
||||||
if (TIFF_FOUND AND NOT WX_JPEG_BUILTIN)
|
if (JPEG_FOUND AND NOT WX_JPEG_BUILTIN)
|
||||||
list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX jpeg)
|
list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX jpeg)
|
||||||
list(APPEND wxWidgets_LIBRARIES ${JPEG_LIBRARIES})
|
list(APPEND wxWidgets_LIBRARIES ${JPEG_LIBRARIES})
|
||||||
endif ()
|
endif ()
|
||||||
|
@ -86,6 +83,7 @@ if (SLIC3R_GUI)
|
||||||
list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX expat)
|
list(FILTER wxWidgets_LIBRARIES EXCLUDE REGEX expat)
|
||||||
list(APPEND wxWidgets_LIBRARIES ${EXPAT_LIBRARIES})
|
list(APPEND wxWidgets_LIBRARIES ${EXPAT_LIBRARIES})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# This is an issue in the new wxWidgets cmake build, doesn't deal with librt
|
# This is an issue in the new wxWidgets cmake build, doesn't deal with librt
|
||||||
find_library(LIBRT rt)
|
find_library(LIBRT rt)
|
||||||
if(LIBRT)
|
if(LIBRT)
|
||||||
|
|
|
@ -542,7 +542,7 @@ void AppConfig::update_config_dir(const std::string &dir)
|
||||||
|
|
||||||
void AppConfig::update_skein_dir(const std::string &dir)
|
void AppConfig::update_skein_dir(const std::string &dir)
|
||||||
{
|
{
|
||||||
if (dir == sys_shapes_dir() || dir == custom_shapes_dir())
|
if (is_shapes_dir(dir))
|
||||||
return; // do not save "shapes gallery" directory
|
return; // do not save "shapes gallery" directory
|
||||||
this->set("recent", "skein_directory", dir);
|
this->set("recent", "skein_directory", dir);
|
||||||
}
|
}
|
||||||
|
@ -576,7 +576,7 @@ std::string AppConfig::get_last_output_dir(const std::string& alt, const bool re
|
||||||
if (it2 != it->second.end() && it3 != it->second.end() && !it2->second.empty() && it3->second == "1")
|
if (it2 != it->second.end() && it3 != it->second.end() && !it2->second.empty() && it3->second == "1")
|
||||||
return it2->second;
|
return it2->second;
|
||||||
}
|
}
|
||||||
return alt;
|
return is_shapes_dir(alt) ? get_last_dir() : alt;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AppConfig::update_last_output_dir(const std::string& dir, const bool removable)
|
void AppConfig::update_last_output_dir(const std::string& dir, const bool removable)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project(libslic3r)
|
|
||||||
cmake_minimum_required(VERSION 3.13)
|
cmake_minimum_required(VERSION 3.13)
|
||||||
|
project(libslic3r)
|
||||||
|
|
||||||
include(PrecompiledHeader)
|
include(PrecompiledHeader)
|
||||||
|
|
||||||
|
|
|
@ -112,7 +112,7 @@ InteriorPtr generate_interior(const TriangleMesh & mesh,
|
||||||
const HollowingConfig &hc,
|
const HollowingConfig &hc,
|
||||||
const JobController & ctl)
|
const JobController & ctl)
|
||||||
{
|
{
|
||||||
static const double MIN_OVERSAMPL = 3.;
|
static const double MIN_OVERSAMPL = 3.5;
|
||||||
static const double MAX_OVERSAMPL = 8.;
|
static const double MAX_OVERSAMPL = 8.;
|
||||||
|
|
||||||
// I can't figure out how to increase the grid resolution through openvdb
|
// I can't figure out how to increase the grid resolution through openvdb
|
||||||
|
|
|
@ -323,6 +323,7 @@ private:
|
||||||
{
|
{
|
||||||
support_tree_ptr = sla::SupportTree::create(*this, ctl);
|
support_tree_ptr = sla::SupportTree::create(*this, ctl);
|
||||||
tree_mesh = TriangleMesh{support_tree_ptr->retrieve_mesh(sla::MeshType::Support)};
|
tree_mesh = TriangleMesh{support_tree_ptr->retrieve_mesh(sla::MeshType::Support)};
|
||||||
|
tree_mesh.require_shared_vertices();
|
||||||
return support_tree_ptr;
|
return support_tree_ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,9 +10,9 @@
|
||||||
using SignalT = decltype (SIGSEGV);
|
using SignalT = decltype (SIGSEGV);
|
||||||
|
|
||||||
template<class TryFn, class CatchFn, int N>
|
template<class TryFn, class CatchFn, int N>
|
||||||
void try_catch_signal(const SignalT (&/*sigs*/)[N], TryFn &&/*fn*/, CatchFn &&/*cfn*/)
|
void try_catch_signal(const SignalT (&/*sigs*/)[N], TryFn &&fn, CatchFn &&/*cfn*/)
|
||||||
{
|
{
|
||||||
// TODO
|
fn();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -102,6 +102,7 @@ extern bool is_gcode_file(const std::string &path);
|
||||||
extern bool is_img_file(const std::string& path);
|
extern bool is_img_file(const std::string& path);
|
||||||
extern bool is_stl_file(const boost::filesystem::directory_entry& path);
|
extern bool is_stl_file(const boost::filesystem::directory_entry& path);
|
||||||
extern bool is_stl_file(const std::string& path);
|
extern bool is_stl_file(const std::string& path);
|
||||||
|
extern bool is_shapes_dir(const std::string& dir);
|
||||||
|
|
||||||
// File path / name / extension splitting utilities, working with UTF-8,
|
// File path / name / extension splitting utilities, working with UTF-8,
|
||||||
// to be published to Perl.
|
// to be published to Perl.
|
||||||
|
|
|
@ -776,6 +776,11 @@ bool is_stl_file(const std::string &path)
|
||||||
return boost::iends_with(path, ".stl");
|
return boost::iends_with(path, ".stl");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool is_shapes_dir(const std::string& dir)
|
||||||
|
{
|
||||||
|
return dir == sys_shapes_dir() || dir == custom_shapes_dir();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Slic3r
|
} // namespace Slic3r
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
|
|
|
@ -1606,25 +1606,17 @@ ConfigWizardIndex::ConfigWizardIndex(wxWindow *parent)
|
||||||
, item_hover(NO_ITEM)
|
, item_hover(NO_ITEM)
|
||||||
, last_page((size_t)-1)
|
, last_page((size_t)-1)
|
||||||
{
|
{
|
||||||
|
#ifndef __WXOSX__
|
||||||
|
SetDoubleBuffered(true);// SetDoubleBuffered exists on Win and Linux/GTK, but is missing on OSX
|
||||||
|
#endif //__WXOSX__
|
||||||
SetMinSize(bg.bmp().GetSize());
|
SetMinSize(bg.bmp().GetSize());
|
||||||
|
|
||||||
const wxSize size = GetTextExtent("m");
|
const wxSize size = GetTextExtent("m");
|
||||||
em_w = size.x;
|
em_w = size.x;
|
||||||
em_h = size.y;
|
em_h = size.y;
|
||||||
|
|
||||||
// Add logo bitmap.
|
|
||||||
// This could be done in on_paint() along with the index labels, but I've found it tricky
|
|
||||||
// to get the bitmap rendered well on all platforms with transparent background.
|
|
||||||
// In some cases it didn't work at all. And so wxStaticBitmap is used here instead,
|
|
||||||
// because it has all the platform quirks figured out.
|
|
||||||
auto *sizer = new wxBoxSizer(wxVERTICAL);
|
|
||||||
logo = new wxStaticBitmap(this, wxID_ANY, bg.bmp());
|
|
||||||
sizer->AddStretchSpacer();
|
|
||||||
sizer->Add(logo);
|
|
||||||
SetSizer(sizer);
|
|
||||||
logo_height = logo->GetBitmap().GetHeight();
|
|
||||||
|
|
||||||
Bind(wxEVT_PAINT, &ConfigWizardIndex::on_paint, this);
|
Bind(wxEVT_PAINT, &ConfigWizardIndex::on_paint, this);
|
||||||
|
Bind(wxEVT_SIZE, [this](wxEvent& e) { e.Skip(); Refresh(); });
|
||||||
Bind(wxEVT_MOTION, &ConfigWizardIndex::on_mouse_move, this);
|
Bind(wxEVT_MOTION, &ConfigWizardIndex::on_mouse_move, this);
|
||||||
|
|
||||||
Bind(wxEVT_LEAVE_WINDOW, [this](wxMouseEvent &evt) {
|
Bind(wxEVT_LEAVE_WINDOW, [this](wxMouseEvent &evt) {
|
||||||
|
@ -1770,17 +1762,18 @@ void ConfigWizardIndex::on_paint(wxPaintEvent & evt)
|
||||||
index_width = std::max(index_width, (int)x + text_size.x);
|
index_width = std::max(index_width, (int)x + text_size.x);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//draw logo
|
||||||
|
if (int y = size.y - bg.GetBmpHeight(); y>=0) {
|
||||||
|
dc.DrawBitmap(bg.bmp(), 0, y, false);
|
||||||
|
index_width = std::max(index_width, bg.GetBmpWidth() + em_w / 2);
|
||||||
|
}
|
||||||
|
|
||||||
if (GetMinSize().x < index_width) {
|
if (GetMinSize().x < index_width) {
|
||||||
CallAfter([this, index_width]() {
|
CallAfter([this, index_width]() {
|
||||||
SetMinSize(wxSize(index_width, GetMinSize().y));
|
SetMinSize(wxSize(index_width, GetMinSize().y));
|
||||||
Refresh();
|
Refresh();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((int)y + logo_height > size.GetHeight())
|
|
||||||
logo->Hide();
|
|
||||||
else
|
|
||||||
logo->Show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigWizardIndex::on_mouse_move(wxMouseEvent &evt)
|
void ConfigWizardIndex::on_mouse_move(wxMouseEvent &evt)
|
||||||
|
@ -1806,7 +1799,6 @@ void ConfigWizardIndex::msw_rescale()
|
||||||
|
|
||||||
bg.msw_rescale();
|
bg.msw_rescale();
|
||||||
SetMinSize(bg.bmp().GetSize());
|
SetMinSize(bg.bmp().GetSize());
|
||||||
logo->SetBitmap(bg.bmp());
|
|
||||||
|
|
||||||
bullet_black.msw_rescale();
|
bullet_black.msw_rescale();
|
||||||
bullet_blue.msw_rescale();
|
bullet_blue.msw_rescale();
|
||||||
|
|
|
@ -512,15 +512,12 @@ private:
|
||||||
ScalableBitmap bullet_black;
|
ScalableBitmap bullet_black;
|
||||||
ScalableBitmap bullet_blue;
|
ScalableBitmap bullet_blue;
|
||||||
ScalableBitmap bullet_white;
|
ScalableBitmap bullet_white;
|
||||||
wxStaticBitmap* logo;
|
|
||||||
|
|
||||||
std::vector<Item> items;
|
std::vector<Item> items;
|
||||||
size_t item_active;
|
size_t item_active;
|
||||||
ssize_t item_hover;
|
ssize_t item_hover;
|
||||||
size_t last_page;
|
size_t last_page;
|
||||||
|
|
||||||
int logo_height;
|
|
||||||
|
|
||||||
int item_height() const { return std::max(bullet_black.bmp().GetSize().GetHeight(), em_w) + em_w; }
|
int item_height() const { return std::max(bullet_black.bmp().GetSize().GetHeight(), em_w) + em_w; }
|
||||||
|
|
||||||
void on_paint(wxPaintEvent &evt);
|
void on_paint(wxPaintEvent &evt);
|
||||||
|
|
|
@ -3341,14 +3341,31 @@ void GCodeViewer::render_legend(float& legend_height) const
|
||||||
if (show_estimated_time) {
|
if (show_estimated_time) {
|
||||||
ImGui::Spacing();
|
ImGui::Spacing();
|
||||||
std::string time_title = _u8L("Estimated printing times");
|
std::string time_title = _u8L("Estimated printing times");
|
||||||
switch (m_time_estimate_mode)
|
auto can_show_mode_button = [this](PrintEstimatedStatistics::ETimeMode mode) {
|
||||||
{
|
bool show = false;
|
||||||
case PrintEstimatedStatistics::ETimeMode::Normal: { time_title += " [" + _u8L("Normal mode") + "]:"; break; }
|
if (m_print_statistics.modes.size() > 1 && m_print_statistics.modes[static_cast<size_t>(mode)].roles_times.size() > 0) {
|
||||||
case PrintEstimatedStatistics::ETimeMode::Stealth: { time_title += " [" + _u8L("Stealth mode") + "]:"; break; }
|
for (size_t i = 0; i < m_print_statistics.modes.size(); ++i) {
|
||||||
default: { assert(false); break; }
|
if (i != static_cast<size_t>(mode) &&
|
||||||
|
m_print_statistics.modes[i].time > 0.0f &&
|
||||||
|
short_time(get_time_dhms(m_print_statistics.modes[static_cast<size_t>(mode)].time)) != short_time(get_time_dhms(m_print_statistics.modes[i].time))) {
|
||||||
|
show = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return show;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (can_show_mode_button(m_time_estimate_mode)) {
|
||||||
|
switch (m_time_estimate_mode)
|
||||||
|
{
|
||||||
|
case PrintEstimatedStatistics::ETimeMode::Normal: { time_title += " [" + _u8L("Normal mode") + "]"; break; }
|
||||||
|
case PrintEstimatedStatistics::ETimeMode::Stealth: { time_title += " [" + _u8L("Stealth mode") + "]"; break; }
|
||||||
|
default: { assert(false); break; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
imgui.title(time_title);
|
imgui.title(time_title + ":");
|
||||||
|
|
||||||
std::string first_str = _u8L("First layer");
|
std::string first_str = _u8L("First layer");
|
||||||
std::string total_str = _u8L("Total");
|
std::string total_str = _u8L("Total");
|
||||||
|
@ -3369,16 +3386,8 @@ void GCodeViewer::render_legend(float& legend_height) const
|
||||||
ImGui::SameLine(max_len);
|
ImGui::SameLine(max_len);
|
||||||
imgui.text(short_time(get_time_dhms(time_mode.time)));
|
imgui.text(short_time(get_time_dhms(time_mode.time)));
|
||||||
|
|
||||||
auto show_mode_button = [this, &imgui](const wxString& label, PrintEstimatedStatistics::ETimeMode mode) {
|
auto show_mode_button = [this, &imgui, can_show_mode_button](const wxString& label, PrintEstimatedStatistics::ETimeMode mode) {
|
||||||
bool show = false;
|
if (can_show_mode_button(mode)) {
|
||||||
for (size_t i = 0; i < m_print_statistics.modes.size(); ++i) {
|
|
||||||
if (i != static_cast<size_t>(mode) &&
|
|
||||||
short_time(get_time_dhms(m_print_statistics.modes[static_cast<size_t>(mode)].time)) != short_time(get_time_dhms(m_print_statistics.modes[i].time))) {
|
|
||||||
show = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (show && m_print_statistics.modes[static_cast<size_t>(mode)].roles_times.size() > 0) {
|
|
||||||
if (imgui.button(label)) {
|
if (imgui.button(label)) {
|
||||||
*const_cast<PrintEstimatedStatistics::ETimeMode*>(&m_time_estimate_mode) = mode;
|
*const_cast<PrintEstimatedStatistics::ETimeMode*>(&m_time_estimate_mode) = mode;
|
||||||
wxGetApp().plater()->get_current_canvas3D()->set_as_dirty();
|
wxGetApp().plater()->get_current_canvas3D()->set_as_dirty();
|
||||||
|
|
|
@ -671,6 +671,7 @@ public:
|
||||||
|
|
||||||
#if ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
#if ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
||||||
std::vector<CustomGCode::Item>& get_custom_gcode_per_print_z() { return m_custom_gcode_per_print_z; }
|
std::vector<CustomGCode::Item>& get_custom_gcode_per_print_z() { return m_custom_gcode_per_print_z; }
|
||||||
|
size_t get_extruders_count() { return m_extruders_count; }
|
||||||
#endif // ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
#endif // ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -636,6 +636,7 @@ public:
|
||||||
void set_toolpaths_z_range(const std::array<unsigned int, 2>& range);
|
void set_toolpaths_z_range(const std::array<unsigned int, 2>& range);
|
||||||
#if ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
#if ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
||||||
std::vector<CustomGCode::Item>& get_custom_gcode_per_print_z() { return m_gcode_viewer.get_custom_gcode_per_print_z(); }
|
std::vector<CustomGCode::Item>& get_custom_gcode_per_print_z() { return m_gcode_viewer.get_custom_gcode_per_print_z(); }
|
||||||
|
size_t get_gcode_extruders_count() { return m_gcode_viewer.get_extruders_count(); }
|
||||||
#endif // ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
#endif // ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
||||||
|
|
||||||
std::vector<int> load_object(const ModelObject& model_object, int obj_idx, std::vector<int> instance_idxs);
|
std::vector<int> load_object(const ModelObject& model_object, int obj_idx, std::vector<int> instance_idxs);
|
||||||
|
|
|
@ -1780,7 +1780,7 @@ void GUI_App::update_mode()
|
||||||
for (auto tab : tabs_list)
|
for (auto tab : tabs_list)
|
||||||
tab->update_mode();
|
tab->update_mode();
|
||||||
|
|
||||||
plater()->update_object_menu();
|
plater()->update_menus();
|
||||||
plater()->canvas3D()->update_gizmos_on_off_state();
|
plater()->canvas3D()->update_gizmos_on_off_state();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -953,6 +953,12 @@ void MenuFactory::init(wxWindow* parent)
|
||||||
create_instance_menu();
|
create_instance_menu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MenuFactory::update()
|
||||||
|
{
|
||||||
|
update_default_menu();
|
||||||
|
update_object_menu();
|
||||||
|
}
|
||||||
|
|
||||||
wxMenu* MenuFactory::default_menu()
|
wxMenu* MenuFactory::default_menu()
|
||||||
{
|
{
|
||||||
return &m_default_menu;
|
return &m_default_menu;
|
||||||
|
@ -1077,6 +1083,14 @@ void MenuFactory::update_object_menu()
|
||||||
append_menu_items_add_volume(&m_object_menu);
|
append_menu_items_add_volume(&m_object_menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MenuFactory::update_default_menu()
|
||||||
|
{
|
||||||
|
const auto menu_item_id = m_default_menu.FindItem(_("Add Shape"));
|
||||||
|
if (menu_item_id != wxNOT_FOUND)
|
||||||
|
m_default_menu.Destroy(menu_item_id);
|
||||||
|
create_default_menu();
|
||||||
|
}
|
||||||
|
|
||||||
void MenuFactory::msw_rescale()
|
void MenuFactory::msw_rescale()
|
||||||
{
|
{
|
||||||
for (MenuWithSeparators* menu : { &m_object_menu, &m_sla_object_menu, &m_part_menu, &m_default_menu })
|
for (MenuWithSeparators* menu : { &m_object_menu, &m_sla_object_menu, &m_part_menu, &m_default_menu })
|
||||||
|
|
|
@ -40,7 +40,9 @@ public:
|
||||||
~MenuFactory() = default;
|
~MenuFactory() = default;
|
||||||
|
|
||||||
void init(wxWindow* parent);
|
void init(wxWindow* parent);
|
||||||
|
void update();
|
||||||
void update_object_menu();
|
void update_object_menu();
|
||||||
|
void update_default_menu();
|
||||||
void msw_rescale();
|
void msw_rescale();
|
||||||
void sys_color_changed();
|
void sys_color_changed();
|
||||||
|
|
||||||
|
|
|
@ -910,6 +910,7 @@ void Preview::load_print_as_fff(bool keep_z_range)
|
||||||
|
|
||||||
GCodeViewer::EViewType gcode_view_type = m_canvas->get_gcode_view_preview_type();
|
GCodeViewer::EViewType gcode_view_type = m_canvas->get_gcode_view_preview_type();
|
||||||
bool gcode_preview_data_valid = !m_gcode_result->moves.empty();
|
bool gcode_preview_data_valid = !m_gcode_result->moves.empty();
|
||||||
|
|
||||||
// Collect colors per extruder.
|
// Collect colors per extruder.
|
||||||
std::vector<std::string> colors;
|
std::vector<std::string> colors;
|
||||||
std::vector<CustomGCode::Item> color_print_values = {};
|
std::vector<CustomGCode::Item> color_print_values = {};
|
||||||
|
@ -934,9 +935,9 @@ void Preview::load_print_as_fff(bool keep_z_range)
|
||||||
color_print_values.clear();
|
color_print_values.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsShown()) {
|
std::vector<double> zs;
|
||||||
std::vector<double> zs;
|
|
||||||
|
|
||||||
|
if (IsShown()) {
|
||||||
m_canvas->set_selected_extruder(0);
|
m_canvas->set_selected_extruder(0);
|
||||||
if (gcode_preview_data_valid) {
|
if (gcode_preview_data_valid) {
|
||||||
// Load the real G-code preview.
|
// Load the real G-code preview.
|
||||||
|
@ -947,7 +948,12 @@ void Preview::load_print_as_fff(bool keep_z_range)
|
||||||
Refresh();
|
Refresh();
|
||||||
zs = m_canvas->get_gcode_layers_zs();
|
zs = m_canvas->get_gcode_layers_zs();
|
||||||
m_loaded = true;
|
m_loaded = true;
|
||||||
} else {
|
}
|
||||||
|
#if ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
||||||
|
else if (wxGetApp().is_editor()) {
|
||||||
|
#else
|
||||||
|
else {
|
||||||
|
#endif // ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
||||||
// Load the initial preview based on slices, not the final G-code.
|
// Load the initial preview based on slices, not the final G-code.
|
||||||
m_canvas->load_preview(colors, color_print_values);
|
m_canvas->load_preview(colors, color_print_values);
|
||||||
m_left_sizer->Hide(m_bottom_toolbar_panel);
|
m_left_sizer->Hide(m_bottom_toolbar_panel);
|
||||||
|
@ -955,6 +961,33 @@ void Preview::load_print_as_fff(bool keep_z_range)
|
||||||
Refresh();
|
Refresh();
|
||||||
zs = m_canvas->get_volumes_print_zs(true);
|
zs = m_canvas->get_volumes_print_zs(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
||||||
|
if (!zs.empty() && !m_keep_current_preview_type) {
|
||||||
|
unsigned int number_extruders = wxGetApp().is_editor() ?
|
||||||
|
(unsigned int)print->extruders().size() :
|
||||||
|
m_canvas->get_gcode_extruders_count();
|
||||||
|
std::vector<Item> gcodes = wxGetApp().is_editor() ?
|
||||||
|
wxGetApp().plater()->model().custom_gcode_per_print_z.gcodes :
|
||||||
|
m_canvas->get_custom_gcode_per_print_z();
|
||||||
|
const wxString choice = !gcodes.empty() ?
|
||||||
|
_L("Color Print") :
|
||||||
|
(number_extruders > 1) ? _L("Tool") : _L("Feature type");
|
||||||
|
|
||||||
|
int type = m_choice_view_type->FindString(choice);
|
||||||
|
if (m_choice_view_type->GetSelection() != type) {
|
||||||
|
if (0 <= type && type < static_cast<int>(GCodeViewer::EViewType::Count)) {
|
||||||
|
m_choice_view_type->SetSelection(type);
|
||||||
|
m_canvas->set_gcode_view_preview_type(static_cast<GCodeViewer::EViewType>(type));
|
||||||
|
if (wxGetApp().is_gcode_viewer()) {
|
||||||
|
m_keep_current_preview_type = true;
|
||||||
|
refresh_print();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
||||||
|
|
||||||
if (zs.empty()) {
|
if (zs.empty()) {
|
||||||
// all layers filtered out
|
// all layers filtered out
|
||||||
hide_layers_slider();
|
hide_layers_slider();
|
||||||
|
@ -963,9 +996,9 @@ void Preview::load_print_as_fff(bool keep_z_range)
|
||||||
update_layers_slider(zs, keep_z_range);
|
update_layers_slider(zs, keep_z_range);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int number_extruders = (unsigned int)print->extruders().size();
|
#if !ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
||||||
|
|
||||||
if (!m_keep_current_preview_type) {
|
if (!m_keep_current_preview_type) {
|
||||||
|
unsigned int number_extruders = (unsigned int)print->extruders().size();
|
||||||
const wxString choice = !wxGetApp().plater()->model().custom_gcode_per_print_z.gcodes.empty() ?
|
const wxString choice = !wxGetApp().plater()->model().custom_gcode_per_print_z.gcodes.empty() ?
|
||||||
_L("Color Print") :
|
_L("Color Print") :
|
||||||
(number_extruders > 1) ? _L("Tool") : _L("Feature type");
|
(number_extruders > 1) ? _L("Tool") : _L("Feature type");
|
||||||
|
@ -978,6 +1011,7 @@ void Preview::load_print_as_fff(bool keep_z_range)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif // !ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER
|
||||||
}
|
}
|
||||||
|
|
||||||
void Preview::load_print_as_sla()
|
void Preview::load_print_as_sla()
|
||||||
|
|
|
@ -1120,6 +1120,11 @@ void ImGuiWrapper::init_style()
|
||||||
set_color(ImGuiCol_TabActive, COL_ORANGE_LIGHT);
|
set_color(ImGuiCol_TabActive, COL_ORANGE_LIGHT);
|
||||||
set_color(ImGuiCol_TabUnfocused, COL_GREY_DARK);
|
set_color(ImGuiCol_TabUnfocused, COL_GREY_DARK);
|
||||||
set_color(ImGuiCol_TabUnfocusedActive, COL_GREY_LIGHT);
|
set_color(ImGuiCol_TabUnfocusedActive, COL_GREY_LIGHT);
|
||||||
|
|
||||||
|
// Scrollbars
|
||||||
|
set_color(ImGuiCol_ScrollbarGrab, COL_ORANGE_DARK);
|
||||||
|
set_color(ImGuiCol_ScrollbarGrabHovered, COL_ORANGE_LIGHT);
|
||||||
|
set_color(ImGuiCol_ScrollbarGrabActive, COL_ORANGE_LIGHT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImGuiWrapper::render_draw_data(ImDrawData *draw_data)
|
void ImGuiWrapper::render_draw_data(ImDrawData *draw_data)
|
||||||
|
|
|
@ -2653,8 +2653,10 @@ wxString Plater::priv::get_export_file(GUI::FileType file_type)
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string out_dir = (boost::filesystem::path(output_file).parent_path()).string();
|
||||||
|
|
||||||
wxFileDialog dlg(q, dlg_title,
|
wxFileDialog dlg(q, dlg_title,
|
||||||
from_path(output_file.parent_path()), from_path(output_file.filename()),
|
is_shapes_dir(out_dir) ? from_u8(wxGetApp().app_config->get_last_dir()) : from_path(output_file.parent_path()), from_path(output_file.filename()),
|
||||||
wildcard, wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
|
wildcard, wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
|
||||||
|
|
||||||
if (dlg.ShowModal() != wxID_OK)
|
if (dlg.ShowModal() != wxID_OK)
|
||||||
|
@ -3533,7 +3535,6 @@ void Plater::priv::fix_through_netfabb(const int obj_idx, const int vol_idx/* =
|
||||||
}
|
}
|
||||||
|
|
||||||
fix_model_by_win10_sdk_gui(*mo, vol_idx);
|
fix_model_by_win10_sdk_gui(*mo, vol_idx);
|
||||||
q->SetFocus();
|
|
||||||
sla::reproject_points_and_holes(mo);
|
sla::reproject_points_and_holes(mo);
|
||||||
this->update();
|
this->update();
|
||||||
this->object_list_changed();
|
this->object_list_changed();
|
||||||
|
@ -6267,7 +6268,7 @@ void Plater::mirror(Axis axis) { p->mirror(axis); }
|
||||||
void Plater::split_object() { p->split_object(); }
|
void Plater::split_object() { p->split_object(); }
|
||||||
void Plater::split_volume() { p->split_volume(); }
|
void Plater::split_volume() { p->split_volume(); }
|
||||||
void Plater::optimize_rotation() { p->m_ui_jobs.optimize_rotation();}
|
void Plater::optimize_rotation() { p->m_ui_jobs.optimize_rotation();}
|
||||||
void Plater::update_object_menu() { p->menus.update_object_menu(); }
|
void Plater::update_menus() { p->menus.update(); }
|
||||||
void Plater::show_action_buttons(const bool ready_to_slice) const { p->show_action_buttons(ready_to_slice); }
|
void Plater::show_action_buttons(const bool ready_to_slice) const { p->show_action_buttons(ready_to_slice); }
|
||||||
|
|
||||||
void Plater::copy_selection_to_clipboard()
|
void Plater::copy_selection_to_clipboard()
|
||||||
|
|
|
@ -269,7 +269,7 @@ public:
|
||||||
std::vector<std::string> get_extruder_colors_from_plater_config(const GCodeProcessor::Result* const result = nullptr) const;
|
std::vector<std::string> get_extruder_colors_from_plater_config(const GCodeProcessor::Result* const result = nullptr) const;
|
||||||
std::vector<std::string> get_colors_for_color_print(const GCodeProcessor::Result* const result = nullptr) const;
|
std::vector<std::string> get_colors_for_color_print(const GCodeProcessor::Result* const result = nullptr) const;
|
||||||
|
|
||||||
void update_object_menu();
|
void update_menus();
|
||||||
void show_action_buttons(const bool is_ready_to_slice) const;
|
void show_action_buttons(const bool is_ready_to_slice) const;
|
||||||
|
|
||||||
wxString get_project_filename(const wxString& extension = wxEmptyString) const;
|
wxString get_project_filename(const wxString& extension = wxEmptyString) const;
|
||||||
|
|
|
@ -1173,6 +1173,10 @@ void Tab::activate_option(const std::string& opt_key, const wxString& category)
|
||||||
if (!cur_item)
|
if (!cur_item)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// We should to activate a tab with searched option, if it doesn't.
|
||||||
|
// And do it before finding of the cur_item to avoid a case when Tab isn't activated jet and all treeItems are invisible
|
||||||
|
wxGetApp().mainframe->select_tab(this);
|
||||||
|
|
||||||
while (cur_item) {
|
while (cur_item) {
|
||||||
auto title = m_treectrl->GetItemText(cur_item);
|
auto title = m_treectrl->GetItemText(cur_item);
|
||||||
if (page_title != title) {
|
if (page_title != title) {
|
||||||
|
@ -1184,8 +1188,6 @@ void Tab::activate_option(const std::string& opt_key, const wxString& category)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// we should to activate a tab with searched option, if it doesn't.
|
|
||||||
wxGetApp().mainframe->select_tab(this);
|
|
||||||
Field* field = get_field(opt_key);
|
Field* field = get_field(opt_key);
|
||||||
|
|
||||||
// focused selected field
|
// focused selected field
|
||||||
|
|
|
@ -36,6 +36,8 @@
|
||||||
#include "../GUI/GUI.hpp"
|
#include "../GUI/GUI.hpp"
|
||||||
#include "../GUI/I18N.hpp"
|
#include "../GUI/I18N.hpp"
|
||||||
#include "../GUI/MsgDialog.hpp"
|
#include "../GUI/MsgDialog.hpp"
|
||||||
|
#include "../GUI/GUI_App.hpp"
|
||||||
|
#include "../GUI/Mainframe.hpp"
|
||||||
|
|
||||||
#include <wx/msgdlg.h>
|
#include <wx/msgdlg.h>
|
||||||
#include <wx/progdlg.h>
|
#include <wx/progdlg.h>
|
||||||
|
@ -341,7 +343,7 @@ void fix_model_by_win10_sdk_gui(ModelObject &model_object, int volume_idx)
|
||||||
wxProgressDialog progress_dialog(
|
wxProgressDialog progress_dialog(
|
||||||
_L("Model fixing"),
|
_L("Model fixing"),
|
||||||
_L("Exporting model") + "...",
|
_L("Exporting model") + "...",
|
||||||
100, nullptr, wxPD_AUTO_HIDE | wxPD_APP_MODAL | wxPD_CAN_ABORT);
|
100, GUI::wxGetApp().mainframe, wxPD_AUTO_HIDE | wxPD_APP_MODAL | wxPD_CAN_ABORT);
|
||||||
// Executing the calculation in a background thread, so that the COM context could be created with its own threading model.
|
// Executing the calculation in a background thread, so that the COM context could be created with its own threading model.
|
||||||
// (It seems like wxWidgets initialize the COM contex as single threaded and we need a multi-threaded context).
|
// (It seems like wxWidgets initialize the COM contex as single threaded and we need a multi-threaded context).
|
||||||
bool success = false;
|
bool success = false;
|
||||||
|
|
Loading…
Add table
Reference in a new issue