mirror of
https://git.mirrors.martin98.com/https://github.com/SoftFever/OrcaSlicer.git
synced 2025-08-12 17:59:03 +08:00
parent
43f4288fdc
commit
96c861f906
@ -1,4 +1,4 @@
|
|||||||
name: BambuStudio-SoftFever
|
name: Build Linux
|
||||||
|
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
@ -20,13 +20,19 @@ jobs:
|
|||||||
- name: Fix permissions
|
- name: Fix permissions
|
||||||
shell: bash
|
shell: bash
|
||||||
run: sudo chown $USER -R ./
|
run: sudo chown $USER -R ./
|
||||||
- name: Build Bambu Studio dependencies using BuildLinux.sh
|
- name: build deps
|
||||||
shell: bash
|
id: cache_deps
|
||||||
run: ./BuildLinux.sh -dsr
|
uses: actions/cache@v3
|
||||||
- name: Build Bambu Studio AppImage using BuildLinux.sh
|
env:
|
||||||
shell: bash
|
cache-name: ${{ runner.os }}-cache-bambustudio_deps_x64
|
||||||
run: ./BuildLinux.sh -ir
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
with:
|
with:
|
||||||
name: AppImage
|
path: ${{ github.workspace }}/deps/build/destdir
|
||||||
path: './build/BambuStudio_ubu64.AppImage'
|
key: build-${{ env.cache-name }}
|
||||||
|
|
||||||
|
- if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
|
||||||
|
name: build deps
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
continue-on-error: true
|
||||||
|
run: ./BuildLinux.sh -dsr
|
||||||
|
|
||||||
|
|
51
.github/workflows/build_mac_arm64.yml
vendored
Normal file
51
.github/workflows/build_mac_arm64.yml
vendored
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
name: Build Mac arm64
|
||||||
|
|
||||||
|
on: [pull_request, push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_win64:
|
||||||
|
name: Build Mac arm64
|
||||||
|
runs-on: macos-12
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install tools
|
||||||
|
run: |
|
||||||
|
brew install cmake git gettext zstd
|
||||||
|
- run: mkdir -p ${{ github.workspace }}/deps/build
|
||||||
|
# - run: mkdir -p ${{ github.workspace }}/deps/build/BambuStudio_dep
|
||||||
|
|
||||||
|
# - name: build deps
|
||||||
|
# id: cache_deps
|
||||||
|
# uses: actions/cache@v3
|
||||||
|
# env:
|
||||||
|
# cache-name: ${{ runner.os }}-cache-bambustudio_deps_arm64
|
||||||
|
# with:
|
||||||
|
# path: ${{ github.workspace }}/deps/build/BambuStudio_dep
|
||||||
|
# key: build-${{ env.cache-name }}
|
||||||
|
|
||||||
|
# - if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
|
||||||
|
# name: build deps
|
||||||
|
# working-directory: ${{ github.workspace }}
|
||||||
|
# continue-on-error: true
|
||||||
|
# run: ./build_release_macos.sh -d -a arm64
|
||||||
|
- name: Download and extract deps
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
curl -LJO https://github.com/SoftFever/FileSharing/releases/download/2/BambuStudio_dep_arm64.tar.gz
|
||||||
|
tar -zxvf BambuStudio_dep_arm64.tar.gz -C ${{ github.workspace }}/deps/build
|
||||||
|
chown -R $(id -u):$(id -g) ${{ github.workspace }}/deps/build/BambuStudio_dep
|
||||||
|
ls -l ${{ github.workspace }}/deps/build/BambuStudio_dep
|
||||||
|
rm BambuStudio_dep_arm64.tar.gz
|
||||||
|
|
||||||
|
|
||||||
|
- name: Build studio
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: ./build_release_macos.sh -s -n -a arm64
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: BambuStudio-SoftFever_Mac
|
||||||
|
path: ${{ github.workspace }}/build/BambuStudio-SoftFever/BambuStudio-SoftFever*.zip
|
42
.github/workflows/build_mac_x64.yml
vendored
Normal file
42
.github/workflows/build_mac_x64.yml
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
name: Build Mac x64
|
||||||
|
|
||||||
|
on: [pull_request, push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_win64:
|
||||||
|
name: Build Mac x64
|
||||||
|
runs-on: macos-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install tools
|
||||||
|
run: |
|
||||||
|
brew install cmake git gettext zstd
|
||||||
|
- run: mkdir -p ${{ github.workspace }}/deps/build
|
||||||
|
- run: mkdir -p ${{ github.workspace }}/deps/build/BambuStudio_dep
|
||||||
|
|
||||||
|
- name: build deps
|
||||||
|
id: cache_deps
|
||||||
|
uses: actions/cache@v3
|
||||||
|
env:
|
||||||
|
cache-name: ${{ runner.os }}-cache-bambustudio_deps_x64
|
||||||
|
with:
|
||||||
|
path: ${{ github.workspace }}/deps/build/BambuStudio_dep
|
||||||
|
key: build-${{ env.cache-name }}
|
||||||
|
|
||||||
|
- if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
|
||||||
|
name: build deps
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
continue-on-error: true
|
||||||
|
run: ./build_release_macos.sh -d -a x86_64
|
||||||
|
|
||||||
|
- name: Build studio
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: ./build_release_macos.sh -s -n -a x86_64
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: BambuStudio-SoftFever_Mac
|
||||||
|
path: ${{ github.workspace }}/build/BambuStudio-SoftFever/BambuStudio-SoftFever*.zip
|
58
.github/workflows/build_win.yml
vendored
Normal file
58
.github/workflows/build_win.yml
vendored
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
name: Build Win64
|
||||||
|
|
||||||
|
on: [pull_request,push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_win64:
|
||||||
|
name: Build Win64
|
||||||
|
runs-on: windows-2019
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: ilammy/msvc-dev-cmd@v1
|
||||||
|
# - name: Install perl
|
||||||
|
# run: |
|
||||||
|
# choco install strawberryperl
|
||||||
|
- run: mkdir ${{ github.workspace }}/deps/build
|
||||||
|
- run: mkdir ${{ github.workspace }}/deps/build/BambuStudio_dep
|
||||||
|
- name: download deps
|
||||||
|
shell: powershell
|
||||||
|
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/SoftFever/FileSharing/releases/download/2/BambuStudio_dep.zip", "$env:temp\BambuStudio_dep.zip")'
|
||||||
|
- name: extract deps
|
||||||
|
working-directory: ${{ github.workspace }}/deps/build
|
||||||
|
shell: cmd
|
||||||
|
run: '"C:/Program Files/7-Zip/7z.exe" x %temp%\BambuStudio_dep.zip'
|
||||||
|
|
||||||
|
- run: dir "${{ github.workspace }}\deps\build\BambuStudio_dep"
|
||||||
|
|
||||||
|
# - name: build deps
|
||||||
|
# id: cache_deps
|
||||||
|
# uses: actions/cache@v3
|
||||||
|
# env:
|
||||||
|
# cache-name: ${{ runner.os }}-cache-bambustudio_deps
|
||||||
|
# with:
|
||||||
|
# path: ${{ github.workspace }}/deps/build/BambuStudio_dep
|
||||||
|
# key: ${{ runner.os }}-build-${{ env.cache-name }}
|
||||||
|
|
||||||
|
# - if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
|
||||||
|
# name: build deps
|
||||||
|
# working-directory: ${{ github.workspace }}
|
||||||
|
# continue-on-error: true
|
||||||
|
# run: .\build_release.bat deps
|
||||||
|
|
||||||
|
# - run: Get-ChildItem ${{ github.workspace }}/deps/build/ -Exclude BambuStudio_dep | Remove-Item -Recurse -Force
|
||||||
|
|
||||||
|
- name: Build studio
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: .\build_release.bat studio
|
||||||
|
|
||||||
|
- name: pack app
|
||||||
|
working-directory: ${{ github.workspace }}/build
|
||||||
|
shell: cmd
|
||||||
|
run: '"C:/Program Files/7-Zip/7z.exe" a -tzip BambuStudio-SoftFever_dev_build.zip ${{ github.workspace }}/build/BambuStudio-SoftFever'
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: BambuStudio-SoftFever_Win64
|
||||||
|
path: ${{ github.workspace }}/build/BambuStudio-SoftFever_dev_build.zip
|
@ -3,12 +3,21 @@ cd deps
|
|||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
set DEPS=%CD%/BambuStudio_dep
|
set DEPS=%CD%/BambuStudio_dep
|
||||||
@REM cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="%CD%/BambuStudio_dep" -DCMAKE_BUILD_TYPE=Release
|
if "%1"=="studio" (
|
||||||
@REM cmake --build . --config Release --target ALL_BUILD -- -m
|
GOTO :studio
|
||||||
|
)
|
||||||
|
echo "building deps.."
|
||||||
|
cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="%CD%/BambuStudio_dep" -DCMAKE_BUILD_TYPE=Release
|
||||||
|
cmake --build . --config Release --target ALL_BUILD -- -m
|
||||||
|
|
||||||
|
if "%1"=="deps" exit /b 0
|
||||||
|
|
||||||
|
:studio
|
||||||
|
echo "building studio..."
|
||||||
cd %WP%
|
cd %WP%
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
cmake .. -G "Visual Studio 16 2019" -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./BambuStudio-SoftFever" -DCMAKE_BUILD_TYPE=Release -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"
|
cmake .. -G "Visual Studio 16 2019" -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./BambuStudio-SoftFever" -DCMAKE_BUILD_TYPE=Release -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"
|
||||||
@REM cmake --build . --config Release --target ALL_BUILD -- -m
|
cmake --build . --config Release --target ALL_BUILD -- -m
|
||||||
@REM cmake --build . --target install --config Release
|
cmake --build . --target install --config Release
|
@ -1,17 +1,66 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
while getopts ":a:sdhn" opt; do
|
||||||
|
case ${opt} in
|
||||||
|
d )
|
||||||
|
export BUILD_TARGET="deps"
|
||||||
|
;;
|
||||||
|
a )
|
||||||
|
export ARCH="$OPTARG"
|
||||||
|
;;
|
||||||
|
s )
|
||||||
|
export BUILD_TARGET="studio"
|
||||||
|
;;
|
||||||
|
n )
|
||||||
|
export NIGHTLY_BUILD="1"
|
||||||
|
;;
|
||||||
|
h ) echo "Usage: ./build_release_macos.sh [-d]"
|
||||||
|
echo " -d: Build deps only"
|
||||||
|
echo " -a: Set ARCHITECTURE (arm64 or x86_64)"
|
||||||
|
echo " -s: Build studio only"
|
||||||
|
echo " -n: Nightly build"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$ARCH" ]
|
||||||
|
then
|
||||||
|
export ARCH=$(uname -m)
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Arch: $ARCH"
|
||||||
|
echo "BUILD_TARGET: $BUILD_TARGET"
|
||||||
|
|
||||||
|
brew --prefix libiconv
|
||||||
|
brew --prefix zstd
|
||||||
|
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/
|
||||||
|
|
||||||
WD="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
WD="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
cd $WD/deps
|
cd $WD/deps
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
cd build
|
cd build
|
||||||
DEPS=$PWD/BambuStudio_dep
|
DEPS=$PWD/BambuStudio_dep
|
||||||
mkdir -p $DEPS
|
mkdir -p $DEPS
|
||||||
cmake ../ -DDESTDIR="$DEPS" -DOPENSSL_ARCH="darwin64-$(uname -m)-cc" -DCMAKE_BUILD_TYPE=Release
|
if [ "studio." != $BUILD_TARGET. ];
|
||||||
cmake --build . --config Release --target all
|
then
|
||||||
|
echo "building deps..."
|
||||||
|
echo "cmake ../ -DDESTDIR=$DEPS -DOPENSSL_ARCH=darwin64-${ARCH}-cc -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES:STRING=${ARCH}"
|
||||||
|
cmake ../ -DDESTDIR="$DEPS" -DOPENSSL_ARCH="darwin64-${ARCH}-cc" -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES:STRING=${ARCH}
|
||||||
|
cmake --build . --config Release --target all
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ "deps." == "$BUILD_TARGET". ];
|
||||||
|
then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
cd $WD
|
cd $WD
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="$DEPS/usr/local" -DCMAKE_INSTALL_PREFIX="$PWD/BambuStudio-SoftFever" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="$DEPS/usr/local" -DCMAKE_MACOSX_BUNDLE=ON
|
echo "building studio..."
|
||||||
|
cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="$DEPS/usr/local" -DCMAKE_INSTALL_PREFIX="$PWD/BambuStudio-SoftFever" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="$DEPS/usr/local" -DCMAKE_MACOSX_BUNDLE=ON -DCMAKE_OSX_ARCHITECTURES=${ARCH}
|
||||||
cmake --build . --config Release --target ALL_BUILD
|
cmake --build . --config Release --target ALL_BUILD
|
||||||
mkdir -p BambuStudio-SoftFever
|
mkdir -p BambuStudio-SoftFever
|
||||||
cd BambuStudio-SoftFever
|
cd BambuStudio-SoftFever
|
||||||
@ -21,7 +70,14 @@ resources_path=$(readlink ./BambuStudio-SoftFever.app/Contents/Resources)
|
|||||||
rm ./BambuStudio-SoftFever.app/Contents/Resources
|
rm ./BambuStudio-SoftFever.app/Contents/Resources
|
||||||
cp -R $resources_path ./BambuStudio-SoftFever.app/Contents/Resources
|
cp -R $resources_path ./BambuStudio-SoftFever.app/Contents/Resources
|
||||||
# extract version
|
# extract version
|
||||||
ver=$(grep '^#define SoftFever_VERSION' ../src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
|
export ver="_dev"
|
||||||
ver="${ver//\"}"
|
echo $PWD
|
||||||
zip -FSr BambuStudio-SoftFever_V${ver}_Mac_$(uname -m).zip BambuStudio-SoftFever.app
|
if [ "1." != "$NIGHTLY_BUILD". ];
|
||||||
|
then
|
||||||
|
ver=$(grep '^#define SoftFever_VERSION' ../src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
|
||||||
|
ver="_V${ver//\"}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
zip -FSr BambuStudio-SoftFever${ver}_Mac_${ARCH}.zip BambuStudio-SoftFever.app
|
||||||
|
|
||||||
|
54
deps/Blosc/Blosc.cmake
vendored
54
deps/Blosc/Blosc.cmake
vendored
@ -6,23 +6,43 @@ else()
|
|||||||
set(_build_static ON)
|
set(_build_static ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
bambustudio_add_cmake_project(Blosc
|
if(IS_CROSS_COMPILE AND APPLE)
|
||||||
#URL https://github.com/Blosc/c-blosc/archive/refs/tags/v1.17.0.zip
|
bambustudio_add_cmake_project(Blosc
|
||||||
#URL_HASH SHA256=7463a1df566704f212263312717ab2c36b45d45cba6cd0dccebf91b2cc4b4da9
|
#URL https://github.com/Blosc/c-blosc/archive/refs/tags/v1.17.0.zip
|
||||||
URL https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip
|
#URL_HASH SHA256=7463a1df566704f212263312717ab2c36b45d45cba6cd0dccebf91b2cc4b4da9
|
||||||
URL_HASH SHA256=dcb48bf43a672fa3de6a4b1de2c4c238709dad5893d1e097b8374ad84b1fc3b3
|
URL https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip
|
||||||
DEPENDS ${ZLIB_PKG}
|
URL_HASH SHA256=dcb48bf43a672fa3de6a4b1de2c4c238709dad5893d1e097b8374ad84b1fc3b3
|
||||||
# Patching upstream does not work this way with git version 2.28 installed on mac worker
|
DEPENDS ${ZLIB_PKG}
|
||||||
# PATCH_COMMAND ${GIT_EXECUTABLE} apply --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/blosc-mods.patch
|
# Patching upstream does not work this way with git version 2.28 installed on mac worker
|
||||||
CMAKE_ARGS
|
# PATCH_COMMAND ${GIT_EXECUTABLE} apply --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/blosc-mods.patch
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
CMAKE_ARGS
|
||||||
-DBUILD_SHARED=${_build_shared}
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
-DBUILD_STATIC=${_build_static}
|
-DBUILD_SHARED=${_build_shared}
|
||||||
-DBUILD_TESTS=OFF
|
-DBUILD_STATIC=${_build_static}
|
||||||
-DBUILD_BENCHMARKS=OFF
|
-DBUILD_TESTS=OFF
|
||||||
-DPREFER_EXTERNAL_ZLIB=ON
|
-DBUILD_BENCHMARKS=OFF
|
||||||
)
|
-DPREFER_EXTERNAL_ZLIB=ON
|
||||||
|
-DDEACTIVATE_SSE2=ON
|
||||||
|
-DDEACTIVATE_AVX2=ON
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
bambustudio_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
|
||||||
|
)
|
||||||
|
endif()
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_debug_dep(dep_Blosc)
|
add_debug_dep(dep_Blosc)
|
||||||
endif ()
|
endif ()
|
70
deps/Boost/Boost.cmake
vendored
70
deps/Boost/Boost.cmake
vendored
@ -28,9 +28,6 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
|||||||
elseif (MSVC_VERSION LESS 1930)
|
elseif (MSVC_VERSION LESS 1930)
|
||||||
# 1920-1929 = VS 16.0 (v142 toolset)
|
# 1920-1929 = VS 16.0 (v142 toolset)
|
||||||
set(_boost_toolset "msvc-14.2")
|
set(_boost_toolset "msvc-14.2")
|
||||||
elseif (MSVC_VERSION LESS 1940)
|
|
||||||
# 1930-1939 = VS 17.0 (v143 toolset)
|
|
||||||
set(_boost_toolset "msvc-14.3")
|
|
||||||
else ()
|
else ()
|
||||||
message(FATAL_ERROR "Unsupported MSVC version")
|
message(FATAL_ERROR "Unsupported MSVC version")
|
||||||
endif ()
|
endif ()
|
||||||
@ -70,16 +67,6 @@ include(ProcessorCount)
|
|||||||
ProcessorCount(NPROC)
|
ProcessorCount(NPROC)
|
||||||
file(TO_NATIVE_PATH ${DESTDIR}/usr/local/ _prefix)
|
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 "")
|
set(_boost_variants "")
|
||||||
if(CMAKE_BUILD_TYPE)
|
if(CMAKE_BUILD_TYPE)
|
||||||
@ -103,8 +90,38 @@ if (NOT _boost_variants)
|
|||||||
set(_boost_variants release)
|
set(_boost_variants release)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (IS_CROSS_COMPILE AND APPLE)
|
||||||
|
if (${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
||||||
|
message(STATUS "Compiling Boost for arm64.")
|
||||||
|
message(STATUS "Compiling Boost with toolset ${_boost_toolset}.")
|
||||||
|
message(STATUS "Compiling Boost with libs ${_libs}.")
|
||||||
|
message(STATUS "Compiling Boost with variant ${_boost_variants}.")
|
||||||
|
message(STATUS "Compiling Boost with _bootstrap_cmd ${_bootstrap_cmd}.")
|
||||||
|
message(STATUS "_boost_linkflags = ${_boost_linkflags}")
|
||||||
|
set(_arch_flags "-arch arm64")
|
||||||
|
set(_boost_linkflags "linkflags=${_arch_flags}")
|
||||||
|
message(STATUS "_cmake_args_osx_arch = '${_cmake_args_osx_arch}'")
|
||||||
|
elseif (${CMAKE_OSX_ARCHITECTURES} MATCHES "x86_64")
|
||||||
|
message(STATUS "Compiling Boost for x86_64.")
|
||||||
|
set(_arch_flags "-arch x86_64")
|
||||||
|
endif()
|
||||||
|
set(_boost_linkflags "linkflags=${_arch_flags}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(_boost_flags "")
|
||||||
|
if(APPLE)
|
||||||
|
set(_boost_flags
|
||||||
|
"cflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||||
|
"cxxflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||||
|
"mflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||||
|
"mmflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||||
|
elseif (UNIX)
|
||||||
|
set(_boost_flags "cflags=-fPIC;cxxflags=-fPIC")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(_build_cmd ${_build_cmd}
|
set(_build_cmd ${_build_cmd}
|
||||||
${_boost_flags}
|
${_boost_flags}
|
||||||
|
${_boost_linkflags}
|
||||||
-j${NPROC}
|
-j${NPROC}
|
||||||
${_libs}
|
${_libs}
|
||||||
--layout=versioned
|
--layout=versioned
|
||||||
@ -120,9 +137,14 @@ set(_build_cmd ${_build_cmd}
|
|||||||
|
|
||||||
set(_install_cmd ${_build_cmd} --prefix=${_prefix} install)
|
set(_install_cmd ${_build_cmd} --prefix=${_prefix} install)
|
||||||
|
|
||||||
|
if (NOT IS_CROSS_COMPILE OR NOT APPLE OR BUILD_SHARED_LIBS)
|
||||||
|
message(STATUS "Standard boost build with bootstrap command '${_bootstrap_cmd}'")
|
||||||
|
message(STATUS "Standard boost build with patch command '${_patch_command}'")
|
||||||
|
message(STATUS "Standard boost build with build command '${_build_cmd}'")
|
||||||
|
message(STATUS "Standard boost build with install command '${_install_cmd}'")
|
||||||
ExternalProject_Add(
|
ExternalProject_Add(
|
||||||
dep_Boost
|
dep_Boost
|
||||||
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
|
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
|
||||||
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
|
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
|
||||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
|
||||||
CONFIGURE_COMMAND "${_bootstrap_cmd}"
|
CONFIGURE_COMMAND "${_bootstrap_cmd}"
|
||||||
@ -132,7 +154,26 @@ ExternalProject_Add(
|
|||||||
INSTALL_COMMAND "${_install_cmd}"
|
INSTALL_COMMAND "${_install_cmd}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
else()
|
||||||
|
|
||||||
|
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.sh
|
||||||
|
--with-toolset=clang
|
||||||
|
--with-libraries=date_time,filesystem,iostreams,locale,log,regex,system,thread
|
||||||
|
"--prefix=${DESTDIR}/usr/local"
|
||||||
|
# PATCH_COMMAND ${_patch_command}
|
||||||
|
BUILD_COMMAND "${_build_cmd}"
|
||||||
|
BUILD_IN_SOURCE ON
|
||||||
|
INSTALL_COMMAND "${_install_cmd}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||||
|
message(STATUS "Patch the boost::polygon library with a custom one.")
|
||||||
# Patch the boost::polygon library with a custom one.
|
# Patch the boost::polygon library with a custom one.
|
||||||
ExternalProject_Add(dep_boost_polygon
|
ExternalProject_Add(dep_boost_polygon
|
||||||
EXCLUDE_FROM_ALL ON
|
EXCLUDE_FROM_ALL ON
|
||||||
@ -144,6 +185,7 @@ if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
|||||||
DEPENDS dep_Boost
|
DEPENDS dep_Boost
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
BUILD_COMMAND ""
|
BUILD_COMMAND ""
|
||||||
|
${_cmake_args_osx_arch}
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
|
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/dep_boost_polygon-prefix/src/dep_boost_polygon/include/boost/polygon"
|
"${CMAKE_CURRENT_BINARY_DIR}/dep_boost_polygon-prefix/src/dep_boost_polygon/include/boost/polygon"
|
||||||
"${DESTDIR}/usr/local/include/boost/polygon"
|
"${DESTDIR}/usr/local/include/boost/polygon"
|
||||||
|
41
deps/CMakeLists.txt
vendored
41
deps/CMakeLists.txt
vendored
@ -40,6 +40,25 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|||||||
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
|
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(IS_CROSS_COMPILE FALSE)
|
||||||
|
|
||||||
|
if (APPLE)
|
||||||
|
set(CMAKE_FIND_FRAMEWORK LAST)
|
||||||
|
set(CMAKE_FIND_APPBUNDLE LAST)
|
||||||
|
list(FIND CMAKE_OSX_ARCHITECTURES ${CMAKE_SYSTEM_PROCESSOR} _arch_idx)
|
||||||
|
message(STATUS "prusaslicer_add_cmake_project for Apple")
|
||||||
|
if (CMAKE_OSX_ARCHITECTURES AND _arch_idx LESS 0)
|
||||||
|
message(STATUS "prusaslicer_add_cmake_project for Apple crosscompiling")
|
||||||
|
set(IS_CROSS_COMPILE TRUE)
|
||||||
|
set(CMAKE_CXX_COMPILER_ID "Clang")
|
||||||
|
string(REPLACE ";" "$<SEMICOLON>" CMAKE_OSX_ARCHS "${CMAKE_OSX_ARCHITECTURES}")
|
||||||
|
set(_cmake_osx_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
|
||||||
|
set(_cmake_args_osx_arch CMAKE_ARGS -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
|
||||||
|
message(STATUS "Detect Cross-compilation. Will build for target ${CMAKE_OSX_ARCHS}" )
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
# On developer machines, it can be enabled to speed up compilation and suppress warnings coming from IGL.
|
# On developer machines, it can be enabled to speed up compilation and suppress warnings coming from IGL.
|
||||||
# FIXME:
|
# FIXME:
|
||||||
# Enabling this option is not safe. IGL will compile itself with its own version of Eigen while
|
# Enabling this option is not safe. IGL will compile itself with its own version of Eigen while
|
||||||
@ -77,6 +96,7 @@ function(bambustudio_add_cmake_project projectname)
|
|||||||
set(_build_j "/m")
|
set(_build_j "/m")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
if (NOT IS_CROSS_COMPILE OR NOT APPLE)
|
||||||
ExternalProject_Add(
|
ExternalProject_Add(
|
||||||
dep_${projectname}
|
dep_${projectname}
|
||||||
EXCLUDE_FROM_ALL ON
|
EXCLUDE_FROM_ALL ON
|
||||||
@ -92,6 +112,7 @@ function(bambustudio_add_cmake_project projectname)
|
|||||||
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
||||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||||
|
${_cmake_osx_arch}
|
||||||
"${_configs_line}"
|
"${_configs_line}"
|
||||||
${DEP_CMAKE_OPTS}
|
${DEP_CMAKE_OPTS}
|
||||||
${P_ARGS_CMAKE_ARGS}
|
${P_ARGS_CMAKE_ARGS}
|
||||||
@ -99,6 +120,26 @@ function(bambustudio_add_cmake_project projectname)
|
|||||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
|
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
|
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
|
||||||
)
|
)
|
||||||
|
else()
|
||||||
|
ExternalProject_Add(
|
||||||
|
dep_${projectname}
|
||||||
|
EXCLUDE_FROM_ALL ON
|
||||||
|
INSTALL_DIR ${DESTDIR}/usr/local
|
||||||
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname}
|
||||||
|
${_gen}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
||||||
|
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||||
|
${_cmake_osx_arch}
|
||||||
|
"${_configs_line}"
|
||||||
|
${DEP_CMAKE_OPTS}
|
||||||
|
${P_ARGS_CMAKE_ARGS}
|
||||||
|
${P_ARGS_UNPARSED_ARGUMENTS}
|
||||||
|
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
|
||||||
|
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
|
||||||
|
)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
endfunction(bambustudio_add_cmake_project)
|
endfunction(bambustudio_add_cmake_project)
|
||||||
|
|
||||||
|
22
deps/GMP/GMP.cmake
vendored
22
deps/GMP/GMP.cmake
vendored
@ -22,10 +22,24 @@ else ()
|
|||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||||
set(_gmp_build_tgt aarch64)
|
set(_gmp_build_arch aarch64)
|
||||||
|
else ()
|
||||||
|
set(_gmp_build_arch ${CMAKE_SYSTEM_PROCESSOR})
|
||||||
|
endif()
|
||||||
|
if (IS_CROSS_COMPILE)
|
||||||
|
if (${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
||||||
|
set(_gmp_host_arch aarch64)
|
||||||
|
set(_gmp_host_arch_flags "-arch arm64")
|
||||||
|
elseif (${CMAKE_OSX_ARCHITECTURES} MATCHES "x86_64")
|
||||||
|
set(_gmp_host_arch x86_64)
|
||||||
|
set(_gmp_host_arch_flags "-arch x86_64")
|
||||||
|
endif()
|
||||||
|
set(_gmp_ccflags "${_gmp_ccflags} ${_gmp_host_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||||
|
set(_gmp_build_tgt --build=${_gmp_build_arch}-apple-darwin --host=${_gmp_host_arch}-apple-darwin)
|
||||||
|
else ()
|
||||||
|
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||||
|
set(_gmp_build_tgt "--build=${_gmp_build_arch}-apple-darwin")
|
||||||
endif()
|
endif()
|
||||||
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
|
||||||
set(_gmp_build_tgt "--build=${_gmp_build_tgt}-apple-darwin")
|
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||||
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
|
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
|
||||||
@ -51,4 +65,4 @@ else ()
|
|||||||
BUILD_COMMAND make -j
|
BUILD_COMMAND make -j
|
||||||
INSTALL_COMMAND make install
|
INSTALL_COMMAND make install
|
||||||
)
|
)
|
||||||
endif ()
|
endif ()
|
32
deps/OpenEXR/OpenEXR.cmake
vendored
32
deps/OpenEXR/OpenEXR.cmake
vendored
@ -1,3 +1,34 @@
|
|||||||
|
# Check if we're building for arm on x86_64 and just for OpenEXR, build fat
|
||||||
|
# binaries. We need this because it compiles some code to generate other
|
||||||
|
# source and we need to be able to run the executables. When we link the
|
||||||
|
# library, the x86_64 part will be ignored.
|
||||||
|
if (APPLE AND IS_CROSS_COMPILE)
|
||||||
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND ${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
||||||
|
set(_openexr_arch arm64^^x86_64)
|
||||||
|
set(_openxr_list_sep LIST_SEPARATOR ^^)
|
||||||
|
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
|
||||||
|
else()
|
||||||
|
set(_openexr_arch ${CMAKE_OSX_ARCHITECTURES})
|
||||||
|
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
|
||||||
|
endif()
|
||||||
|
ExternalProject_Add(dep_OpenEXR
|
||||||
|
EXCLUDE_FROM_ALL ON
|
||||||
|
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
|
||||||
|
URL_HASH SHA256=0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de
|
||||||
|
INSTALL_DIR ${DESTDIR}/usr/local
|
||||||
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenEXR
|
||||||
|
${_openxr_list_sep}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
||||||
|
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DBUILD_TESTING=OFF
|
||||||
|
-DPYILMBASE_ENABLE:BOOL=OFF
|
||||||
|
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
||||||
|
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
||||||
|
${_cmake_openexr_arch}
|
||||||
|
)
|
||||||
|
else()
|
||||||
bambustudio_add_cmake_project(OpenEXR
|
bambustudio_add_cmake_project(OpenEXR
|
||||||
# GIT_REPOSITORY https://github.com/openexr/openexr.git
|
# GIT_REPOSITORY https://github.com/openexr/openexr.git
|
||||||
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
|
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
|
||||||
@ -11,6 +42,7 @@ bambustudio_add_cmake_project(OpenEXR
|
|||||||
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
||||||
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_debug_dep(dep_OpenEXR)
|
add_debug_dep(dep_OpenEXR)
|
||||||
|
53
deps/PNG/PNG.cmake
vendored
53
deps/PNG/PNG.cmake
vendored
@ -5,26 +5,43 @@ else ()
|
|||||||
set(_disable_neon_extension "")
|
set(_disable_neon_extension "")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
if(APPLE AND IS_CROSS_COMPILE)
|
||||||
|
# TODO: check if it doesn't create problem when compiling from arm to x86_64
|
||||||
|
bambustudio_add_cmake_project(PNG
|
||||||
|
GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||||
|
GIT_TAG v1.6.35
|
||||||
|
DEPENDS ${ZLIB_PKG}
|
||||||
|
PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
|
||||||
|
${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/macos-arm64.patch
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DPNG_SHARED=OFF
|
||||||
|
-DPNG_STATIC=ON
|
||||||
|
-DPNG_PREFIX=prusaslicer_
|
||||||
|
-DPNG_TESTS=OFF
|
||||||
|
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||||
|
${_disable_neon_extension}
|
||||||
|
)
|
||||||
|
else ()
|
||||||
set(_patch_step "")
|
set(_patch_step "")
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
|
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
|
||||||
endif ()
|
endif ()
|
||||||
|
bambustudio_add_cmake_project(PNG
|
||||||
bambustudio_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 https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
|
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
|
||||||
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
|
DEPENDS ${ZLIB_PKG}
|
||||||
DEPENDS ${ZLIB_PKG}
|
"${_patch_step}"
|
||||||
"${_patch_step}"
|
CMAKE_ARGS
|
||||||
CMAKE_ARGS
|
-DPNG_SHARED=OFF
|
||||||
-DPNG_SHARED=OFF
|
-DPNG_STATIC=ON
|
||||||
-DPNG_STATIC=ON
|
-DPNG_PREFIX=prusaslicer_
|
||||||
-DPNG_PREFIX=prusaslicer_
|
-DPNG_TESTS=OFF
|
||||||
-DPNG_TESTS=OFF
|
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
${_disable_neon_extension}
|
||||||
${_disable_neon_extension}
|
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_debug_dep(dep_PNG)
|
add_debug_dep(dep_PNG)
|
||||||
|
90
deps/PNG/macos-arm64.patch
vendored
Normal file
90
deps/PNG/macos-arm64.patch
vendored
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
Based on https://github.com/vespakoen/libpng to work around until
|
||||||
|
https://github.com/glennrp/libpng/pull/354 is resolved.
|
||||||
|
also added patch from PS2.4 (PNG.pach) in pngrutil.c
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 28 ++++++++++++++++++++--------
|
||||||
|
pngrutil.c | 7 -------
|
||||||
|
2 files changed, 20 insertions(+), 15 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 4db9bb87d..9099d1edf 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -82,10 +82,22 @@ option(PNG_HARDWARE_OPTIMIZATIONS "Enable Hardware Optimizations" ON)
|
||||||
|
set(PNG_PREFIX "" CACHE STRING "Prefix to add to the API function names")
|
||||||
|
set(DFA_XTRA "" CACHE FILEPATH "File containing extra configuration settings")
|
||||||
|
|
||||||
|
+# CMake currently sets CMAKE_SYSTEM_PROCESSOR to one of x86_64 or arm64 on macOS,
|
||||||
|
+# based upon the OS architecture, not the target architecture. As such, we need
|
||||||
|
+# to check CMAKE_OSX_ARCHITECTURES to identify which hardware-specific flags to
|
||||||
|
+# enable. Note that this will fail if you attempt to build a universal binary in
|
||||||
|
+# a single cmake invokation.
|
||||||
|
+if (APPLE AND CMAKE_OSX_ARCHITECTURES)
|
||||||
|
+ set(TARGET_ARCH ${CMAKE_OSX_ARCHITECTURES})
|
||||||
|
+else()
|
||||||
|
+ set(TARGET_ARCH ${CMAKE_SYSTEM_PROCESSOR})
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
+
|
||||||
|
if(PNG_HARDWARE_OPTIMIZATIONS)
|
||||||
|
# set definitions and sources for arm
|
||||||
|
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
|
||||||
|
- CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64")
|
||||||
|
+if(TARGET_ARCH MATCHES "^arm" OR
|
||||||
|
+ TARGET_ARCH MATCHES "^aarch64")
|
||||||
|
set(PNG_ARM_NEON_POSSIBLE_VALUES check on off)
|
||||||
|
set(PNG_ARM_NEON "check" CACHE STRING "Enable ARM NEON optimizations:
|
||||||
|
check: (default) use internal checking code;
|
||||||
|
@@ -114,8 +126,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# set definitions and sources for powerpc
|
||||||
|
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
|
||||||
|
- CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64*" )
|
||||||
|
+if(TARGET_ARCH MATCHES "^powerpc*" OR
|
||||||
|
+ TARGET_ARCH MATCHES "^ppc64*" )
|
||||||
|
set(PNG_POWERPC_VSX_POSSIBLE_VALUES on off)
|
||||||
|
set(PNG_POWERPC_VSX "on" CACHE STRING "Enable POWERPC VSX optimizations:
|
||||||
|
off: disable the optimizations.")
|
||||||
|
@@ -138,8 +150,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# set definitions and sources for intel
|
||||||
|
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
|
||||||
|
- CMAKE_SYSTEM_PROCESSOR MATCHES "^x86_64*" )
|
||||||
|
+if(TARGET_ARCH MATCHES "^i?86" OR
|
||||||
|
+ TARGET_ARCH MATCHES "^x86_64*" )
|
||||||
|
set(PNG_INTEL_SSE_POSSIBLE_VALUES on off)
|
||||||
|
set(PNG_INTEL_SSE "on" CACHE STRING "Enable INTEL_SSE optimizations:
|
||||||
|
off: disable the optimizations")
|
||||||
|
@@ -162,8 +174,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# set definitions and sources for MIPS
|
||||||
|
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "mipsel*" OR
|
||||||
|
- CMAKE_SYSTEM_PROCESSOR MATCHES "mips64el*" )
|
||||||
|
+if(TARGET_ARCH MATCHES "mipsel*" OR
|
||||||
|
+ TARGET_ARCH MATCHES "mips64el*" )
|
||||||
|
set(PNG_MIPS_MSA_POSSIBLE_VALUES on off)
|
||||||
|
set(PNG_MIPS_MSA "on" CACHE STRING "Enable MIPS_MSA optimizations:
|
||||||
|
off: disable the optimizations")
|
||||||
|
diff --git a/pngrutil.c b/pngrutil.c
|
||||||
|
index 7001f1976..91930f1f2 100644
|
||||||
|
--- a/pngrutil.c
|
||||||
|
+++ b/pngrutil.c
|
||||||
|
@@ -422,13 +422,6 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner)
|
||||||
|
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;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.33.0.windows.1
|
41
deps/TIFF/TIFF.cmake
vendored
41
deps/TIFF/TIFF.cmake
vendored
@ -1,13 +1,32 @@
|
|||||||
find_package(OpenGL QUIET REQUIRED)
|
find_package(OpenGL QUIET REQUIRED)
|
||||||
|
|
||||||
bambustudio_add_cmake_project(TIFF
|
if (APPLE)
|
||||||
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.1.0/libtiff-v4.1.0.zip
|
message(STATUS "Compiling TIFF for macos ${CMAKE_SYSTEM_VERSION}.")
|
||||||
URL_HASH SHA256=c56edfacef0a60c0de3e6489194fcb2f24c03dbb550a8a7de5938642d045bd32
|
bambustudio_add_cmake_project(TIFF
|
||||||
DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG
|
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.3.0/libtiff-v4.3.0.zip
|
||||||
CMAKE_ARGS
|
URL_HASH SHA256=4fca1b582c88319f3ad6ecd5b46320eadaf5eb4ef6f6c32d44caaae4a03d0726
|
||||||
-Dlzma:BOOL=OFF
|
DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG
|
||||||
-Dwebp:BOOL=OFF
|
CMAKE_ARGS
|
||||||
-Djbig:BOOL=OFF
|
-Dlzma:BOOL=OFF
|
||||||
-Dzstd:BOOL=OFF
|
-Dwebp:BOOL=OFF
|
||||||
-Dpixarlog:BOOL=OFF
|
-Djbig:BOOL=OFF
|
||||||
)
|
-Dzstd:BOOL=OFF
|
||||||
|
-Dpixarlog:BOOL=OFF
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
bambustudio_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
|
||||||
|
)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user