Merge branch 'SoftFever' into SoftFever-SF
166
.clang-format
Normal file
|
@ -0,0 +1,166 @@
|
|||
---
|
||||
Language: Cpp
|
||||
# BasedOnStyle: LLVM
|
||||
AccessModifierOffset: -2
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveMacros: None
|
||||
AlignConsecutiveAssignments: None
|
||||
AlignConsecutiveBitFields: None
|
||||
AlignConsecutiveDeclarations: None
|
||||
AlignEscapedNewlines: Right
|
||||
AlignOperands: Align
|
||||
AlignTrailingComments: true
|
||||
AllowAllArgumentsOnNextLine: true
|
||||
AllowAllConstructorInitializersOnNextLine: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortEnumsOnASingleLine: true
|
||||
AllowShortBlocksOnASingleLine: Never
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: All
|
||||
AllowShortLambdasOnASingleLine: All
|
||||
AllowShortIfStatementsOnASingleLine: Never
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: MultiLine
|
||||
AttributeMacros:
|
||||
- __capability
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: false
|
||||
AfterClass: false
|
||||
AfterControlStatement: Never
|
||||
AfterEnum: false
|
||||
AfterFunction: false
|
||||
AfterNamespace: false
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: false
|
||||
AfterUnion: false
|
||||
AfterExternBlock: false
|
||||
BeforeCatch: false
|
||||
BeforeElse: false
|
||||
BeforeLambdaBody: false
|
||||
BeforeWhile: false
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: true
|
||||
SplitEmptyRecord: true
|
||||
SplitEmptyNamespace: true
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeConceptDeclarations: true
|
||||
BreakBeforeBraces: Attach
|
||||
BreakBeforeInheritanceComma: false
|
||||
BreakInheritanceList: BeforeColon
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakConstructorInitializersBeforeComma: false
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakAfterJavaFieldAnnotations: false
|
||||
BreakStringLiterals: true
|
||||
ColumnLimit: 120
|
||||
CommentPragmas: '^ IWYU pragma:'
|
||||
CompactNamespaces: false
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
Cpp11BracedListStyle: true
|
||||
DeriveLineEnding: true
|
||||
DerivePointerAlignment: false
|
||||
DisableFormat: false
|
||||
EmptyLineBeforeAccessModifier: LogicalBlock
|
||||
ExperimentalAutoDetectBinPacking: false
|
||||
FixNamespaceComments: true
|
||||
ForEachMacros:
|
||||
- foreach
|
||||
- Q_FOREACH
|
||||
- BOOST_FOREACH
|
||||
StatementAttributeLikeMacros:
|
||||
- Q_EMIT
|
||||
IncludeBlocks: Preserve
|
||||
IncludeCategories:
|
||||
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
|
||||
Priority: 2
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
|
||||
Priority: 3
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '.*'
|
||||
Priority: 1
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
IncludeIsMainRegex: '(Test)?$'
|
||||
IncludeIsMainSourceRegex: ''
|
||||
IndentCaseLabels: false
|
||||
IndentCaseBlocks: false
|
||||
IndentGotoLabels: true
|
||||
IndentPPDirectives: None
|
||||
IndentExternBlock: AfterExternBlock
|
||||
IndentRequires: false
|
||||
IndentWidth: 2
|
||||
IndentWrappedFunctionNames: false
|
||||
InsertTrailingCommas: None
|
||||
JavaScriptQuotes: Leave
|
||||
JavaScriptWrapImports: true
|
||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
MaxEmptyLinesToKeep: 1
|
||||
NamespaceIndentation: None
|
||||
ObjCBinPackProtocolList: Auto
|
||||
ObjCBlockIndentWidth: 2
|
||||
ObjCBreakBeforeNestedBlockParam: true
|
||||
ObjCSpaceAfterProperty: false
|
||||
ObjCSpaceBeforeProtocolList: true
|
||||
PenaltyBreakAssignment: 2
|
||||
PenaltyBreakBeforeFirstCallParameter: 19
|
||||
PenaltyBreakComment: 300
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyBreakTemplateDeclaration: 10
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyReturnTypeOnItsOwnLine: 60
|
||||
PenaltyIndentedWhitespace: 0
|
||||
PointerAlignment: Right
|
||||
ReflowComments: true
|
||||
SortIncludes: true
|
||||
SortJavaStaticImport: Before
|
||||
SortUsingDeclarations: true
|
||||
SpaceAfterCStyleCast: false
|
||||
SpaceAfterLogicalNot: false
|
||||
SpaceAfterTemplateKeyword: true
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeCaseColon: false
|
||||
SpaceBeforeCpp11BracedList: false
|
||||
SpaceBeforeCtorInitializerColon: true
|
||||
SpaceBeforeInheritanceColon: true
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceAroundPointerQualifiers: Default
|
||||
SpaceBeforeRangeBasedForLoopColon: true
|
||||
SpaceInEmptyBlock: false
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesBeforeTrailingComments: 1
|
||||
SpacesInAngles: false
|
||||
SpacesInConditionalStatement: false
|
||||
SpacesInContainerLiterals: true
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInParentheses: false
|
||||
SpacesInSquareBrackets: false
|
||||
SpaceBeforeSquareBrackets: false
|
||||
BitFieldColonSpacing: Both
|
||||
Standard: Latest
|
||||
StatementMacros:
|
||||
- Q_UNUSED
|
||||
- QT_REQUIRE_VERSION
|
||||
TabWidth: 8
|
||||
UseCRLF: false
|
||||
UseTab: Never
|
||||
WhitespaceSensitiveMacros:
|
||||
- STRINGIZE
|
||||
- PP_STRINGIZE
|
||||
- BOOST_PP_STRINGIZE
|
||||
- NS_SWIFT_NAME
|
||||
- CF_SWIFT_NAME
|
||||
...
|
||||
|
28
.dockerignore
Normal file
|
@ -0,0 +1,28 @@
|
|||
Build
|
||||
Build.bat
|
||||
/build/
|
||||
deps/build
|
||||
MYMETA.json
|
||||
MYMETA.yml
|
||||
_build
|
||||
blib
|
||||
xs/buildtmp
|
||||
*.o
|
||||
*.log
|
||||
MANIFEST.bak
|
||||
xs/MANIFEST.bak
|
||||
xs/assertlib*
|
||||
.init_bundle.ini
|
||||
.vs/*
|
||||
local-lib
|
||||
/src/TAGS
|
||||
/.vscode/
|
||||
build-linux/*
|
||||
deps/build-linux/*
|
||||
**/.DS_Store
|
||||
install_*
|
||||
build_*/
|
||||
SVG
|
||||
Dockerfile
|
||||
DockerBuild.sh
|
||||
DockerRun.sh
|
8
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
@ -14,11 +14,7 @@ A clear and concise description of what the bug is.
|
|||
If it is related to slicing, please append the 3mf file. It could be extremely helpful to solve the issue.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
Steps to reproduce the behavior
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
@ -26,6 +22,8 @@ A clear and concise description of what you expected to happen.
|
|||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Printer model**
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. iOS, Windows]
|
||||
- Version [e.g. 22]
|
||||
|
|
2
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
@ -2,7 +2,7 @@
|
|||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: feature
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
|
50
.github/workflows/build_linux.yml
vendored
Normal file
|
@ -0,0 +1,50 @@
|
|||
name: Build Linux
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- SoftFever
|
||||
pull_request:
|
||||
branches:
|
||||
- SoftFever
|
||||
|
||||
jobs:
|
||||
appimage-builder:
|
||||
name: Linux AppImage Build
|
||||
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install cmake libgl1-mesa-dev libgtk-3-dev libxkbcommon-dev libunwind-dev libfuse2 -y
|
||||
- name: Install dependencies from BuildLinux.sh
|
||||
shell: bash
|
||||
run: sudo ./BuildLinux.sh -ur
|
||||
- name: Fix permissions
|
||||
shell: bash
|
||||
run: sudo chown $USER -R ./
|
||||
- name: Build deps
|
||||
id: cache_deps
|
||||
uses: actions/cache@v3
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-cache-orcaslicer_deps_x64
|
||||
with:
|
||||
path: ${{ github.workspace }}/deps/build/destdir
|
||||
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 -dr
|
||||
|
||||
- name: Build Studio
|
||||
shell: bash
|
||||
run: ./BuildLinux.sh -isr
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: OrcaSlicer_Linux
|
||||
path: './build/OrcaSlicer_ubu64.AppImage'
|
92
.github/workflows/build_mac_arm64.yml
vendored
Normal file
|
@ -0,0 +1,92 @@
|
|||
name: Build Mac AppleSilicon
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- SoftFever
|
||||
pull_request:
|
||||
branches:
|
||||
- SoftFever
|
||||
|
||||
jobs:
|
||||
build_win64:
|
||||
name: Build Mac AppleSilicon
|
||||
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_arm64
|
||||
- run: mkdir -p ${{ github.workspace }}/deps/build_arm64/OrcaSlicer_dep_x86_64
|
||||
|
||||
# - name: build deps
|
||||
# id: cache_deps
|
||||
# uses: actions/cache@v3
|
||||
# env:
|
||||
# cache-name: ${{ runner.os }}-cache-orcaslicer_deps_arm64
|
||||
# with:
|
||||
# path: ${{ github.workspace }}/deps/build/OrcaSlicer_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/OrcaSlicer_deps_Mar/OrcaSlicer_dep_mac_arm64_11-03-2023.tar.gz
|
||||
tar -zxvf OrcaSlicer_dep_mac_arm64_11-03-2023.tar.gz -C ${{ github.workspace }}/deps/build_arm64
|
||||
chown -R $(id -u):$(id -g) ${{ github.workspace }}/deps/build_arm64/OrcaSlicer_dep_arm64
|
||||
ls -l ${{ github.workspace }}/deps/build_arm64/OrcaSlicer_dep_arm64
|
||||
rm OrcaSlicer_dep_mac_arm64_11-03-2023.tar.gz
|
||||
|
||||
|
||||
- name: Build studio
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: ./build_release_macos.sh -s -n -a arm64
|
||||
|
||||
- name: Sign app
|
||||
working-directory: ${{ github.workspace }}
|
||||
env:
|
||||
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||
CERTIFICATE_ID: ${{ secrets.MACOS_CERTIFICATE_ID }}
|
||||
run: |
|
||||
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
|
||||
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
|
||||
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH
|
||||
security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
|
||||
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
|
||||
security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
|
||||
security import $CERTIFICATE_PATH -P $P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
|
||||
security list-keychain -d user -s $KEYCHAIN_PATH
|
||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $P12_PASSWORD $KEYCHAIN_PATH
|
||||
codesign --deep --force --verbose --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_arm64/OrcaSlicer_arm64/OrcaSlicer.app
|
||||
|
||||
- name: pack app
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: |
|
||||
export ver=$(grep '^#define SoftFever_VERSION' ./build_arm64/src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
|
||||
ver="_V${ver//\"}"
|
||||
zip -FSr OrcaSlicer${ver}_nightly_Mac_AppleSilicon.zip ${{ github.workspace }}/build_arm64/OrcaSlicer_arm64/OrcaSlicer.app
|
||||
|
||||
# (wip: staple failed, error 65)
|
||||
# - name: Notarize the app
|
||||
# run: |
|
||||
# xcrun notarytool store-credentials "notarytool-profile" --apple-id "${{ secrets.APPLE_DEV_ACCOUNT }}" --team-id "${{ secrets.TEAM_ID }}" --password "${{ secrets.APP_PWD }}"
|
||||
# ditto -c -k --keepParent "OrcaSlicer.app" "OrcaSlicer.zip"
|
||||
# xcrun notarytool submit "OrcaSlicer.zip" --keychain-profile "notarytool-profile" --wait
|
||||
# xcrun stapler staple OrcaSlicer.app
|
||||
# zip -FSrq OrcaSlicer_Mac_notarized.zip OrcaSlicer.app
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: OrcaSlicer_Mac_AppleSilicon
|
||||
path: ${{ github.workspace }}/OrcaSlicer*.zip
|
93
.github/workflows/build_mac_x64.yml
vendored
Normal file
|
@ -0,0 +1,93 @@
|
|||
name: Build Mac Intel
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- SoftFever
|
||||
pull_request:
|
||||
branches:
|
||||
- SoftFever
|
||||
|
||||
jobs:
|
||||
build_win64:
|
||||
name: Build Mac Intel
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install tools
|
||||
run: |
|
||||
brew install cmake git gettext
|
||||
- run: mkdir -p ${{ github.workspace }}/deps/build_x86_64
|
||||
- run: mkdir -p ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64
|
||||
|
||||
# - name: build deps
|
||||
# id: cache_deps
|
||||
# uses: actions/cache@v3
|
||||
# env:
|
||||
# cache-name: ${{ runner.os }}-cache-orcaslicer_deps_x64
|
||||
# with:
|
||||
# path: ${{ github.workspace }}/deps/build/OrcaSlicer_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: Download and extract deps
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: |
|
||||
curl -LJO https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Mar/OrcaSlicer_dep_mac_x86_64_11-03-2023.tar.gz
|
||||
tar -zxvf OrcaSlicer_dep_mac_x86_64_11-03-2023.tar.gz -C ${{ github.workspace }}/deps/build_x86_64
|
||||
chown -R $(id -u):$(id -g) ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64
|
||||
ls -l ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64
|
||||
rm OrcaSlicer_dep_mac_x86_64_11-03-2023.tar.gz
|
||||
|
||||
|
||||
- name: Build studio
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: ./build_release_macos.sh -s -n -a x86_64
|
||||
|
||||
- name: Sign app
|
||||
working-directory: ${{ github.workspace }}
|
||||
env:
|
||||
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||
CERTIFICATE_ID: ${{ secrets.MACOS_CERTIFICATE_ID }}
|
||||
run: |
|
||||
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
|
||||
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
|
||||
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH
|
||||
security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
|
||||
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
|
||||
security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
|
||||
security import $CERTIFICATE_PATH -P $P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
|
||||
security list-keychain -d user -s $KEYCHAIN_PATH
|
||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $P12_PASSWORD $KEYCHAIN_PATH
|
||||
codesign --deep --force --verbose --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_x86_64/OrcaSlicer_x86_64/OrcaSlicer.app
|
||||
|
||||
- name: pack app
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: |
|
||||
export ver=$(grep '^#define SoftFever_VERSION' ./build_x86_64/src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
|
||||
ver="_V${ver//\"}"
|
||||
zip -FSr OrcaSlicer${ver}_nightly_Mac_Intel.zip ${{ github.workspace }}/build_x86_64/OrcaSlicer_x86_64/OrcaSlicer.app
|
||||
|
||||
# (wip: staple failed, error 65)
|
||||
# - name: Notarize the app
|
||||
# run: |
|
||||
# xcrun notarytool store-credentials "notarytool-profile" --apple-id "${{ secrets.APPLE_DEV_ACCOUNT }}" --team-id "${{ secrets.TEAM_ID }}" --password "${{ secrets.APP_PWD }}"
|
||||
# ditto -c -k --keepParent "OrcaSlicer.app" "OrcaSlicer.zip"
|
||||
# xcrun notarytool submit "OrcaSlicer.zip" --keychain-profile "notarytool-profile" --wait
|
||||
# xcrun stapler staple OrcaSlicer.app
|
||||
# zip -FSrq OrcaSlicer_Mac_notarized.zip OrcaSlicer.app
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: OrcaSlicer_Mac_Intel
|
||||
path: ${{ github.workspace }}/OrcaSlicer*.zip
|
64
.github/workflows/build_win.yml
vendored
Normal file
|
@ -0,0 +1,64 @@
|
|||
name: Build Win64
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- SoftFever
|
||||
pull_request:
|
||||
branches:
|
||||
- SoftFever
|
||||
|
||||
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/OrcaSlicer_dep
|
||||
- name: download deps
|
||||
shell: powershell
|
||||
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Mar/OrcaSlicer_dep_12Mar2023.zip", "$env:temp\OrcaSlicer_dep_12Mar2023.zip")'
|
||||
- name: extract deps
|
||||
working-directory: ${{ github.workspace }}/deps/build
|
||||
shell: cmd
|
||||
run: '"C:/Program Files/7-Zip/7z.exe" x %temp%\OrcaSlicer_dep_12Mar2023.zip'
|
||||
|
||||
- run: dir "${{ github.workspace }}\deps\build\OrcaSlicer_dep"
|
||||
|
||||
# - name: build deps
|
||||
# id: cache_deps
|
||||
# uses: actions/cache@v3
|
||||
# env:
|
||||
# cache-name: ${{ runner.os }}-cache-orcaslicer_deps
|
||||
# with:
|
||||
# path: ${{ github.workspace }}/deps/build/OrcaSlicer_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 OrcaSlicer_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 OrcaSlicer_dev_build.zip ${{ github.workspace }}/build/OrcaSlicer'
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: OrcaSlicer_Win64_nightly
|
||||
path: ${{ github.workspace }}/build/OrcaSlicer
|
6
.gitignore
vendored
|
@ -1,6 +1,6 @@
|
|||
Build
|
||||
Build.bat
|
||||
/build/
|
||||
/build*/
|
||||
deps/build
|
||||
MYMETA.json
|
||||
MYMETA.yml
|
||||
|
@ -20,6 +20,6 @@ local-lib
|
|||
build-linux/*
|
||||
deps/build-linux/*
|
||||
**/.DS_Store
|
||||
install_dir
|
||||
install_release
|
||||
install_*
|
||||
build_*/
|
||||
SVG
|
||||
|
|
2
Build.PL
|
@ -124,7 +124,7 @@ EOF
|
|||
}
|
||||
|
||||
print "\n";
|
||||
print "In the next step, you need to build the BambuStudio C++ library.\n";
|
||||
print "In the next step, you need to build the OrcaSlicer C++ library.\n";
|
||||
print "1) Create a build directory and change to it\n";
|
||||
print "2) run cmake .. -DCMAKE_BUILD_TYPE=Release\n";
|
||||
print "3) run make\n";
|
||||
|
|
|
@ -15,20 +15,20 @@ function check_available_memory_and_disk() {
|
|||
MIN_DISK_KB=$((10 * 1024 * 1024))
|
||||
|
||||
if [ ${FREE_MEM_GB} -le ${MIN_MEM_GB} ]; then
|
||||
echo -e "\nERROR: Bambu Studio Builder requires at least ${MIN_MEM_GB}G of 'available' mem (systen has only ${FREE_MEM_GB}G available)"
|
||||
echo -e "\nERROR: Orca Slicer Builder requires at least ${MIN_MEM_GB}G of 'available' mem (systen has only ${FREE_MEM_GB}G available)"
|
||||
echo && free -h && echo
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [[ ${FREE_DISK_KB} -le ${MIN_DISK_KB} ]]; then
|
||||
echo -e "\nERROR: Bambu Studio Builder requires at least $(echo $MIN_DISK_KB |awk '{ printf "%.1fG\n", $1/1024/1024; }') (systen has only $(echo ${FREE_DISK_KB} | awk '{ printf "%.1fG\n", $1/1024/1024; }') disk free)"
|
||||
echo -e "\nERROR: Orca Slicer Builder requires at least $(echo $MIN_DISK_KB |awk '{ printf "%.1fG\n", $1/1024/1024; }') (systen has only $(echo ${FREE_DISK_KB} | awk '{ printf "%.1fG\n", $1/1024/1024; }') disk free)"
|
||||
echo && df -h . && echo
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
unset name
|
||||
while getopts ":dsiuhgb" opt; do
|
||||
while getopts ":dsiuhgbr" opt; do
|
||||
case ${opt} in
|
||||
u )
|
||||
UPDATE_LIB="1"
|
||||
|
@ -48,13 +48,17 @@ while getopts ":dsiuhgb" opt; do
|
|||
g )
|
||||
FOUND_GTK3=""
|
||||
;;
|
||||
r )
|
||||
SKIP_RAM_CHECK="1"
|
||||
;;
|
||||
h ) echo "Usage: ./BuildLinux.sh [-i][-u][-d][-s][-b][-g]"
|
||||
echo " -i: Generate appimage (optional)"
|
||||
echo " -g: force gtk2 build"
|
||||
echo " -b: build in debug mode"
|
||||
echo " -d: build deps (optional)"
|
||||
echo " -s: build bambu-studio (optional)"
|
||||
echo " -s: build orca-slicer (optional)"
|
||||
echo " -u: only update clock & dependency packets (optional and need sudo)"
|
||||
echo " -r: skip free ram check (low ram compiling)"
|
||||
echo "For a first use, you want to 'sudo ./BuildLinux.sh -u'"
|
||||
echo " and then './BuildLinux.sh -dsi'"
|
||||
exit 0
|
||||
|
@ -69,8 +73,9 @@ then
|
|||
echo " -g: force gtk2 build"
|
||||
echo " -b: build in debug mode"
|
||||
echo " -d: build deps (optional)"
|
||||
echo " -s: build bambu-studio (optional)"
|
||||
echo " -s: build orca-slicer (optional)"
|
||||
echo " -u: only update clock & dependency packets (optional and need sudo)"
|
||||
echo " -r: skip free ram check (low ram compiling)"
|
||||
echo "For a first use, you want to 'sudo ./BuildLinux.sh -u'"
|
||||
echo " and then './BuildLinux.sh -dsi'"
|
||||
exit 0
|
||||
|
@ -153,7 +158,10 @@ then
|
|||
mkdir deps/build
|
||||
fi
|
||||
|
||||
if ! [[ -n "$SKIP_RAM_CHECK" ]]
|
||||
then
|
||||
check_available_memory_and_disk
|
||||
fi
|
||||
|
||||
if [[ -n "$BUILD_DEPS" ]]
|
||||
then
|
||||
|
@ -184,7 +192,7 @@ then
|
|||
make -j$NCORES
|
||||
echo "done"
|
||||
|
||||
# rename wxscintilla # TODO: DeftDawg: Does BambuStudio need this?
|
||||
# rename wxscintilla # TODO: DeftDawg: Does OrcaSlicer need this?
|
||||
# echo "[5/9] Renaming wxscintilla library..."
|
||||
# pushd destdir/usr/local/lib
|
||||
# if [[ -z "$FOUND_GTK3_DEV" ]]
|
||||
|
@ -214,9 +222,9 @@ then
|
|||
fi
|
||||
if [[ -n "$BUILD_DEBUG" ]]
|
||||
then
|
||||
BUILD_ARGS="${BUILD_ARGS} -DCMAKE_BUILD_TYPE=Debug"
|
||||
BUILD_ARGS="${BUILD_ARGS} -DCMAKE_BUILD_TYPE=Debug -DBBL_INTERNAL_TESTING=1"
|
||||
else
|
||||
BUILD_ARGS="${BUILD_ARGS} -DBBL_RELEASE_TO_PUBLIC=1"
|
||||
BUILD_ARGS="${BUILD_ARGS} -DBBL_RELEASE_TO_PUBLIC=1 -DBBL_INTERNAL_TESTING=0"
|
||||
fi
|
||||
|
||||
# cmake
|
||||
|
@ -226,7 +234,7 @@ then
|
|||
|
||||
# make Slic3r
|
||||
echo "[8/9] Building Slic3r..."
|
||||
make -j$NCORES BambuStudio # Slic3r
|
||||
make -j$NCORES OrcaSlicer # Slic3r
|
||||
|
||||
# make .mo
|
||||
# make gettext_po_to_mo # FIXME: DeftDawg: complains about msgfmt not existing even in SuperSlicer, did this ever work?
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
cmake_minimum_required(VERSION 3.13)
|
||||
project(BambuStudio)
|
||||
project(OrcaSlicer)
|
||||
|
||||
include("version.inc")
|
||||
include(GNUInstallDirs)
|
||||
|
@ -23,11 +23,11 @@ else()
|
|||
endif()
|
||||
endif()
|
||||
|
||||
option(SLIC3R_STATIC "Compile BambuStudio with static libraries (Boost, TBB, glew)" ${SLIC3R_STATIC_INITIAL})
|
||||
option(SLIC3R_GUI "Compile BambuStudio with GUI components (OpenGL, wxWidgets)" 1)
|
||||
option(SLIC3R_FHS "Assume BambuStudio is to be installed in a FHS directory structure" 0)
|
||||
option(SLIC3R_STATIC "Compile OrcaSlicer with static libraries (Boost, TBB, glew)" ${SLIC3R_STATIC_INITIAL})
|
||||
option(SLIC3R_GUI "Compile OrcaSlicer with GUI components (OpenGL, wxWidgets)" 1)
|
||||
option(SLIC3R_FHS "Assume OrcaSlicer is to be installed in a FHS directory structure" 0)
|
||||
option(SLIC3R_WX_STABLE "Build against wxWidgets stable (3.0) as oppsed to dev (3.1) on Linux" 0)
|
||||
option(SLIC3R_PROFILE "Compile BambuStudio with an invasive Shiny profiler" 0)
|
||||
option(SLIC3R_PROFILE "Compile OrcaSlicer with an invasive Shiny profiler" 0)
|
||||
option(SLIC3R_PCH "Use precompiled headers" 1)
|
||||
option(SLIC3R_MSVC_COMPILE_PARALLEL "Compile on Visual Studio in parallel" 1)
|
||||
option(SLIC3R_MSVC_PDB "Generate PDB files on MSVC in Release mode" 1)
|
||||
|
@ -53,7 +53,7 @@ if (APPLE)
|
|||
if (CMAKE_MACOSX_BUNDLE)
|
||||
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
|
||||
endif()
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||
endif ()
|
||||
|
||||
# Proposal for C++ unit tests and sandboxes
|
||||
|
@ -117,7 +117,7 @@ if (MINGW)
|
|||
endif ()
|
||||
|
||||
if (NOT MSVC)
|
||||
# ARMs (Raspberry PI) use an unsigned char by default. Let's make it consistent for BambuStudio on all platforms.
|
||||
# ARMs (Raspberry PI) use an unsigned char by default. Let's make it consistent for OrcaSlicer on all platforms.
|
||||
add_compile_options(-fsigned-char)
|
||||
endif ()
|
||||
|
||||
|
@ -297,7 +297,7 @@ if(WIN32)
|
|||
if(MSVC)
|
||||
# BOOST_ALL_NO_LIB: Avoid the automatic linking of Boost libraries on Windows. Rather rely on explicit linking.
|
||||
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x601 -DBOOST_SYSTEM_USE_UTF8 )
|
||||
# Force the source code encoding to UTF-8. See BambuStudio GH pull request #5583
|
||||
# Force the source code encoding to UTF-8. See OrcaSlicer GH pull request #5583
|
||||
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
||||
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
|
||||
endif(MSVC)
|
||||
|
@ -309,24 +309,34 @@ add_definitions(-DwxUSE_UNICODE -D_UNICODE -DUNICODE -DWXINTL_NO_GETTEXT_MACRO)
|
|||
add_definitions(-DwxNO_UNSAFE_WXSTRING_CONV)
|
||||
|
||||
if (SLIC3R_PROFILE)
|
||||
message("BambuStudio will be built with a Shiny invasive profiler")
|
||||
message("OrcaSlicer will be built with a Shiny invasive profiler")
|
||||
add_definitions(-DSLIC3R_PROFILE)
|
||||
endif ()
|
||||
|
||||
# Disable optimization even with debugging on.
|
||||
if (0)
|
||||
message(STATUS "Perl compiled without optimization. Disabling optimization for the BambuStudio build.")
|
||||
message("Old CMAKE_CXX_FLAGS_RELEASE: ${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
message("Old CMAKE_CXX_FLAGS_RELWITHDEBINFO: ${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
message("Old CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "/MD /Od /Zi /EHsc /DWIN32 /DTBB_USE_ASSERT")
|
||||
set(CMAKE_C_FLAGS_RELEASE "/MD /Od /Zi /DWIN32 /DTBB_USE_ASSERT")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /Od /Zi /EHsc /DWIN32 /DTBB_USE_ASSERT")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "/MD /Od /Zi /DWIN32 /DTBB_USE_ASSERT")
|
||||
set(CMAKE_CXX_FLAGS "/MD /Od /Zi /EHsc /DWIN32 /DTBB_USE_ASSERT")
|
||||
set(CMAKE_C_FLAGS "/MD /Od /Zi /DWIN32 /DTBB_USE_ASSERT")
|
||||
# Disable optimization for RelWithDebInfo
|
||||
if(CMAKE_C_FLAGS_RELWITHDEBINFO MATCHES "/O2")
|
||||
string(REGEX REPLACE "/O2" "/Od" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_FLAGS_RELWITHDEBINFO MATCHES "/O2")
|
||||
string(REGEX REPLACE "/O2" "/Od" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
if(CMAKE_C_FLAGS_RELWITHDEBINFO MATCHES "/Ob1")
|
||||
string(REGEX REPLACE "/Ob1" "/Ob0" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||
endif()
|
||||
if(CMAKE_CXX_FLAGS_RELWITHDEBINFO MATCHES "/Ob1")
|
||||
string(REGEX REPLACE "/Ob1" "/Ob0" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /RTC1")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /RTC1")
|
||||
endif()
|
||||
|
||||
list(REMOVE_DUPLICATES CMAKE_C_FLAGS_RELWITHDEBINFO)
|
||||
list(REMOVE_DUPLICATES CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
||||
|
||||
# Find and configure boost
|
||||
if(SLIC3R_STATIC)
|
||||
# Use static boost libraries.
|
||||
|
@ -484,16 +494,7 @@ if (SLIC3R_STATIC AND NOT SLIC3R_STATIC_EXCLUDE_GLEW)
|
|||
set(GLEW_VERBOSE ON)
|
||||
endif()
|
||||
|
||||
find_package(GLEW)
|
||||
if (NOT TARGET GLEW::GLEW)
|
||||
message(STATUS "GLEW not found, using bundled version.")
|
||||
add_library(glew STATIC ${LIBDIR}/glew/src/glew.c)
|
||||
set(GLEW_FOUND TRUE)
|
||||
set(GLEW_INCLUDE_DIRS ${LIBDIR}/glew/include/)
|
||||
target_compile_definitions(glew PUBLIC GLEW_STATIC)
|
||||
target_include_directories(glew PUBLIC ${GLEW_INCLUDE_DIRS})
|
||||
add_library(GLEW::GLEW ALIAS glew)
|
||||
endif ()
|
||||
find_package(GLEW REQUIRED)
|
||||
|
||||
find_package(glfw3 REQUIRED)
|
||||
|
||||
|
@ -506,7 +507,7 @@ set(BBL_L18N_DIR "${CMAKE_CURRENT_SOURCE_DIR}/bbl/i18n")
|
|||
add_custom_target(gettext_make_pot
|
||||
COMMAND xgettext --keyword=L --keyword=_L --keyword=_u8L --keyword=L_CONTEXT:1,2c --keyword=_L_PLURAL:1,2 --add-comments=TRN --from-code=UTF-8 --no-location --debug --boost
|
||||
-f "${BBL_L18N_DIR}/list.txt"
|
||||
-o "${BBL_L18N_DIR}/BambuStudio.pot"
|
||||
-o "${BBL_L18N_DIR}/OrcaSlicer.pot"
|
||||
COMMAND hintsToPot ${SLIC3R_RESOURCES_DIR} ${BBL_L18N_DIR}
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
COMMENT "Generate pot file from strings in the source tree"
|
||||
|
@ -515,13 +516,13 @@ add_custom_target(gettext_merge_po_with_pot
|
|||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
COMMENT "Merge localization po with new generted pot file"
|
||||
)
|
||||
file(GLOB BBL_L10N_PO_FILES "${BBL_L18N_DIR}/*/BambuStudio*.po")
|
||||
file(GLOB BBL_L10N_PO_FILES "${BBL_L18N_DIR}/*/OrcaSlicer*.po")
|
||||
foreach(po_file ${BBL_L10N_PO_FILES})
|
||||
GET_FILENAME_COMPONENT(po_dir "${po_file}" DIRECTORY)
|
||||
SET(po_new_file "${po_dir}/BambuStudio_.po")
|
||||
SET(po_new_file "${po_dir}/OrcaSlicer_.po")
|
||||
add_custom_command(
|
||||
TARGET gettext_merge_po_with_pot PRE_BUILD
|
||||
COMMAND msgmerge -N -o ${po_file} ${po_file} "${BBL_L18N_DIR}/BambuStudio.pot"
|
||||
COMMAND msgmerge -N -o ${po_file} ${po_file} "${BBL_L18N_DIR}/OrcaSlicer.pot"
|
||||
DEPENDS ${po_file}
|
||||
)
|
||||
endforeach()
|
||||
|
@ -529,11 +530,11 @@ add_custom_target(gettext_po_to_mo
|
|||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
COMMENT "Generate localization po files (binary) from mo files (texts)"
|
||||
)
|
||||
file(GLOB L10N_PO_FILES "${BBL_L18N_DIR}/*/BambuStudio*.po")
|
||||
file(GLOB L10N_PO_FILES "${BBL_L18N_DIR}/*/OrcaSlicer*.po")
|
||||
foreach(po_file ${BBL_L10N_PO_FILES})
|
||||
GET_FILENAME_COMPONENT(SECOND_FOLDER_ABSOLUTE ${po_file} DIRECTORY)
|
||||
string(REGEX REPLACE ".*/(.*)" "\\1" po_dir "${SECOND_FOLDER_ABSOLUTE}" )
|
||||
SET(mo_file "${L10N_DIR}/${po_dir}/BambuStudio.mo")
|
||||
SET(mo_file "${L10N_DIR}/${po_dir}/OrcaSlicer.mo")
|
||||
add_custom_command(
|
||||
TARGET gettext_po_to_mo PRE_BUILD
|
||||
COMMAND msgfmt ARGS --check-format -o ${mo_file} ${po_file}
|
||||
|
@ -562,7 +563,7 @@ endif ()
|
|||
|
||||
|
||||
set(TOP_LEVEL_PROJECT_DIR ${PROJECT_SOURCE_DIR})
|
||||
function(bambustudio_copy_dlls target config postfix output_dlls)
|
||||
function(orcaslicer_copy_dlls target config postfix output_dlls)
|
||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||
set(_bits 64)
|
||||
elseif ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
|
||||
|
@ -657,9 +658,9 @@ function(bambustudio_copy_dlls target config postfix output_dlls)
|
|||
endfunction()
|
||||
|
||||
|
||||
# libslic3r, BambuStudio GUI and the BambuStudio executable.
|
||||
# libslic3r, OrcaSlicer GUI and the OrcaSlicer executable.
|
||||
add_subdirectory(src)
|
||||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT BambuStudio_app_gui)
|
||||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT OrcaSlicer_app_gui)
|
||||
|
||||
add_dependencies(gettext_make_pot hintsToPot)
|
||||
|
||||
|
@ -679,7 +680,7 @@ if(SLIC3R_BUILD_TESTS)
|
|||
endif()
|
||||
|
||||
if (NOT WIN32 AND NOT APPLE)
|
||||
set(SLIC3R_APP_CMD "bambu-studio")
|
||||
set(SLIC3R_APP_CMD "orca-slicer")
|
||||
configure_file(${LIBDIR}/platform/unix/build_appimage.sh.in ${CMAKE_CURRENT_BINARY_DIR}/build_appimage.sh @ONLY)
|
||||
endif()
|
||||
|
||||
|
@ -694,21 +695,20 @@ if (WIN32)
|
|||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
||||
elseif (SLIC3R_FHS)
|
||||
# CMAKE_INSTALL_FULL_DATAROOTDIR: read-only architecture-independent data root (share)
|
||||
set(SLIC3R_FHS_RESOURCES "${CMAKE_INSTALL_FULL_DATAROOTDIR}/BambuStudio")
|
||||
set(SLIC3R_FHS_RESOURCES "${CMAKE_INSTALL_FULL_DATAROOTDIR}/OrcaSlicer")
|
||||
install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/ DESTINATION ${SLIC3R_FHS_RESOURCES}
|
||||
PATTERN "*/udev" EXCLUDE
|
||||
)
|
||||
install(FILES src/platform/unix/BambuStudio.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
|
||||
install(FILES src/platform/unix/OrcaSlicer.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
|
||||
foreach(SIZE 32 128 192)
|
||||
install(FILES ${SLIC3R_RESOURCES_DIR}/images/BambuStudio_${SIZE}px.png
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME BambuStudio.png
|
||||
)
|
||||
endforeach()
|
||||
install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/udev/ DESTINATION lib/udev/rules.d)
|
||||
elseif (CMAKE_MACOSX_BUNDLE)
|
||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/BambuStudio.app/Contents/resources")
|
||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/OrcaSlicer.app/Contents/resources")
|
||||
else ()
|
||||
install(FILES src/platform/unix/BambuStudio.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
|
||||
install(FILES src/platform/unix/OrcaSlicer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
|
||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
||||
endif ()
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
# Build Bambu Slicer in a container
|
||||
#
|
||||
# Build an AppImage using rootless Podman (refer to https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md):
|
||||
# rm -rf build; podman build . -t bambu-studio-builder && podman run --rm localhost/bambu-studio-builder /bin/bash -c 'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv
|
||||
# rm -rf build; podman build . -t orca-slicer-builder && podman run --rm localhost/orca-slicer-builder /bin/bash -c 'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv
|
||||
#
|
||||
# Troubleshooting the build container:
|
||||
# podman run -it --name bambu-studio-builder localhost/bambu-studio-builder /bin/bash
|
||||
# podman run -it --name orca-slicer-builder localhost/orca-slicer-builder /bin/bash
|
||||
#
|
||||
# Debugging the resulting AppImage:
|
||||
# 1) Install `gdb`
|
||||
|
@ -13,10 +13,10 @@
|
|||
# 3) Find related issue using backtrace output for clues and add backtrace to it on github
|
||||
#
|
||||
# Docker alternative AppImage build syntax (use this if you can't install podman):
|
||||
# rm -rf build; docker build . --file Containerfile -t bambu-studio-builder; docker run --rm bambu-studio-builder /bin/bash -c 'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv
|
||||
# rm -rf build; docker build . --file Containerfile -t orca-slicer-builder; docker run --rm orca-slicer-builder /bin/bash -c 'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv
|
||||
#
|
||||
#
|
||||
# TODO: bind mount BambuStudio to inside the container instead of COPY to enable faster rebuilds during dev work.
|
||||
# TODO: bind mount OrcaSlicer to inside the container instead of COPY to enable faster rebuilds during dev work.
|
||||
|
||||
FROM docker.io/ubuntu:20.04
|
||||
LABEL maintainer "DeftDawg <DeftDawg@gmail.com>"
|
||||
|
@ -52,9 +52,9 @@ RUN apt-get update && apt-get install -y \
|
|||
file \
|
||||
sudo
|
||||
|
||||
COPY ./ BambuStudio
|
||||
COPY ./ OrcaSlicer
|
||||
|
||||
WORKDIR BambuStudio
|
||||
WORKDIR OrcaSlicer
|
||||
|
||||
# These can run together, but we run them seperate for podman caching
|
||||
# Update System dependencies
|
||||
|
|
15
DockerBuild.sh
Executable file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/bash
|
||||
PROJECT_ROOT=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
|
||||
|
||||
set -x
|
||||
|
||||
# Wishlist hint: For developers, creating a Docker Compose
|
||||
# setup with persistent volumes for the build & deps directories
|
||||
# would speed up recompile times significantly. For end users,
|
||||
# the simplicity of a single Docker image and a one-time compilation
|
||||
# seems better.
|
||||
docker build -t bambustudio \
|
||||
--build-arg USER=$USER \
|
||||
--build-arg UID=$(id -u) \
|
||||
--build-arg GID=$(id -g) \
|
||||
$PROJECT_ROOT
|
23
DockerRun.sh
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/bin/bash
|
||||
set -x
|
||||
# Just in case, here's some other things that might help:
|
||||
# Force the container's hostname to be the same as your workstation
|
||||
# -h $HOSTNAME \
|
||||
# If there's problems with the X display, try this
|
||||
# -v /tmp/.X11-unix:/tmp/.X11-unix \
|
||||
docker run \
|
||||
`# Use the hosts networking. Printer wifi and also dbus communication` \
|
||||
--net=host \
|
||||
`# Run as your workstations username to keep permissions the same` \
|
||||
-u $USER \
|
||||
`# Bind mount your home directory into the container for loading/saving files` \
|
||||
-v $HOME:/home/$USER \
|
||||
`# Pass the X display number to the container` \
|
||||
-e DISPLAY=$DISPLAY \
|
||||
`# It seems that libGL and dbus things need privileged mode` \
|
||||
--privileged=true \
|
||||
`# Attach tty for running bambu with command line things` \
|
||||
-ti \
|
||||
`# Pass all parameters from this script to the bambu ENTRYPOINT binary` \
|
||||
bambustudio $*
|
||||
|
92
Dockerfile
Normal file
|
@ -0,0 +1,92 @@
|
|||
FROM docker.io/ubuntu:20.04
|
||||
LABEL maintainer "DeftDawg <DeftDawg@gmail.com>"
|
||||
|
||||
# Disable interactive package configuration
|
||||
RUN apt-get update && \
|
||||
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
||||
|
||||
# Add a deb-src
|
||||
RUN echo deb-src http://archive.ubuntu.com/ubuntu \
|
||||
$(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2) main universe>> /etc/apt/sources.list
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
autoconf \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
eglexternalplatform-dev \
|
||||
extra-cmake-modules \
|
||||
file \
|
||||
git \
|
||||
libcairo2-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libdbus-1-dev \
|
||||
libglew-dev \
|
||||
libglu1-mesa-dev \
|
||||
libglu1-mesa-dev \
|
||||
libgstreamer1.0-dev \
|
||||
libgstreamerd-3-dev \
|
||||
libgstreamer-plugins-base1.0-dev \
|
||||
libgstreamer-plugins-good1.0-dev \
|
||||
libgtk-3-dev \
|
||||
libgtk-3-dev \
|
||||
libmspack-dev \
|
||||
libosmesa6-dev \
|
||||
libsecret-1-dev \
|
||||
libsoup2.4-dev \
|
||||
libssl-dev \
|
||||
libudev-dev \
|
||||
libwayland-dev \
|
||||
libwebkit2gtk-4.0-dev \
|
||||
libxkbcommon-dev \
|
||||
locales \
|
||||
locales-all \
|
||||
m4 \
|
||||
pkgconf \
|
||||
sudo \
|
||||
wayland-protocols \
|
||||
wget
|
||||
|
||||
# Change your locale here if you want. See the output
|
||||
# of `locale -a` to pick the correct string formatting.
|
||||
ENV LC_ALL=en_US.utf8
|
||||
RUN locale-gen $LC_ALL
|
||||
|
||||
# Set this so that Orca Slicer doesn't complain about
|
||||
# the CA cert path on every startup
|
||||
ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
COPY ./ BambuStudio
|
||||
|
||||
WORKDIR BambuStudio
|
||||
|
||||
# These can run together, but we run them seperate for podman caching
|
||||
# Update System dependencies
|
||||
RUN ./BuildLinux.sh -u
|
||||
|
||||
# Build dependencies in ./deps
|
||||
RUN ./BuildLinux.sh -d
|
||||
|
||||
# Build slic3r
|
||||
RUN ./BuildLinux.sh -s
|
||||
|
||||
# Build AppImage
|
||||
ENV container podman
|
||||
RUN ./BuildLinux.sh -i
|
||||
|
||||
# It's easier to run Orca Slicer as the same username,
|
||||
# UID and GID as your workstation. Since we bind mount
|
||||
# your home directory into the container, it's handy
|
||||
# to keep permissions the same. Just in case, defaults
|
||||
# are root.
|
||||
SHELL ["/bin/bash", "-l", "-c"]
|
||||
ARG USER=root
|
||||
ARG UID=0
|
||||
ARG GID=0
|
||||
RUN [[ "$UID" != "0" ]] \
|
||||
&& groupadd -g $GID $USER \
|
||||
&& useradd -u $UID -g $GID $USER
|
||||
|
||||
# Using an entrypoint instead of CMD because the binary
|
||||
# accepts several command line arguments.
|
||||
ENTRYPOINT ["/BambuStudio/build/package/bin/orca-slicer"]
|
236
README.md
|
@ -1,211 +1,53 @@
|
|||
|
||||
# Bambu Studio - SoftFever
|
||||
A modified version of Bambu Studio with many handy features.
|
||||
It's fully compatible with Bambulab X1/X1-C printers.
|
||||
It also supports Voron and Prusa MK3S printers.
|
||||
You can download it here: https://github.com/SoftFever/BambuStudio-SoftFever/releases
|
||||
|
||||
## BambuStudio SoftFever change notes:
|
||||
|
||||
### [V1.3.4 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.4):
|
||||
1. Add a new printer order - sandwich mode:
|
||||
This new order is similar to the outer-wall-first mode in achieving the best dimensional accuracy. This new approach however avoids printing outer walls right after a long travel, which may cause artifacts on the surface in many cases.
|
||||
sandwich-mode1
|
||||
sandwich-mode2
|
||||
2. Support RRF firmware(experimental)
|
||||
3. Fix a compatibility issue for gcode-preview
|
||||
4. Merge upstream changes
|
||||
|
||||
### [V1.3.3 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.3):
|
||||
1. Improve top surface quality.
|
||||
Fix a bug that internal solid infills didn't use monotonic when top surface is using monotonic lines
|
||||
2. New feature: filter out tiny gaps.
|
||||
Note: for aesthetic considerations, this setting won't affect top/bottom layers. In other words, gap fills that can be seen from outside won't be filtered out
|
||||
3. PA(pressure advance) now support multi-color printing. A new PA value from the selected filament profile will be applied whenever there is
|
||||
a filament/extruder change action. This change only affects multi-color printing.
|
||||
5. Users can now set float values of layer time in Filament->Cooling tab.
|
||||
6. Allow to set target bed temp to 0
|
||||
7. Fix a bug that layer number is not displayed correctly in klipper UIs
|
||||
8. Force using linear PA model when manual PA override is enabled for Bambu machines
|
||||
9. Remember the last used filament
|
||||
10. Skip checking BL network plugin for third-party printers.
|
||||
### [V1.3.2 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.2-sf):
|
||||
1. Support device control view for 3rd party printers
|
||||
2. Port `Small perimeters` feature from PrusaSlicer. I also add an extra option to adjust the small perimeter threshold
|
||||
You might want to reduce speed for small perimeter parts to prevent failures like bellow:
|
||||
3. Add fan speed preview mode
|
||||
4. Fix an issue that print time estimation is inaccurate when `Klipper` g-code style is used.
|
||||
### [V1.3.1 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.1-sf):
|
||||
1. Support change bed size and nozzle diameter
|
||||
2. Allow users to specify the bridge infill direction
|
||||
3. bridge_infill_direction1
|
||||
4. bridge_infill_direction2
|
||||
5. Change to ISO view angle for preview image
|
||||
6. Add an option to change Z Hop action: NormalLift/SpiralLift
|
||||
7. Optimise g-code generation for both Bambu printers and 3rd party printers
|
||||
8. Support Klipper Exclude Objects
|
||||
9. Better support for Moonraker's metadata.
|
||||
|
||||
### [V1.2.5.3 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.2.5.3-sf):
|
||||
1. Label objects to support Klipper Exclude Objects feature
|
||||
2. Allow users to change output file name format
|
||||
3. Fix a bug that pressure advance value was not saved in the profile
|
||||
4. Optimize non-Bambu printer profiles
|
||||
5. Remove M900 S0 which is not necessary.
|
||||
|
||||
### [V1.2.5 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.2.5-sf):
|
||||
1. Add options to adjust jerk for different line types
|
||||
2. Add an option to adjust acceleration for travel. Higher acceleration for travel and lower acceleration for the outer wall makes it possible to print faster and nicer.
|
||||
3. Add an option to manually override the Pressure Advance / Linear Advance for each filament.
|
||||
|
||||
### [V1.2.4 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.2.4-sf):
|
||||
1. Allow users to adjust accelerations for inner/outer walls separately.
|
||||
2. Allow users to adjust the bottom surface flow-rate
|
||||
3. Fix an issue that bed temperature for other layers is not set properly. This bug exists in the upstream as well. My PR here(bambulab#319)
|
||||
|
||||
### [V1.2 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.2-sf):
|
||||
1. Allow user to change machine limits
|
||||
2. Allow users to adjust the top surface flow-rate.
|
||||
3. Unlock some cool hidden features in BambuStudio.
|
||||
4. Fix an issue that the software connected to Bambulab's staging server by default. (Only Bambulab machines were affected)
|
||||
|
||||
### [V1.1 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.1):
|
||||
1. Support third-party printers:
|
||||
- Voron 2.4
|
||||
- Voron Trident
|
||||
- Voron 0.1
|
||||
- Prusa MK3S
|
||||
2. Export to to .gcode file.
|
||||
3. Send gcode file to printer
|
||||
4. Support single wall mode on first layer
|
||||
5. Support Chamber temperature. This setting can be use in machine start G-Gcode
|
||||
6. Support thumbview for third-party printers
|
||||
|
||||
Demo video: https://youtu.be/vSNE9iGj2II
|
||||
|
||||
## NOTE:
|
||||
## 1. For Apple M1 users, please take a look at this [article](https://www.howtogeek.com/803598/app-is-damaged-and-cant-be-opened/ ) about how to run unsigned applications on your machine. Or better, you can build it from the source codes if you want:)
|
||||
Apple requires a subscription(costs 99$ yearly) for developers to sign their app. I don't do a lot of dev work on Mac, and this is a nonprofit open-source project, so I decided not to pay the money ;)
|
||||
|
||||
## 2. If you have troubles to run the build, you might need to install following runtimes:
|
||||
- [MicrosoftEdgeWebView2RuntimeInstallerX64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe)
|
||||
- [vcredist2019_x64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/vcredist2019_x64.exe)
|
||||
|
||||
## 3. BambuStudio use G2/G3 commands by default. You need to turn on ARC support in your printer's firmware use with this slicer.
|
||||
- For Voron and any Klipper based printers:
|
||||
You can enable gcode_arcs(G2/G3) support by adding following section into you printer.cfg file:
|
||||
```
|
||||
[gcode_arcs]
|
||||
resolution: 0.1
|
||||
|
||||
[gcode_macro m201]
|
||||
gcode:
|
||||
{% if 'X' in params or 'Y' in params %}
|
||||
{% set accel = (params.X|default(params.Y)|float,
|
||||
params.Y|default(params.X)|float)|min %}
|
||||
SET_VELOCITY_LIMIT ACCEL={accel} ACCEL_TO_DECEL={accel * 0.5}
|
||||
{% else %}
|
||||
SET_VELOCITY_LIMIT
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro m203]
|
||||
gcode:
|
||||
{% if 'X' in params or 'Y' in params %}
|
||||
{% set speed = (params.X|default(params.Y)|float,
|
||||
params.Y|default(params.X)|float)|min %}
|
||||
SET_VELOCITY_LIMIT VELOCITY={speed}
|
||||
{% else %}
|
||||
SET_VELOCITY_LIMIT
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro M205]
|
||||
gcode:
|
||||
{% if 'X' in params or 'Y' in params %}
|
||||
{% set corner_speed = (params.X|default(params.Y)|float,
|
||||
params.Y|default(params.X)|float)|min %}
|
||||
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={corner_speed}
|
||||
{% else %}
|
||||
SET_VELOCITY_LIMIT
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro M900]
|
||||
gcode:
|
||||
SET_PRESSURE_ADVANCE ADVANCE={params.K}
|
||||
|
||||
```
|
||||
|
||||
~~ It's also recommended to add followinging dummy macros to make Klipper happy ~~
|
||||
Update: latest Klipper has supported G17 command. Don't add following macro if you are running on latest Klipper.
|
||||
```
|
||||
# Make BambuStudio happy
|
||||
[gcode_macro G17]
|
||||
gcode:
|
||||
|
||||
```
|
||||
|
||||
- For Prusa MK3S:
|
||||
ARC movement are supported by default.
|
||||
# Orca Slicer
|
||||
[](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_win.yml)
|
||||
[](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_arm64.yml)
|
||||
[](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_x64.yml)
|
||||
[](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_linux.yml)
|
||||
Orca Slicer is a fork of Bambu Studio.
|
||||
Bambu Studio is based on [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) by Prusa Research, which is from [Slic3r](https://github.com/Slic3r/Slic3r) by Alessandro Ranellucci and the RepRap community.
|
||||
Orca Slicer incorporates a lot of features from SuperSlicer by @supermerill
|
||||
|
||||
|
||||
# Gallery
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
Prebuilt binaries are available through the [github releases page](https://github.com/SoftFever/OrcaSlicer/releases/).
|
||||
|
||||
|
||||
# Main features
|
||||
- Auto calibrations for all printers
|
||||
- Sandwich(inner-outer-inner) mode - an improved version of the `External perimeters first` mode
|
||||
- Precise wall
|
||||
- Klipper support
|
||||
- More granular controls
|
||||
- More features can be found in [change notes](https://github.com/SoftFever/OrcaSlicer/releases/)
|
||||
|
||||
Image credits:
|
||||
1. Voron 2.4 and Trident: vorondesign.com
|
||||
3. Voron 0.1: myself
|
||||
4. Prusa MK3S: Prusa3d
|
||||
# How to install
|
||||
**Windows**:
|
||||
> Unzip the binaries to any folder you prefer, then execute orca-slicer.exe to start the application.
|
||||
>> *If you have troubles to run the build, you might need to install following runtimes:*
|
||||
>> - [MicrosoftEdgeWebView2RuntimeInstallerX64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe)
|
||||
>> - [vcredist2019_x64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/vcredist2019_x64.exe)
|
||||
|
||||
**Mac**:
|
||||
> 1. Download the right binaries for your computer: `arm64` version for Apple Silicon and `x86_64` for Intel CPU.
|
||||
> 2. Double click to unzip the package, move OrcaSlicer.app to Application folder.
|
||||
> 3. Run the following command in the terminal to allow running unsigned applications:
|
||||
>>>> `xattr -d com.apple.quarantine /Applications/OrcaSlicer.app`.
|
||||
|
||||
=========================SPLIT=========================
|
||||
|
||||

|
||||
# BambuStudio
|
||||
Bambu Studio is a cutting-edge, feature-rich slicing software.
|
||||
It contains project-based workflows, systematically optimized slicing algorithms, and an easy-to-use graphic interface, bringing users an incredibly smooth printing experience.
|
||||
|
||||
Prebuilt Windows, macOS 64-bit releases are available through the [github releases page](https://github.com/bambulab/BambuStudio/releases/).
|
||||
Linux version currently is not supported.
|
||||
|
||||
Bambu Studio is based on [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) by Prusa Research, which is from [Slic3r](https://github.com/Slic3r/Slic3r) by Alessandro Ranellucci and the RepRap community.
|
||||
|
||||
See the [wiki](https://github.com/bambulab/BambuStudio/wiki) and the [documentation directory](https://github.com/bambulab/BambuStudio/tree/master/doc) for more informations.
|
||||
|
||||
# What are Bambu Studio's main features?
|
||||
Key features are:
|
||||
- Basic slicing features & GCode viewer
|
||||
- Multiple plates management
|
||||
- Remote control & monitoring
|
||||
- Auto-arrange objects
|
||||
- Auto-orient objects
|
||||
- Hybrid/Tree/Normal support types, Customized support
|
||||
- multi-material printing and rich painting tools
|
||||
- multi-platform (Win/Mac/Linux) support
|
||||
- Global/Object/Part level slicing parameters
|
||||
|
||||
Other major features are:
|
||||
- Advanced cooling logic controlling fan speed and dynamic print speed
|
||||
- Auto brim according to mechanical analysis
|
||||
- Support arc path(G2/G3)
|
||||
- Support STEP format
|
||||
- Assembly & explosion view
|
||||
- Flushing transition-filament into infill/object during filament change
|
||||
|
||||
**Linux(Ubuntu)**:
|
||||
> Run the downlaoded AppImage.
|
||||
# How to compile
|
||||
Following platforms are currently supported to compile:
|
||||
- Windows 64-bit, [Compile Guide](https://github.com/bambulab/BambuStudio/wiki/Windows-Compile-Guide)
|
||||
- Mac 64-bit, [Compile Guide](https://github.com/bambulab/BambuStudio/wiki/Mac-Compile-Guide)
|
||||
- Windows 64-bit
|
||||
- Tools needed: Visual Studio 2019, Cmake, git, Strawberry Perl.
|
||||
- Run `build_release.bat` in `x64 Native Tools Command Prompt for VS 2019`
|
||||
|
||||
- Mac 64-bit
|
||||
- Tools needed: Xcode, Cmake, git, gettext
|
||||
- run `build_release_macos.sh`
|
||||
|
||||
# Report issue
|
||||
You can add an issue to the [github tracker](https://github.com/bambulab/BambuStudio/issues) if **it isn't already present.**
|
||||
|
||||
# License
|
||||
Orca Slicer is licensed under the GNU Affero General Public License, version 3. Orca Slicer is based on Bambu Studio by BambuLab.
|
||||
|
||||
Bambu Studio is licensed under the GNU Affero General Public License, version 3. Bambu Studio is based on PrusaSlicer by PrusaResearch.
|
||||
|
||||
PrusaSlicer is licensed under the GNU Affero General Public License, version 3. PrusaSlicer is owned by Prusa Research. PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.
|
||||
|
@ -214,5 +56,5 @@ Slic3r is licensed under the GNU Affero General Public License, version 3. Slic3
|
|||
|
||||
The GNU Affero General Public License, version 3 ensures that if you use any part of this software in any way (even behind a web server), your software must be released under the same license.
|
||||
|
||||
The bambu networking plugin is based on non-free libraries. It is optional to the Bambu Studio and provides extended functionalities for users.
|
||||
The bambu networking plugin is based on non-free libraries. It is optional to the Orca Slicer and provides extended functionalities for users.
|
||||
|
||||
|
|
BIN
SoftFever_doc/Anker.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
SoftFever_doc/Anycubic.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
SoftFever_doc/BambuLab.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
SoftFever_doc/Creality.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
SoftFever_doc/Prusa.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
SoftFever_doc/RatRig.png
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
SoftFever_doc/Voron_1.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
SoftFever_doc/Voron_2.png
Normal file
After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 105 KiB |
9510
bbl/i18n/it/OrcaSlicer_it.po
Normal file
9825
bbl/i18n/ja/OrcaSlicer_ja.po
Normal file
|
@ -16,6 +16,7 @@ src/slic3r/GUI/Gizmos/GLGizmoText.cpp
|
|||
src/slic3r/GUI/Gizmos/GLGizmoText.hpp
|
||||
src/slic3r/GUI/GUI.cpp
|
||||
src/slic3r/GUI/GUI_App.cpp
|
||||
src/slic3r/GUI/GUI_AuxiliaryList.cpp
|
||||
src/slic3r/GUI/GUI_Init.cpp
|
||||
src/slic3r/GUI/GUI_Factories.cpp
|
||||
src/slic3r/GUI/GUI_ObjectList.cpp
|
||||
|
@ -39,9 +40,11 @@ src/slic3r/GUI/Jobs/RotoptimizeJob.cpp
|
|||
src/slic3r/GUI/Jobs/BindJob.cpp
|
||||
src/slic3r/GUI/Jobs/PrintJob.cpp
|
||||
src/slic3r/GUI/Jobs/SendJob.cpp
|
||||
src/slic3r/GUI/Jobs/SLAImportJob.cpp
|
||||
src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp
|
||||
src/slic3r/GUI/AboutDialog.cpp
|
||||
src/slic3r/GUI/AMSMaterialsSetting.cpp
|
||||
src/slic3r/GUI/ExtrusionCalibration.cpp
|
||||
src/slic3r/GUI/AMSMappingPopup.cpp
|
||||
src/slic3r/GUI/AMSSetting.cpp
|
||||
src/slic3r/GUI/BBLTopbar.cpp
|
||||
|
@ -82,6 +85,8 @@ src/slic3r/GUI/Preferences.cpp
|
|||
src/slic3r/GUI/PresetComboBoxes.cpp
|
||||
src/slic3r/GUI/PresetHints.cpp
|
||||
src/slic3r/GUI/ProgressStatusBar.cpp
|
||||
src/slic3r/GUI/PlateSettingsDialog.cpp
|
||||
src/slic3r/GUI/PrivacyUpdateDialog.cpp
|
||||
src/slic3r/GUI/PublishDialog.cpp
|
||||
src/slic3r/GUI/SavePresetDialog.cpp
|
||||
src/slic3r/GUI/Search.cpp
|
||||
|
@ -89,7 +94,6 @@ src/slic3r/GUI/Selection.cpp
|
|||
src/slic3r/GUI/SelectMachine.cpp
|
||||
src/slic3r/GUI/SendSystemInfoDialog.cpp
|
||||
src/slic3r/GUI/SendToPrinter.cpp
|
||||
src/slic3r/GUI/SetBedTypeDialog.cpp
|
||||
src/slic3r/GUI/BindDialog.cpp
|
||||
src/slic3r/GUI/Tab.cpp
|
||||
src/slic3r/GUI/Tab.hpp
|
||||
|
@ -105,6 +109,7 @@ src/slic3r/GUI/KBShortcutsDialog.cpp
|
|||
src/slic3r/GUI/ReleaseNote.cpp
|
||||
src/slic3r/GUI/ReleaseNote.hpp
|
||||
src/slic3r/GUI/UpgradePanel.cpp
|
||||
src/slic3r/GUI/UnsavedChangesDialog.cpp
|
||||
src/slic3r/Utils/FixModelByWin10.cpp
|
||||
src/slic3r/Utils/PresetUpdater.cpp
|
||||
src/slic3r/Utils/Http.cpp
|
||||
|
@ -124,4 +129,4 @@ src/libslic3r/PrintObject.cpp
|
|||
src/libslic3r/PrintObjectSlice.cpp
|
||||
src/libslic3r/PlaceholderParser.cpp
|
||||
src/libslic3r/TreeSupport.cpp
|
||||
|
||||
src/slic3r/GUI/calib_dlg.cpp
|
|
@ -2,13 +2,22 @@ set WP=%CD%
|
|||
cd deps
|
||||
mkdir build
|
||||
cd build
|
||||
set DEPS=%CD%/BambuStudio_dep
|
||||
cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="%CD%/BambuStudio_dep" -DCMAKE_BUILD_TYPE=Release
|
||||
set DEPS=%CD%/OrcaSlicer_dep
|
||||
if "%1"=="studio" (
|
||||
GOTO :studio
|
||||
)
|
||||
echo "building deps.."
|
||||
cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="%CD%/OrcaSlicer_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%
|
||||
mkdir 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="./OrcaSlicer" -DCMAKE_BUILD_TYPE=Release -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"
|
||||
cmake --build . --config Release --target ALL_BUILD -- -m
|
||||
cmake --build . --target install --config Release
|
|
@ -1,20 +1,100 @@
|
|||
#!/bin/sh
|
||||
|
||||
while getopts ":a:sdphn" opt; do
|
||||
case ${opt} in
|
||||
d )
|
||||
export BUILD_TARGET="deps"
|
||||
;;
|
||||
p )
|
||||
export PACK_DEPS="1"
|
||||
;;
|
||||
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"
|
||||
|
||||
if which -s brew; then
|
||||
brew --prefix libiconv
|
||||
brew --prefix zstd
|
||||
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/
|
||||
elif which -s port; then
|
||||
port install libiconv
|
||||
port install zstd
|
||||
export LIBRARY_PATH=$LIBRARY_PATH:/opt/local/lib
|
||||
else
|
||||
echo "Need either brew or macports to successfully build deps"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
WD="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd $WD/deps
|
||||
mkdir -p build
|
||||
cd build
|
||||
DEPS=$PWD/BambuStudio_dep
|
||||
mkdir -p build_$ARCH
|
||||
cd build_$ARCH
|
||||
DEPS=$PWD/OrcaSlicer_dep_$ARCH
|
||||
mkdir -p $DEPS
|
||||
cmake ../ -DDESTDIR="$DEPS" -DOPENSSL_ARCH="darwin64-$(uname -m)-cc" -DCMAKE_BUILD_TYPE=Release
|
||||
make -j10
|
||||
if [ "studio." != $BUILD_TARGET. ];
|
||||
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
|
||||
if [ "1." == "$PACK_DEPS". ];
|
||||
then
|
||||
tar -zcvf OrcaSlicer_dep_mac_${ARCH}_$(date +"%d-%m-%Y").tar.gz OrcaSlicer_dep_$ARCH
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [ "deps." == "$BUILD_TARGET". ];
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cd $WD
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake .. -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
|
||||
cmake --build . --config Release --target all -j10
|
||||
cmake --build . --target install --config Release -j10
|
||||
cd BambuStudio-SoftFever
|
||||
cp -r bin/BambuStudio.app/Contents/MacOS BambuStudio.app/Contents
|
||||
cp -r bin/BambuStudio.app/Contents/Info.plist BambuStudio.app/Contents/
|
||||
mkdir -p build_$ARCH
|
||||
cd build_$ARCH
|
||||
echo "building studio..."
|
||||
cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="$DEPS/usr/local" -DCMAKE_INSTALL_PREFIX="$PWD/OrcaSlicer_$ARCH" -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
|
||||
mkdir -p OrcaSlicer_$ARCH
|
||||
cd OrcaSlicer_$ARCH
|
||||
rm -r ./OrcaSlicer.app
|
||||
cp -pR ../src/Release/OrcaSlicer.app ./OrcaSlicer.app
|
||||
resources_path=$(readlink ./OrcaSlicer.app/Contents/Resources)
|
||||
rm ./OrcaSlicer.app/Contents/Resources
|
||||
cp -R $resources_path ./OrcaSlicer.app/Contents/Resources
|
||||
# delete .DS_Store file
|
||||
find ./OrcaSlicer.app/ -name '.DS_Store' -delete
|
||||
# extract version
|
||||
# export ver=$(grep '^#define SoftFever_VERSION' ../src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
|
||||
# ver="_V${ver//\"}"
|
||||
# echo $PWD
|
||||
# if [ "1." != "$NIGHTLY_BUILD". ];
|
||||
# then
|
||||
# ver=${ver}_dev
|
||||
# fi
|
||||
|
||||
|
||||
# zip -FSr OrcaSlicer${ver}_Mac_${ARCH}.zip OrcaSlicer.app
|
||||
|
|
|
@ -2,13 +2,22 @@ set WP=%CD%
|
|||
cd deps
|
||||
mkdir build
|
||||
cd build
|
||||
set DEPS=%CD%/BambuStudio_dep
|
||||
cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="%CD%/BambuStudio_dep" -DCMAKE_BUILD_TYPE=Release
|
||||
set DEPS=%CD%/OrcaSlicer_dep
|
||||
if "%1"=="studio" (
|
||||
GOTO :studio
|
||||
)
|
||||
echo "building deps.."
|
||||
cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="%CD%/OrcaSlicer_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%
|
||||
mkdir 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=RelWithDebInfo -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="./OrcaSlicer" -DCMAKE_BUILD_TYPE=Release -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"
|
||||
cmake --build . --config RelWithDebInfo --target ALL_BUILD -- -m
|
||||
@REM cmake --build . --target install --config RelWithDebInfo
|
|
@ -28,12 +28,12 @@
|
|||
@ECHO deps-dirty - build deps without cleaning
|
||||
@ECHO Default: %PS_STEPS_DEFAULT%
|
||||
@ECHO -r -RUN Specifies what to perform at the run step:
|
||||
@ECHO console - run and wait on bambu-studio-console.exe
|
||||
@ECHO console - run and wait on orca-slicer-console.exe
|
||||
@ECHO custom - run and wait on your custom build/%PS_CUSTOM_RUN_FILE%
|
||||
@ECHO ide - open project in Visual Studio if not open (no wait)
|
||||
@ECHO none - run step does nothing
|
||||
@ECHO viewer - run bambu-gcodeviewer.exe (no wait)
|
||||
@ECHO window - run bambu-studio.exe (no wait)
|
||||
@ECHO window - run orca-slicer.exe (no wait)
|
||||
@ECHO Default: none
|
||||
@ECHO -d -DESTDIR Deps destination directory
|
||||
@ECHO Warning: Changing destdir path will not delete the old destdir.
|
||||
|
@ -246,11 +246,11 @@ FOR /F "tokens=2 delims=," %%I in (
|
|||
@ECHO Running %PS_RUN% application...
|
||||
@REM icacls below is just a hack for file-not-found error handling
|
||||
IF "%PS_RUN%" EQU "console" (
|
||||
icacls bambu-studio-console.exe >nul || GOTO :END
|
||||
start /wait /b bambu-studio-console.exe
|
||||
icacls orca-slicer-console.exe >nul || GOTO :END
|
||||
start /wait /b orca-slicer-console.exe
|
||||
) ELSE IF "%PS_RUN%" EQU "window" (
|
||||
icacls bambu-studio.exe >nul || GOTO :END
|
||||
start bambu-studio.exe
|
||||
icacls orca-slicer.exe >nul || GOTO :END
|
||||
start orca-slicer.exe
|
||||
) ELSE IF "%PS_RUN%" EQU "viewer" (
|
||||
icacls bambu-gcodeviewer.exe >nul || GOTO :END
|
||||
start bambu-gcodeviewer.exe
|
||||
|
|
|
@ -94,19 +94,20 @@ endif()
|
|||
|
||||
function(__glew_set_find_library_suffix shared_or_static)
|
||||
if((UNIX AND NOT APPLE) AND "${shared_or_static}" MATCHES "SHARED")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" PARENT_SCOPE)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
|
||||
elseif((UNIX AND NOT APPLE) AND "${shared_or_static}" MATCHES "STATIC")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a" PARENT_SCOPE)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
||||
elseif(APPLE AND "${shared_or_static}" MATCHES "SHARED")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib;.so" PARENT_SCOPE)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib;.so")
|
||||
elseif(APPLE AND "${shared_or_static}" MATCHES "STATIC")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a" PARENT_SCOPE)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
||||
elseif(WIN32 AND "${shared_or_static}" MATCHES "SHARED")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" PARENT_SCOPE)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
|
||||
elseif(WIN32 AND "${shared_or_static}" MATCHES "STATIC")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib;.a;.dll.a" PARENT_SCOPE)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib;.a;.dll.a")
|
||||
endif()
|
||||
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_FIND_LIBRARY_SUFFIXES}" PARENT_SCOPE)
|
||||
if(GLEW_VERBOSE)
|
||||
message(STATUS "FindGLEW: CMAKE_FIND_LIBRARY_SUFFIXES for ${shared_or_static}: ${CMAKE_FIND_LIBRARY_SUFFIXES}")
|
||||
endif()
|
||||
|
|
|
@ -293,7 +293,7 @@ if(NOT TBB_FOUND)
|
|||
# Create targets
|
||||
##################################
|
||||
|
||||
if(NOT CMAKE_VERSION VERSION_LESS 3.0 AND TBB_FOUND)
|
||||
if(NOT CMAKE_VERSION VERSION_LESS 3.0 AND TBB_FOUND AND NOT TARGET TBB::tbb)
|
||||
add_library(TBB::tbb UNKNOWN IMPORTED)
|
||||
set_target_properties(TBB::tbb PROPERTIES
|
||||
INTERFACE_COMPILE_DEFINITIONS "${TBB_DEFINITIONS}"
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<key>CFBundleIconFile</key>
|
||||
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.bambulab.bambu-studio</string>
|
||||
<string>com.softfever3d.orca-slicer</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleLongVersionString</key>
|
||||
|
|
54
deps/Blosc/Blosc.cmake
vendored
|
@ -6,23 +6,43 @@ else()
|
|||
set(_build_static ON)
|
||||
endif()
|
||||
|
||||
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
|
||||
)
|
||||
|
||||
if(IS_CROSS_COMPILE AND APPLE)
|
||||
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
|
||||
-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)
|
||||
add_debug_dep(dep_Blosc)
|
||||
endif ()
|
125
deps/Boost/0001-Boost-fix.patch
vendored
Normal file
|
@ -0,0 +1,125 @@
|
|||
From 1d6cd7c2f8640db3cda194c1b9b82f1e4b321395 Mon Sep 17 00:00:00 2001
|
||||
From: "chunmao.guo" <chunmao.guo@bambulab.com>
|
||||
Date: Thu, 5 Jan 2023 15:55:57 +0800
|
||||
Subject: [PATCH] FIX: limit_handles
|
||||
|
||||
---
|
||||
boost/process/detail/posix/executor.hpp | 4 +++-
|
||||
boost/process/detail/posix/pipe_out.hpp | 13 +++++++++++--
|
||||
boost/process/detail/used_handles.hpp | 3 +++
|
||||
boost/process/detail/windows/handles.hpp | 10 +++++++---
|
||||
4 files changed, 24 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/boost/process/detail/posix/executor.hpp b/boost/process/detail/posix/executor.hpp
|
||||
index ca7713c..5521720 100644
|
||||
--- a/boost/process/detail/posix/executor.hpp
|
||||
+++ b/boost/process/detail/posix/executor.hpp
|
||||
@@ -325,6 +325,7 @@ public:
|
||||
}
|
||||
void set_error(const std::error_code &ec, const std::string &msg) {set_error(ec, msg.c_str());};
|
||||
|
||||
+ int error_sink() const { return _pipe_sink; }
|
||||
};
|
||||
|
||||
template<typename Sequence>
|
||||
@@ -388,6 +389,8 @@ child executor<Sequence>::invoke(boost::mpl::false_, boost::mpl::false_)
|
||||
set_error(err, "fcntl(2) failed");//this might throw, so we need to be sure our pipe is safe.
|
||||
return child();
|
||||
}
|
||||
+ _pipe_sink = p.p[1];
|
||||
+
|
||||
_ec.clear();
|
||||
boost::fusion::for_each(seq, call_on_setup(*this));
|
||||
|
||||
@@ -411,7 +414,6 @@ child executor<Sequence>::invoke(boost::mpl::false_, boost::mpl::false_)
|
||||
}
|
||||
else if (pid == 0)
|
||||
{
|
||||
- _pipe_sink = p.p[1];
|
||||
::close(p.p[0]);
|
||||
|
||||
boost::fusion::for_each(seq, call_on_exec_setup(*this));
|
||||
diff --git a/boost/process/detail/posix/pipe_out.hpp b/boost/process/detail/posix/pipe_out.hpp
|
||||
index d54cca4..a081d78 100644
|
||||
--- a/boost/process/detail/posix/pipe_out.hpp
|
||||
+++ b/boost/process/detail/posix/pipe_out.hpp
|
||||
@@ -18,7 +18,7 @@
|
||||
namespace boost { namespace process { namespace detail { namespace posix {
|
||||
|
||||
template<int p1, int p2>
|
||||
-struct pipe_out : handler_base_ext
|
||||
+struct pipe_out : handler_base_ext, ::boost::process::detail::uses_handles
|
||||
{
|
||||
int sink;
|
||||
int source; //opposite end
|
||||
@@ -30,6 +30,14 @@ struct pipe_out : handler_base_ext
|
||||
{
|
||||
p.assign_sink(-1);
|
||||
}
|
||||
+
|
||||
+ std::array<int, 4> get_used_handles()
|
||||
+ {
|
||||
+ const auto pp1 = p1 != -1 ? p1 : p2;
|
||||
+ const auto pp2 = p2 != -1 ? p2 : p1;
|
||||
+
|
||||
+ return {sink, source, pp1, pp2};
|
||||
+ }
|
||||
|
||||
template<typename Executor>
|
||||
void on_error(Executor &, const std::error_code &) const
|
||||
@@ -66,7 +74,7 @@ void pipe_out<2,-1>::on_exec_setup(Executor &e) const
|
||||
if (::dup2(sink, STDERR_FILENO) == -1)
|
||||
e.set_error(::boost::process::detail::get_last_error(), "dup2() failed");
|
||||
|
||||
- if (sink != STDOUT_FILENO)
|
||||
+ if (sink != STDERR_FILENO)
|
||||
::close(sink);
|
||||
::close(source);
|
||||
}
|
||||
@@ -81,6 +89,7 @@ void pipe_out<1,2>::on_exec_setup(Executor &e) const
|
||||
e.set_error(::boost::process::detail::get_last_error(), "dup2() failed");
|
||||
if ((sink != STDOUT_FILENO) && (sink != STDERR_FILENO))
|
||||
::close(sink);
|
||||
+ ::close(source);
|
||||
}
|
||||
|
||||
class async_pipe;
|
||||
diff --git a/boost/process/detail/used_handles.hpp b/boost/process/detail/used_handles.hpp
|
||||
index 4d56af3..5d71dc3 100644
|
||||
--- a/boost/process/detail/used_handles.hpp
|
||||
+++ b/boost/process/detail/used_handles.hpp
|
||||
@@ -61,6 +61,9 @@ struct foreach_handle_invocator
|
||||
template<typename Executor, typename Function>
|
||||
void foreach_used_handle(Executor &exec, Function &&func)
|
||||
{
|
||||
+#if defined(BOOST_POSIX_API)
|
||||
+ func(exec.error_sink());
|
||||
+#endif
|
||||
boost::fusion::for_each(boost::fusion::filter_if<does_use_handle<boost::mpl::_>>(exec.seq),
|
||||
foreach_handle_invocator<Function>(func));
|
||||
}
|
||||
diff --git a/boost/process/detail/windows/handles.hpp b/boost/process/detail/windows/handles.hpp
|
||||
index 7a93ac2..f120ef7 100644
|
||||
--- a/boost/process/detail/windows/handles.hpp
|
||||
+++ b/boost/process/detail/windows/handles.hpp
|
||||
@@ -139,10 +139,14 @@ struct limit_handles_ : handler_base_ext
|
||||
::boost::winapi::DWORD_ flags = 0u;
|
||||
if (itr != all_handles.end())
|
||||
*itr = ::boost::winapi::INVALID_HANDLE_VALUE_;
|
||||
- else if ((::boost::winapi::GetHandleInformation(*itr, &flags) != 0)
|
||||
- &&((flags & ::boost::winapi::HANDLE_FLAG_INHERIT_) == 0)) //it is NOT inherited anyhow, so ignore too
|
||||
- *itr = ::boost::winapi::INVALID_HANDLE_VALUE_;
|
||||
});
|
||||
+ for (auto& h : all_handles) {
|
||||
+ ::boost::winapi::DWORD_ flags = 0u;
|
||||
+ if ((h != ::boost::winapi::INVALID_HANDLE_VALUE_)
|
||||
+ && (::boost::winapi::GetHandleInformation(h, &flags) != 0)
|
||||
+ && ((flags & ::boost::winapi::HANDLE_FLAG_INHERIT_) == 0)) //it is NOT inherited anyhow, so ignore too
|
||||
+ h = ::boost::winapi::INVALID_HANDLE_VALUE_;
|
||||
+ }
|
||||
|
||||
auto part_itr = std::partition(all_handles.begin(), all_handles.end(),
|
||||
[](::boost::winapi::HANDLE_ handle) {return handle != ::boost::winapi::INVALID_HANDLE_VALUE_;});
|
||||
--
|
||||
2.36.1.windows.1
|
||||
|
70
deps/Boost/Boost.cmake
vendored
|
@ -28,6 +28,9 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
|||
elseif (MSVC_VERSION LESS 1930)
|
||||
# 1920-1929 = VS 16.0 (v142 toolset)
|
||||
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 ()
|
||||
message(FATAL_ERROR "Unsupported MSVC version")
|
||||
endif ()
|
||||
|
@ -67,16 +70,6 @@ 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)
|
||||
|
@ -100,8 +93,38 @@ if (NOT _boost_variants)
|
|||
set(_boost_variants release)
|
||||
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}
|
||||
${_boost_flags}
|
||||
${_boost_linkflags}
|
||||
-j${NPROC}
|
||||
${_libs}
|
||||
--layout=versioned
|
||||
|
@ -117,9 +140,14 @@ set(_build_cmd ${_build_cmd}
|
|||
|
||||
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(
|
||||
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
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
|
||||
CONFIGURE_COMMAND "${_bootstrap_cmd}"
|
||||
|
@ -129,7 +157,26 @@ ExternalProject_Add(
|
|||
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")
|
||||
message(STATUS "Patch the boost::polygon library with a custom one.")
|
||||
# Patch the boost::polygon library with a custom one.
|
||||
ExternalProject_Add(dep_boost_polygon
|
||||
EXCLUDE_FROM_ALL ON
|
||||
|
@ -141,6 +188,7 @@ if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
|||
DEPENDS dep_Boost
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
${_cmake_args_osx_arch}
|
||||
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"
|
||||
|
|
61
deps/CMakeLists.txt
vendored
|
@ -1,12 +1,12 @@
|
|||
#
|
||||
# This CMake project downloads, configures and builds BambuStudio dependencies on Unix and Windows.
|
||||
# This CMake project downloads, configures and builds OrcaSlicer dependencies on Unix and Windows.
|
||||
#
|
||||
# When using this script, it's recommended to perform an out-of-source build using CMake.
|
||||
#
|
||||
# All the dependencies are installed in a `destdir` directory in the root of the build directory,
|
||||
# in a traditional Unix-style prefix structure. The destdir can be used directly by CMake
|
||||
# when building BambuStudio - to do this, set the CMAKE_PREFIX_PATH to ${destdir}/usr/local.
|
||||
# Warning: On UNIX/Linux, you also need to set -DSLIC3R_STATIC=1 when building BambuStudio.
|
||||
# when building OrcaSlicer - to do this, set the CMAKE_PREFIX_PATH to ${destdir}/usr/local.
|
||||
# Warning: On UNIX/Linux, you also need to set -DSLIC3R_STATIC=1 when building OrcaSlicer.
|
||||
#
|
||||
# For better clarity of console output, it's recommended to _not_ use a parallelized build
|
||||
# for the top-level command, ie. use `make -j 1` or `ninja -j 1` to force single-threaded top-level
|
||||
|
@ -20,7 +20,7 @@
|
|||
# therefore, unfortunatelly, the installation cannot be copied/moved elsewhere without re-installing wxWidgets.
|
||||
#
|
||||
|
||||
project(BambuStudio-deps)
|
||||
project(OrcaSlicer-deps)
|
||||
cmake_minimum_required(VERSION 3.2)
|
||||
|
||||
include(ExternalProject)
|
||||
|
@ -38,17 +38,40 @@ option(DEP_DEBUG "Build debug variants (only applicable on Windows)" ON)
|
|||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
|
||||
else()
|
||||
if(POLICY CMP0135) # DOWNLOAD_EXTRACT_TIMESTAMP
|
||||
cmake_policy(SET CMP0135 NEW)
|
||||
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.
|
||||
# FIXME:
|
||||
# Enabling this option is not safe. IGL will compile itself with its own version of Eigen while
|
||||
# Slic3r compiles with a different version which will cause runtime errors.
|
||||
# option(DEP_BUILD_IGL_STATIC "Build IGL as a static library. Might cause link errors and increase binary size." OFF)
|
||||
|
||||
message(STATUS "BambuStudio deps DESTDIR: ${DESTDIR}")
|
||||
message(STATUS "BambuStudio dowload dir for source packages: ${DEP_DOWNLOAD_DIR}")
|
||||
message(STATUS "BambuStudio deps debug build: ${DEP_DEBUG}")
|
||||
message(STATUS "OrcaSlicer deps DESTDIR: ${DESTDIR}")
|
||||
message(STATUS "OrcaSlicer dowload dir for source packages: ${DEP_DOWNLOAD_DIR}")
|
||||
message(STATUS "OrcaSlicer deps debug build: ${DEP_DEBUG}")
|
||||
|
||||
find_package(Git REQUIRED)
|
||||
|
||||
|
@ -77,6 +100,7 @@ function(bambustudio_add_cmake_project projectname)
|
|||
set(_build_j "/m")
|
||||
endif ()
|
||||
|
||||
if (NOT IS_CROSS_COMPILE OR NOT APPLE)
|
||||
ExternalProject_Add(
|
||||
dep_${projectname}
|
||||
EXCLUDE_FROM_ALL ON
|
||||
|
@ -92,6 +116,7 @@ function(bambustudio_add_cmake_project projectname)
|
|||
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
${_cmake_osx_arch}
|
||||
"${_configs_line}"
|
||||
${DEP_CMAKE_OPTS}
|
||||
${P_ARGS_CMAKE_ARGS}
|
||||
|
@ -99,6 +124,26 @@ function(bambustudio_add_cmake_project projectname)
|
|||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
|
||||
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)
|
||||
|
||||
|
@ -117,7 +162,7 @@ if (MSVC)
|
|||
endif ()
|
||||
elseif (APPLE)
|
||||
message("OS X SDK Path: ${CMAKE_OSX_SYSROOT}")
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||
if (CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||
set(DEP_OSX_TARGET "${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||
message("OS X Deployment Target: ${DEP_OSX_TARGET}")
|
||||
|
|
19
deps/GLEW/glew/CMakeLists.txt
vendored
|
@ -3,12 +3,17 @@ project(GLEW)
|
|||
|
||||
find_package(OpenGL REQUIRED)
|
||||
|
||||
add_library(glew src/glew.c)
|
||||
target_include_directories(glew PRIVATE include/)
|
||||
target_link_libraries(glew PUBLIC OpenGL::GL)
|
||||
if(OpenGL_EGL_FOUND)
|
||||
message(STATUS "building GLEW for EGL (hope that wxWidgets agrees, otherwise you won't have any output!)")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGLEW_EGL")
|
||||
endif()
|
||||
|
||||
add_library(GLEW src/glew.c)
|
||||
target_include_directories(GLEW PRIVATE include/)
|
||||
target_link_libraries(GLEW PUBLIC OpenGL::GL)
|
||||
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(glew PUBLIC GLEW_STATIC)
|
||||
target_compile_definitions(GLEW PUBLIC GLEW_STATIC)
|
||||
endif ()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
@ -18,14 +23,12 @@ install(
|
|||
${PROJECT_SOURCE_DIR}/include/GL/glew.h
|
||||
${PROJECT_SOURCE_DIR}/include/GL/wglew.h
|
||||
${PROJECT_SOURCE_DIR}/include/GL/glxew.h
|
||||
${PROJECT_SOURCE_DIR}/include/GL/eglew.h
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_INCLUDEDIR}/GL
|
||||
)
|
||||
|
||||
add_library(GLEW INTERFACE)
|
||||
target_link_libraries(GLEW INTERFACE glew)
|
||||
|
||||
install(TARGETS glew GLEW
|
||||
install(TARGETS GLEW GLEW
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
|
|
138
deps/GLEW/glew/README.md
vendored
|
@ -1,53 +1,82 @@
|
|||
THIS IS NOT THE COMPLETE GLEW DISTRIBUTION. ONLY FILES NEEDED FOR COMPILING GLEW INTO SLIC3R WERE PUT INTO THE SLIC3R SOURCE DISTRIBUTION.
|
||||
|
||||
A CMAKE CONFIG EXPORT IS ADDED TO ENABLE FIND PACKAGE TO FIND DEBUG BUILD ON MSVC
|
||||
|
||||
# GLEW - The OpenGL Extension Wrangler Library
|
||||
|
||||
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file. GLEW has been tested on a variety of operating systems, including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.
|
||||
|
||||

|
||||
|
||||
http://glew.sourceforge.net/
|
||||
|
||||
https://github.com.cnpmjs.org/nigels-com/glew
|
||||
https://github.com/nigels-com/glew
|
||||
|
||||
[](https://travis-ci.org/nigels-com/glew)
|
||||
[](https://gitter.im/nigels-com/glew?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||
[](https://sourceforge.net/projects/glew/files/latest/download)
|
||||
|
||||
## Table of Contents
|
||||
|
||||
* [Downloads](#downloads)
|
||||
* [Recent snapshots](#recent-snapshots)
|
||||
* [Build](#build)
|
||||
* [Linux and Mac](#linux-and-mac)
|
||||
* [Using GNU Make](#using-gnu-make)
|
||||
* [Install build tools](#install-build-tools)
|
||||
* [Build](#build-1)
|
||||
* [Linux EGL](#linux-egl)
|
||||
* [Linux OSMesa](#linux-osmesa)
|
||||
* [Linux mingw-w64](#linux-mingw-w64)
|
||||
* [Using cmake](#using-cmake)
|
||||
* [Install build tools](#install-build-tools-1)
|
||||
* [Build](#build-2)
|
||||
* [Windows](#windows)
|
||||
* [Visual Studio](#visual-studio)
|
||||
* [MSYS/Mingw](#msysmingw)
|
||||
* [MSYS2/Mingw-w64](#msys2mingw-w64)
|
||||
* [glewinfo](#glewinfo)
|
||||
* [Code Generation](#code-generation)
|
||||
* [Authors](#authors)
|
||||
* [Contributions](#contributions)
|
||||
* [Copyright and Licensing](#copyright-and-licensing)
|
||||
|
||||
## Downloads
|
||||
|
||||
Current release is [2.0.0](https://sourceforge.net/projects/glew/files/glew/2.0.0/).
|
||||
Current release is [2.1.0](https://sourceforge.net/projects/glew/files/glew/2.1.0/).
|
||||
[(Change Log)](http://glew.sourceforge.net/log.html)
|
||||
|
||||
Sources available as
|
||||
[ZIP](https://sourceforge.net/projects/glew/files/glew/2.0.0/glew-2.0.0.zip/download) or
|
||||
[TGZ](https://sourceforge.net/projects/glew/files/glew/2.0.0/glew-2.0.0.tgz/download).
|
||||
Sources available as
|
||||
[ZIP](https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0.zip/download) or
|
||||
[TGZ](https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0.tgz/download).
|
||||
|
||||
Windows binaries for [32-bit and 64-bit](https://sourceforge.net/projects/glew/files/glew/2.0.0/glew-2.0.0-win32.zip/download).
|
||||
Windows binaries for [32-bit and 64-bit](https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0-win32.zip/download).
|
||||
|
||||
### Recent snapshots
|
||||
|
||||
Snapshots may contain new features, bug-fixes or new OpenGL extensions ahead of tested, official releases.
|
||||
|
||||
[glew-20160708.tgz](http://sourceforge.net/projects/glew/files/glew/snapshots/glew-20160708.tgz/download)
|
||||
*GLEW 2.0.0 RC: Core context, EGL support, no MX*
|
||||
[glew-20200115.tgz](https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20200115.tgz/download) *GLEW 2.2.0 RC3: fixes*
|
||||
|
||||
[glew-20160402.tgz](http://sourceforge.net/projects/glew/files/glew/snapshots/glew-20160402.tgz/download)
|
||||
*GLEW 2.0.0 RC: Core context, EGL support, no MX*
|
||||
[glew-20190928.tgz](https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20190928.tgz/download) *GLEW 2.2.0 RC2: New extensions, bug fixes*
|
||||
|
||||
## Build
|
||||
|
||||
From a downloaded tarball or zip archive:
|
||||
It is highly recommended to build from a tgz or zip release snapshot.
|
||||
The code generation workflow is a complex brew of gnu make, perl and python, that works best on Linux or Mac.
|
||||
The code generation is known to work on Windows using [MSYS2](https://www.msys2.org/).
|
||||
For most end-users of GLEW the official releases are the best choice, with first class support.
|
||||
|
||||
### Linux and Mac
|
||||
|
||||
#### Using GNU Make
|
||||
|
||||
GNU make is the primary build system for GLEW, historically.
|
||||
It includes targets for building the sources and headers, for maintenance purposes.
|
||||
|
||||
##### Install build tools
|
||||
|
||||
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev libosmesa-dev git`
|
||||
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev`
|
||||
|
||||
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel git`
|
||||
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel`
|
||||
|
||||
FreeBSD: `# pkg install xorg lang/gcc git cmake gmake bash python perl5`
|
||||
|
||||
##### Build
|
||||
|
||||
|
@ -55,24 +84,46 @@ RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel
|
|||
$ sudo make install
|
||||
$ make clean
|
||||
|
||||
Targets: `all, glew.lib, glew.bin, clean, install, uninstall`
|
||||
Targets: `all, glew.lib (sub-targets: glew.lib.shared, glew.lib.static), glew.bin, clean, install, uninstall`
|
||||
|
||||
Variables: `SYSTEM=linux-clang, GLEW_DEST=/usr/local, STRIP=`
|
||||
|
||||
_Note: you may need to call `make` in the **auto** folder first_
|
||||
|
||||
##### Linux EGL
|
||||
|
||||
$ sudo apt install libegl1-mesa-dev
|
||||
$ make SYSTEM=linux-egl
|
||||
|
||||
##### Linux OSMesa
|
||||
|
||||
$ sudo apt install libosmesa-dev
|
||||
$ make SYSTEM=linux-osmesa
|
||||
|
||||
##### Linux mingw-w64
|
||||
|
||||
$ sudo apt install mingw-w64
|
||||
$ make SYSTEM=linux-mingw32
|
||||
$ make SYSTEM=linux-mingw64
|
||||
|
||||
#### Using cmake
|
||||
|
||||
The cmake build is mostly contributer maintained.
|
||||
Due to the multitude of use cases this is maintained on a _best effort_ basis.
|
||||
Pull requests are welcome.
|
||||
|
||||
*CMake 2.8.12 or higher is required.*
|
||||
|
||||
##### Install build tools
|
||||
|
||||
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libXmu-dev libXi-dev libgl-dev git cmake`
|
||||
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev cmake git`
|
||||
|
||||
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel git cmake`
|
||||
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel cmake git`
|
||||
|
||||
##### Build
|
||||
|
||||
$ cd build
|
||||
$ cmake ./cmake
|
||||
$ cmake ./cmake
|
||||
$ make -j4
|
||||
|
||||
| Target | Description |
|
||||
|
@ -96,9 +147,9 @@ RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel g
|
|||
|
||||
#### Visual Studio
|
||||
|
||||
Use the provided Visual Studio project file in build/vc12/
|
||||
Use the provided Visual Studio project file in build/vc15/
|
||||
|
||||
Projects for vc6 and vc10 are also provided
|
||||
Projects for vc6, vc10, vc12 and vc14 are also provided
|
||||
|
||||
#### MSYS/Mingw
|
||||
|
||||
|
@ -118,7 +169,7 @@ Available from [Msys2](http://msys2.github.io/) and/or [Mingw-w64](http://mingw-
|
|||
|
||||
Requirements: bash, make, gcc
|
||||
|
||||
$ pacman -S gcc make mingw-w64-i686-gcc mingw-w64-x86_64-gcc
|
||||
$ pacman -S gcc make mingw-w64-i686-gcc mingw-w64-x86_64-gcc
|
||||
$ make
|
||||
$ make install
|
||||
$ make install.all
|
||||
|
@ -128,8 +179,8 @@ Alternative toolchain: `SYSTEM=msys, SYSTEM=msys-win32, SYSTEM=msys-win64`
|
|||
## glewinfo
|
||||
|
||||
`glewinfo` is a command-line tool useful for inspecting the capabilities of an
|
||||
OpenGL implementation and GLEW support for that. Please include the output of
|
||||
`glewinfo` with bug reports, as appropriate.
|
||||
OpenGL implementation and GLEW support for that. Please include `glewinfo.txt`
|
||||
with bug reports, as appropriate.
|
||||
|
||||
---------------------------
|
||||
GLEW Extension Info
|
||||
|
@ -149,12 +200,12 @@ OpenGL implementation and GLEW support for that. Please include the output of
|
|||
glDrawRangeElements: OK
|
||||
glTexImage3D: OK
|
||||
glTexSubImage3D: OK
|
||||
|
||||
|
||||
...
|
||||
|
||||
## Code Generation
|
||||
|
||||
A Unix or Mac environment is neded for building GLEW from scratch to
|
||||
A Unix or Mac environment is needed for building GLEW from scratch to
|
||||
include new extensions, or customize the code generation. The extension
|
||||
data is regenerated from the top level source directory with:
|
||||
|
||||
|
@ -165,32 +216,43 @@ download a pre-generated (unsupported) snapshot:
|
|||
|
||||
https://sourceforge.net/projects/glew/files/glew/snapshots/
|
||||
|
||||
Travis-built snapshots are also available:
|
||||
|
||||
https://glew.s3.amazonaws.com/index.html
|
||||
|
||||
## Authors
|
||||
|
||||
GLEW is currently maintained by [Nigel Stewart](https://github.com.cnpmjs.org/nigels-com)
|
||||
GLEW is currently maintained by [Nigel Stewart](https://github.com/nigels-com)
|
||||
with bug fixes, new OpenGL extension support and new releases.
|
||||
|
||||
GLEW was developed by [Milan Ikits](http://www.cs.utah.edu/~ikits/)
|
||||
and [Marcelo Magallon](http://wwwvis.informatik.uni-stuttgart.de/~magallon/).
|
||||
Aaron Lefohn, Joe Kniss, and Chris Wyman were the first users and also
|
||||
assisted with the design and debugging process.
|
||||
assisted with the design and debugging process.
|
||||
|
||||
The acronym GLEW originates from Aaron Lefohn.
|
||||
Pasi Kärkkäinen identified and fixed several problems with
|
||||
GLX and SDL. Nate Robins created the `wglinfo` utility, to
|
||||
which modifications were made by Michael Wimmer.
|
||||
which modifications were made by Michael Wimmer.
|
||||
|
||||
## Contributions
|
||||
|
||||
GLEW welcomes community contributions. Typically these are co-ordinated
|
||||
via [Issues](https://github.com/nigels-com/glew/issues) or
|
||||
[Pull Requests](https://github.com/nigels-com/glew/pulls) in the
|
||||
GitHub web interface.
|
||||
|
||||
Be sure to mention platform and compiler toolchain details when filing
|
||||
a bug report. The output of `glewinfo` can be quite useful for discussion
|
||||
also.
|
||||
|
||||
Generally GLEW is usually released once a year, around the time of the Siggraph
|
||||
computer graphics conference. If you're not using the current release
|
||||
version of GLEW, be sure to check if the issue or bug is fixed there.
|
||||
|
||||
## Copyright and Licensing
|
||||
|
||||
GLEW is originally derived from the EXTGL project by Lev Povalahev.
|
||||
The source code is licensed under the
|
||||
[Modified BSD License](http://glew.sourceforge.net/glew.txt), the
|
||||
The source code is licensed under the
|
||||
[Modified BSD License](http://glew.sourceforge.net/glew.txt), the
|
||||
[Mesa 3-D License](http://glew.sourceforge.net/mesa.txt) (MIT) and the
|
||||
[Khronos License](http://glew.sourceforge.net/khronos.txt) (MIT).
|
||||
|
||||
The automatic code generation scripts are released under the
|
||||
The automatic code generation scripts are released under the
|
||||
[GNU GPL](http://glew.sourceforge.net/gpl.txt).
|
||||
|
|
2
deps/GLEW/glew/VERSION
vendored
|
@ -1 +1 @@
|
|||
1.13.0
|
||||
2.2.0
|
||||
|
|
3051
deps/GLEW/glew/include/GL/eglew.h
vendored
Normal file
6856
deps/GLEW/glew/include/GL/glew.h
vendored
203
deps/GLEW/glew/include/GL/glxew.h
vendored
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
** The OpenGL Extension Wrangler Library
|
||||
** Copyright (C) 2008-2015, Nigel Stewart <nigels[]users sourceforge net>
|
||||
** Copyright (C) 2008-2019, Nigel Stewart <nigels[]users sourceforge net>
|
||||
** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||
** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||
** Copyright (C) 2002, Lev Povalahev
|
||||
|
@ -98,7 +98,12 @@
|
|||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xmd.h>
|
||||
#include <GL/glew.h>
|
||||
|
||||
#ifndef GLEW_INCLUDE
|
||||
# include <GL/glew.h>
|
||||
#else
|
||||
# include GLEW_INCLUDE
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -392,7 +397,7 @@ typedef Bool ( * PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (GLXContext ctx);
|
|||
#ifndef GLX_ARB_context_flush_control
|
||||
#define GLX_ARB_context_flush_control 1
|
||||
|
||||
#define GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0x0000
|
||||
#define GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
|
||||
#define GLX_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
|
||||
#define GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
|
||||
|
||||
|
@ -405,13 +410,13 @@ typedef Bool ( * PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (GLXContext ctx);
|
|||
#ifndef GLX_ARB_create_context
|
||||
#define GLX_ARB_create_context 1
|
||||
|
||||
#define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001
|
||||
#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
|
||||
#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
|
||||
#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
|
||||
#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
||||
#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
|
||||
#define GLX_CONTEXT_FLAGS_ARB 0x2094
|
||||
|
||||
typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
|
||||
typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int* attrib_list);
|
||||
|
||||
#define glXCreateContextAttribsARB GLXEW_GET_FUN(__glewXCreateContextAttribsARB)
|
||||
|
||||
|
@ -419,6 +424,17 @@ typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBCo
|
|||
|
||||
#endif /* GLX_ARB_create_context */
|
||||
|
||||
/* -------------------- GLX_ARB_create_context_no_error -------------------- */
|
||||
|
||||
#ifndef GLX_ARB_create_context_no_error
|
||||
#define GLX_ARB_create_context_no_error 1
|
||||
|
||||
#define GLX_CONTEXT_OPENGL_NO_ERROR_ARB 0x31B3
|
||||
|
||||
#define GLXEW_ARB_create_context_no_error GLXEW_GET_VAR(__GLXEW_ARB_create_context_no_error)
|
||||
|
||||
#endif /* GLX_ARB_create_context_no_error */
|
||||
|
||||
/* --------------------- GLX_ARB_create_context_profile -------------------- */
|
||||
|
||||
#ifndef GLX_ARB_create_context_profile
|
||||
|
@ -600,6 +616,20 @@ typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, i
|
|||
|
||||
#endif /* GLX_EXT_buffer_age */
|
||||
|
||||
/* ------------------------ GLX_EXT_context_priority ----------------------- */
|
||||
|
||||
#ifndef GLX_EXT_context_priority
|
||||
#define GLX_EXT_context_priority 1
|
||||
|
||||
#define GLX_CONTEXT_PRIORITY_LEVEL_EXT 0x3100
|
||||
#define GLX_CONTEXT_PRIORITY_HIGH_EXT 0x3101
|
||||
#define GLX_CONTEXT_PRIORITY_MEDIUM_EXT 0x3102
|
||||
#define GLX_CONTEXT_PRIORITY_LOW_EXT 0x3103
|
||||
|
||||
#define GLXEW_EXT_context_priority GLXEW_GET_VAR(__GLXEW_EXT_context_priority)
|
||||
|
||||
#endif /* GLX_EXT_context_priority */
|
||||
|
||||
/* ------------------- GLX_EXT_create_context_es2_profile ------------------ */
|
||||
|
||||
#ifndef GLX_EXT_create_context_es2_profile
|
||||
|
@ -658,11 +688,13 @@ typedef XID GLXContextID;
|
|||
|
||||
typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context);
|
||||
typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
|
||||
typedef Display* ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void);
|
||||
typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID);
|
||||
typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute,int *value);
|
||||
typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute, int* value);
|
||||
|
||||
#define glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT)
|
||||
#define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT)
|
||||
#define glXGetCurrentDisplayEXT GLXEW_GET_FUN(__glewXGetCurrentDisplayEXT)
|
||||
#define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT)
|
||||
#define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT)
|
||||
|
||||
|
@ -670,6 +702,26 @@ typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context
|
|||
|
||||
#endif /* GLX_EXT_import_context */
|
||||
|
||||
/* ---------------------------- GLX_EXT_libglvnd --------------------------- */
|
||||
|
||||
#ifndef GLX_EXT_libglvnd
|
||||
#define GLX_EXT_libglvnd 1
|
||||
|
||||
#define GLX_VENDOR_NAMES_EXT 0x20F6
|
||||
|
||||
#define GLXEW_EXT_libglvnd GLXEW_GET_VAR(__GLXEW_EXT_libglvnd)
|
||||
|
||||
#endif /* GLX_EXT_libglvnd */
|
||||
|
||||
/* ----------------------- GLX_EXT_no_config_context ----------------------- */
|
||||
|
||||
#ifndef GLX_EXT_no_config_context
|
||||
#define GLX_EXT_no_config_context 1
|
||||
|
||||
#define GLXEW_EXT_no_config_context GLXEW_GET_VAR(__GLXEW_EXT_no_config_context)
|
||||
|
||||
#endif /* GLX_EXT_no_config_context */
|
||||
|
||||
/* -------------------------- GLX_EXT_scene_marker ------------------------- */
|
||||
|
||||
#ifndef GLX_EXT_scene_marker
|
||||
|
@ -741,8 +793,10 @@ typedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display* dpy, GLXDrawable drawable,
|
|||
#define GLX_TEXTURE_1D_EXT 0x20DB
|
||||
#define GLX_TEXTURE_2D_EXT 0x20DC
|
||||
#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
|
||||
#define GLX_FRONT_EXT 0x20DE
|
||||
#define GLX_FRONT_LEFT_EXT 0x20DE
|
||||
#define GLX_FRONT_RIGHT_EXT 0x20DF
|
||||
#define GLX_BACK_EXT 0x20E0
|
||||
#define GLX_BACK_LEFT_EXT 0x20E0
|
||||
#define GLX_BACK_RIGHT_EXT 0x20E1
|
||||
#define GLX_AUX0_EXT 0x20E2
|
||||
|
@ -756,8 +810,8 @@ typedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display* dpy, GLXDrawable drawable,
|
|||
#define GLX_AUX8_EXT 0x20EA
|
||||
#define GLX_AUX9_EXT 0x20EB
|
||||
|
||||
typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list);
|
||||
typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer);
|
||||
typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* dpy, GLXDrawable drawable, int buffer, const int* attrib_list);
|
||||
typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* dpy, GLXDrawable drawable, int buffer);
|
||||
|
||||
#define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT)
|
||||
#define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT)
|
||||
|
@ -850,7 +904,7 @@ typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawabl
|
|||
#ifndef GLX_MESA_pixmap_colormap
|
||||
#define GLX_MESA_pixmap_colormap 1
|
||||
|
||||
typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
|
||||
typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo* visual, Pixmap pixmap, Colormap cmap);
|
||||
|
||||
#define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA)
|
||||
|
||||
|
@ -874,12 +928,11 @@ typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo
|
|||
#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
|
||||
#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
|
||||
#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
|
||||
#define GLX_RENDERER_ID_MESA 0x818E
|
||||
|
||||
typedef Bool ( * PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int* value);
|
||||
typedef const char* ( * PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute);
|
||||
typedef Bool ( * PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display* dpy, int screen, int renderer, int attribute, unsigned int *value);
|
||||
typedef const char* ( * PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute);
|
||||
typedef Bool ( * PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display* dpy, int screen, int renderer, int attribute, unsigned int* value);
|
||||
typedef const char* ( * PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display* dpy, int screen, int renderer, int attribute);
|
||||
|
||||
#define glXQueryCurrentRendererIntegerMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererIntegerMESA)
|
||||
#define glXQueryCurrentRendererStringMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererStringMESA)
|
||||
|
@ -895,7 +948,7 @@ typedef const char* ( * PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int sc
|
|||
#ifndef GLX_MESA_release_buffers
|
||||
#define GLX_MESA_release_buffers 1
|
||||
|
||||
typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d);
|
||||
typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable drawable);
|
||||
|
||||
#define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA)
|
||||
|
||||
|
@ -986,6 +1039,21 @@ typedef Bool ( * PFNGLXDELAYBEFORESWAPNVPROC) (Display* dpy, GLXDrawable drawabl
|
|||
|
||||
#endif /* GLX_NV_float_buffer */
|
||||
|
||||
/* ------------------------ GLX_NV_multigpu_context ------------------------ */
|
||||
|
||||
#ifndef GLX_NV_multigpu_context
|
||||
#define GLX_NV_multigpu_context 1
|
||||
|
||||
#define GLX_CONTEXT_MULTIGPU_ATTRIB_NV 0x20AA
|
||||
#define GLX_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV 0x20AB
|
||||
#define GLX_CONTEXT_MULTIGPU_ATTRIB_AFR_NV 0x20AC
|
||||
#define GLX_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV 0x20AD
|
||||
#define GLX_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV 0x20AE
|
||||
|
||||
#define GLXEW_NV_multigpu_context GLXEW_GET_VAR(__GLXEW_NV_multigpu_context)
|
||||
|
||||
#endif /* GLX_NV_multigpu_context */
|
||||
|
||||
/* ---------------------- GLX_NV_multisample_coverage ---------------------- */
|
||||
|
||||
#ifndef GLX_NV_multisample_coverage
|
||||
|
@ -1005,8 +1073,8 @@ typedef Bool ( * PFNGLXDELAYBEFORESWAPNVPROC) (Display* dpy, GLXDrawable drawabl
|
|||
|
||||
#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
|
||||
|
||||
typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display* dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
|
||||
typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
|
||||
typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display* dpy, unsigned int video_slot, unsigned int video_device, const int* attrib_list);
|
||||
typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display* dpy, int screen, int* nelements);
|
||||
|
||||
#define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV)
|
||||
#define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV)
|
||||
|
@ -1015,6 +1083,17 @@ typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int
|
|||
|
||||
#endif /* GLX_NV_present_video */
|
||||
|
||||
/* ------------------ GLX_NV_robustness_video_memory_purge ----------------- */
|
||||
|
||||
#ifndef GLX_NV_robustness_video_memory_purge
|
||||
#define GLX_NV_robustness_video_memory_purge 1
|
||||
|
||||
#define GLX_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x20F7
|
||||
|
||||
#define GLXEW_NV_robustness_video_memory_purge GLXEW_GET_VAR(__GLXEW_NV_robustness_video_memory_purge)
|
||||
|
||||
#endif /* GLX_NV_robustness_video_memory_purge */
|
||||
|
||||
/* --------------------------- GLX_NV_swap_group --------------------------- */
|
||||
|
||||
#ifndef GLX_NV_swap_group
|
||||
|
@ -1022,9 +1101,9 @@ typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int
|
|||
|
||||
typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier);
|
||||
typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group);
|
||||
typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint *count);
|
||||
typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
|
||||
typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
|
||||
typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint* count);
|
||||
typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint* maxGroups, GLuint* maxBarriers);
|
||||
typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint* group, GLuint* barrier);
|
||||
typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen);
|
||||
|
||||
#define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV)
|
||||
|
@ -1065,9 +1144,9 @@ typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer);
|
|||
typedef XID GLXVideoCaptureDeviceNV;
|
||||
|
||||
typedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display* dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
|
||||
typedef GLXVideoCaptureDeviceNV * ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display* dpy, int screen, int *nelements);
|
||||
typedef GLXVideoCaptureDeviceNV* ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display* dpy, int screen, int* nelements);
|
||||
typedef void ( * PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device);
|
||||
typedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
|
||||
typedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device, int attribute, int* value);
|
||||
typedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device);
|
||||
|
||||
#define glXBindVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXBindVideoCaptureDeviceNV)
|
||||
|
@ -1097,11 +1176,11 @@ typedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoC
|
|||
#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
|
||||
|
||||
typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
|
||||
typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
|
||||
typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
|
||||
typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV* pVideoDevice);
|
||||
typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long* pulCounterOutputVideo);
|
||||
typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice);
|
||||
typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display* dpy, GLXPbuffer pbuf);
|
||||
typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
|
||||
typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf, int iBufferType, unsigned long* pulCounterPbuffer, GLboolean bBlock);
|
||||
|
||||
#define glXBindVideoImageNV GLXEW_GET_FUN(__glewXBindVideoImageNV)
|
||||
#define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV)
|
||||
|
@ -1213,12 +1292,12 @@ typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, i
|
|||
typedef XID GLXFBConfigIDSGIX;
|
||||
typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
|
||||
|
||||
typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
|
||||
typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
|
||||
typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap);
|
||||
typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value);
|
||||
typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis);
|
||||
typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config);
|
||||
typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display* dpy, int screen, int* attrib_list, int* nelements);
|
||||
typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
|
||||
typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, Pixmap pixmap);
|
||||
typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int* value);
|
||||
typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo* vis);
|
||||
typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display* dpy, GLXFBConfigSGIX config);
|
||||
|
||||
#define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX)
|
||||
#define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX)
|
||||
|
@ -1332,10 +1411,10 @@ typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Disp
|
|||
typedef XID GLXPbufferSGIX;
|
||||
typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX;
|
||||
|
||||
typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);
|
||||
typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf);
|
||||
typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask);
|
||||
typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);
|
||||
typedef GLXPbufferSGIX ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int* attrib_list);
|
||||
typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbufferSGIX pbuf);
|
||||
typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long* mask);
|
||||
typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int* value);
|
||||
typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask);
|
||||
|
||||
#define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX)
|
||||
|
@ -1353,8 +1432,8 @@ typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable,
|
|||
#ifndef GLX_SGIX_swap_barrier
|
||||
#define GLX_SGIX_swap_barrier 1
|
||||
|
||||
typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
|
||||
typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
|
||||
typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display* dpy, GLXDrawable drawable, int barrier);
|
||||
typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display* dpy, int screen, int* max);
|
||||
|
||||
#define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX)
|
||||
#define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX)
|
||||
|
@ -1368,7 +1447,7 @@ typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen,
|
|||
#ifndef GLX_SGIX_swap_group
|
||||
#define GLX_SGIX_swap_group 1
|
||||
|
||||
typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
|
||||
typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display* dpy, GLXDrawable drawable, GLXDrawable member);
|
||||
|
||||
#define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX)
|
||||
|
||||
|
@ -1387,8 +1466,8 @@ typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawabl
|
|||
typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window);
|
||||
typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h);
|
||||
typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype);
|
||||
typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h);
|
||||
typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
|
||||
typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int* x, int* y, int* w, int* h);
|
||||
typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int* dx, int* dy, int* dw, int* dh);
|
||||
|
||||
#define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX)
|
||||
#define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX)
|
||||
|
@ -1472,7 +1551,7 @@ typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigne
|
|||
#ifndef GLX_SUN_get_transparent_index
|
||||
#define GLX_SUN_get_transparent_index 1
|
||||
|
||||
typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);
|
||||
typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long* pTransparentIndex);
|
||||
|
||||
#define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN)
|
||||
|
||||
|
@ -1500,13 +1579,8 @@ typedef int ( * PFNGLXVIDEORESIZESUNPROC) (Display* display, GLXDrawable window,
|
|||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef GLEW_MX
|
||||
#define GLXEW_FUN_EXPORT GLEW_FUN_EXPORT
|
||||
#define GLXEW_VAR_EXPORT
|
||||
#else
|
||||
#define GLXEW_FUN_EXPORT GLEW_FUN_EXPORT
|
||||
#define GLXEW_VAR_EXPORT GLEW_VAR_EXPORT
|
||||
#endif /* GLEW_MX */
|
||||
|
||||
GLXEW_FUN_EXPORT PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay;
|
||||
|
||||
|
@ -1546,6 +1620,7 @@ GLXEW_FUN_EXPORT PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI;
|
|||
|
||||
GLXEW_FUN_EXPORT PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT;
|
||||
GLXEW_FUN_EXPORT PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT;
|
||||
GLXEW_FUN_EXPORT PFNGLXGETCURRENTDISPLAYEXTPROC __glewXGetCurrentDisplayEXT;
|
||||
GLXEW_FUN_EXPORT PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
|
||||
GLXEW_FUN_EXPORT PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
|
||||
|
||||
|
@ -1658,12 +1733,6 @@ GLXEW_FUN_EXPORT PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN;
|
|||
|
||||
GLXEW_FUN_EXPORT PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN;
|
||||
GLXEW_FUN_EXPORT PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN;
|
||||
|
||||
#if defined(GLEW_MX)
|
||||
struct GLXEWContextStruct
|
||||
{
|
||||
#endif /* GLEW_MX */
|
||||
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_0;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_1;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2;
|
||||
|
@ -1673,6 +1742,7 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_3DFX_multisample;
|
|||
GLXEW_VAR_EXPORT GLboolean __GLXEW_AMD_gpu_association;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_context_flush_control;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_no_error;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_profile;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_robustness;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
|
||||
|
@ -1685,11 +1755,14 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_vertex_buffer_object;
|
|||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ATI_render_texture;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_buffer_age;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_context_priority;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_create_context_es2_profile;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_create_context_es_profile;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_import_context;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_libglvnd;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_no_config_context;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_scene_marker;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_stereo_tree;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_swap_control;
|
||||
|
@ -1709,8 +1782,10 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_buffer;
|
|||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_image;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_delay_before_swap;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_float_buffer;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_multigpu_context;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_multisample_coverage;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_present_video;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_robustness_video_memory_purge;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_swap_group;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_video_capture;
|
||||
|
@ -1734,34 +1809,18 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_swap_control;
|
|||
GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_video_sync;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_SUN_get_transparent_index;
|
||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_SUN_video_resize;
|
||||
|
||||
#ifdef GLEW_MX
|
||||
}; /* GLXEWContextStruct */
|
||||
#endif /* GLEW_MX */
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
#ifdef GLEW_MX
|
||||
|
||||
typedef struct GLXEWContextStruct GLXEWContext;
|
||||
GLEWAPI GLenum GLEWAPIENTRY glxewContextInit (GLXEWContext *ctx);
|
||||
GLEWAPI GLboolean GLEWAPIENTRY glxewContextIsSupported (const GLXEWContext *ctx, const char *name);
|
||||
|
||||
#define glxewInit() glxewContextInit(glxewGetContext())
|
||||
#define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x)
|
||||
|
||||
#define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x))
|
||||
#define GLXEW_GET_FUN(x) x
|
||||
|
||||
#else /* GLEW_MX */
|
||||
|
||||
GLEWAPI GLenum GLEWAPIENTRY glxewInit ();
|
||||
GLEWAPI GLboolean GLEWAPIENTRY glxewIsSupported (const char *name);
|
||||
|
||||
#ifndef GLXEW_GET_VAR
|
||||
#define GLXEW_GET_VAR(x) (*(const GLboolean*)&x)
|
||||
#define GLXEW_GET_FUN(x) x
|
||||
#endif
|
||||
|
||||
#endif /* GLEW_MX */
|
||||
#ifndef GLXEW_GET_FUN
|
||||
#define GLXEW_GET_FUN(x) x
|
||||
#endif
|
||||
|
||||
GLEWAPI GLboolean GLEWAPIENTRY glxewGetExtension (const char *name);
|
||||
|
||||
|
|
152
deps/GLEW/glew/include/GL/wglew.h
vendored
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
** The OpenGL Extension Wrangler Library
|
||||
** Copyright (C) 2008-2015, Nigel Stewart <nigels[]users sourceforge net>
|
||||
** Copyright (C) 2008-2019, Nigel Stewart <nigels[]users sourceforge net>
|
||||
** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||
** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||
** Copyright (C) 2002, Lev Povalahev
|
||||
|
@ -67,9 +67,6 @@
|
|||
# ifndef WIN32_LEAN_AND_MEAN
|
||||
# define WIN32_LEAN_AND_MEAN 1
|
||||
# endif
|
||||
# ifdef NOGDI
|
||||
# undef NOGDI
|
||||
# endif
|
||||
#include <windows.h>
|
||||
# undef WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
@ -191,7 +188,7 @@ typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, in
|
|||
#ifndef WGL_ARB_context_flush_control
|
||||
#define WGL_ARB_context_flush_control 1
|
||||
|
||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0x0000
|
||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
|
||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
|
||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
|
||||
|
||||
|
@ -204,14 +201,13 @@ typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, in
|
|||
#ifndef WGL_ARB_create_context
|
||||
#define WGL_ARB_create_context 1
|
||||
|
||||
#define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001
|
||||
#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
|
||||
#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001
|
||||
#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
|
||||
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
||||
#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
|
||||
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
|
||||
#define WGL_CONTEXT_FLAGS_ARB 0x2094
|
||||
#define ERROR_INVALID_VERSION_ARB 0x2095
|
||||
#define ERROR_INVALID_PROFILE_ARB 0x2096
|
||||
|
||||
typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList);
|
||||
|
||||
|
@ -221,6 +217,17 @@ typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShar
|
|||
|
||||
#endif /* WGL_ARB_create_context */
|
||||
|
||||
/* -------------------- WGL_ARB_create_context_no_error -------------------- */
|
||||
|
||||
#ifndef WGL_ARB_create_context_no_error
|
||||
#define WGL_ARB_create_context_no_error 1
|
||||
|
||||
#define WGL_CONTEXT_OPENGL_NO_ERROR_ARB 0x31B3
|
||||
|
||||
#define WGLEW_ARB_create_context_no_error WGLEW_GET_VAR(__WGLEW_ARB_create_context_no_error)
|
||||
|
||||
#endif /* WGL_ARB_create_context_no_error */
|
||||
|
||||
/* --------------------- WGL_ARB_create_context_profile -------------------- */
|
||||
|
||||
#ifndef WGL_ARB_create_context_profile
|
||||
|
@ -228,6 +235,7 @@ typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShar
|
|||
|
||||
#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
|
||||
#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
|
||||
#define ERROR_INVALID_PROFILE_ARB 0x2096
|
||||
#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
|
||||
|
||||
#define WGLEW_ARB_create_context_profile WGLEW_GET_VAR(__WGLEW_ARB_create_context_profile)
|
||||
|
@ -280,7 +288,7 @@ typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
|
|||
#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
|
||||
#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
|
||||
|
||||
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID);
|
||||
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
|
||||
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||
|
||||
#define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB)
|
||||
|
@ -389,9 +397,9 @@ typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC
|
|||
#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
|
||||
#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
|
||||
|
||||
typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT *pfValues);
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int *piValues);
|
||||
typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int* piAttribIList, const FLOAT* pfAttribFList, UINT nMaxFormats, int* piFormats, UINT* nNumFormats);
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT* pfValues);
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int* piValues);
|
||||
|
||||
#define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB)
|
||||
#define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB)
|
||||
|
@ -509,6 +517,19 @@ typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, con
|
|||
|
||||
#endif /* WGL_ATI_render_texture_rectangle */
|
||||
|
||||
/* --------------------------- WGL_EXT_colorspace -------------------------- */
|
||||
|
||||
#ifndef WGL_EXT_colorspace
|
||||
#define WGL_EXT_colorspace 1
|
||||
|
||||
#define WGL_COLORSPACE_SRGB_EXT 0x3089
|
||||
#define WGL_COLORSPACE_LINEAR_EXT 0x308A
|
||||
#define WGL_COLORSPACE_EXT 0x309D
|
||||
|
||||
#define WGLEW_EXT_colorspace WGLEW_GET_VAR(__WGLEW_EXT_colorspace)
|
||||
|
||||
#endif /* WGL_EXT_colorspace */
|
||||
|
||||
/* ------------------- WGL_EXT_create_context_es2_profile ------------------ */
|
||||
|
||||
#ifndef WGL_EXT_create_context_es2_profile
|
||||
|
@ -549,8 +570,8 @@ typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, con
|
|||
|
||||
typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
||||
typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
||||
typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
||||
typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (GLushort* table, GLuint length);
|
||||
typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
||||
typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort* table, GLuint length);
|
||||
|
||||
#define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT)
|
||||
#define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT)
|
||||
|
@ -592,7 +613,7 @@ typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
|
|||
|
||||
#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
|
||||
|
||||
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID);
|
||||
typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void);
|
||||
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||
|
||||
#define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT)
|
||||
|
@ -698,9 +719,9 @@ typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC
|
|||
#define WGL_TYPE_RGBA_EXT 0x202B
|
||||
#define WGL_TYPE_COLORINDEX_EXT 0x202C
|
||||
|
||||
typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT *pfValues);
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int *piValues);
|
||||
typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int* piAttribIList, const FLOAT* pfAttribFList, UINT nMaxFormats, int* piFormats, UINT* nNumFormats);
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT* pfValues);
|
||||
typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int* piValues);
|
||||
|
||||
#define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT)
|
||||
#define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT)
|
||||
|
@ -773,9 +794,9 @@ typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAt
|
|||
#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
|
||||
#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
|
||||
|
||||
typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT* puRed, USHORT *puGreen, USHORT *puBlue);
|
||||
typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT* puRed, USHORT* puGreen, USHORT* puBlue);
|
||||
typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue);
|
||||
typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT* puRed, const USHORT *puGreen, const USHORT *puBlue);
|
||||
typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT* puRed, const USHORT* puGreen, const USHORT* puBlue);
|
||||
typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
|
||||
|
||||
#define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D)
|
||||
|
@ -813,7 +834,7 @@ typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT* uDela
|
|||
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge);
|
||||
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource);
|
||||
typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL* pFlag);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT* uMaxLineDelay, UINT *uMaxPixelDelay);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT* uMaxLineDelay, UINT* uMaxPixelDelay);
|
||||
|
||||
#define wglDisableGenlockI3D WGLEW_GET_FUN(__wglewDisableGenlockI3D)
|
||||
#define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D)
|
||||
|
@ -840,10 +861,10 @@ typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT*
|
|||
#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
|
||||
#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
|
||||
|
||||
typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, HANDLE* pEvent, LPVOID *pAddress, DWORD *pSize, UINT count);
|
||||
typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE* pEvent, const LPVOID* pAddress, const DWORD* pSize, UINT count);
|
||||
typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
|
||||
typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
|
||||
typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID* pAddress, UINT count);
|
||||
typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID* pAddress, UINT count);
|
||||
|
||||
#define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D)
|
||||
#define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D)
|
||||
|
@ -859,8 +880,8 @@ typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID*
|
|||
#ifndef WGL_I3D_swap_frame_lock
|
||||
#define WGL_I3D_swap_frame_lock 1
|
||||
|
||||
typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (VOID);
|
||||
typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (VOID);
|
||||
typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
|
||||
typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
|
||||
typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag);
|
||||
|
||||
|
@ -881,7 +902,7 @@ typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag);
|
|||
typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
|
||||
typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
|
||||
typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float* pUsage);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWORD* pMissedFrames, float* pLastMissedUsage);
|
||||
|
||||
#define wglBeginFrameTrackingI3D WGLEW_GET_FUN(__wglewBeginFrameTrackingI3D)
|
||||
#define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D)
|
||||
|
@ -897,9 +918,9 @@ typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWO
|
|||
#ifndef WGL_NV_DX_interop
|
||||
#define WGL_NV_DX_interop 1
|
||||
|
||||
#define WGL_ACCESS_READ_ONLY_NV 0x0000
|
||||
#define WGL_ACCESS_READ_WRITE_NV 0x0001
|
||||
#define WGL_ACCESS_WRITE_DISCARD_NV 0x0002
|
||||
#define WGL_ACCESS_READ_ONLY_NV 0x00000000
|
||||
#define WGL_ACCESS_READ_WRITE_NV 0x00000001
|
||||
#define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002
|
||||
|
||||
typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice);
|
||||
typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE* hObjects);
|
||||
|
@ -1010,6 +1031,21 @@ typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
|
|||
|
||||
#endif /* WGL_NV_gpu_affinity */
|
||||
|
||||
/* ------------------------ WGL_NV_multigpu_context ------------------------ */
|
||||
|
||||
#ifndef WGL_NV_multigpu_context
|
||||
#define WGL_NV_multigpu_context 1
|
||||
|
||||
#define WGL_CONTEXT_MULTIGPU_ATTRIB_NV 0x20AA
|
||||
#define WGL_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV 0x20AB
|
||||
#define WGL_CONTEXT_MULTIGPU_ATTRIB_AFR_NV 0x20AC
|
||||
#define WGL_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV 0x20AD
|
||||
#define WGL_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV 0x20AE
|
||||
|
||||
#define WGLEW_NV_multigpu_context WGLEW_GET_VAR(__WGLEW_NV_multigpu_context)
|
||||
|
||||
#endif /* WGL_NV_multigpu_context */
|
||||
|
||||
/* ---------------------- WGL_NV_multisample_coverage ---------------------- */
|
||||
|
||||
#ifndef WGL_NV_multisample_coverage
|
||||
|
@ -1048,7 +1084,6 @@ typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* pi
|
|||
#ifndef WGL_NV_render_depth_texture
|
||||
#define WGL_NV_render_depth_texture 1
|
||||
|
||||
#define WGL_NO_TEXTURE_ARB 0x2077
|
||||
#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
|
||||
#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
|
||||
|
@ -1080,8 +1115,8 @@ typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* pi
|
|||
typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
|
||||
typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint *maxBarriers);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group, GLuint *barrier);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint* maxBarriers);
|
||||
typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group, GLuint* barrier);
|
||||
typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
|
||||
|
||||
#define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV)
|
||||
|
@ -1100,8 +1135,8 @@ typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
|
|||
#ifndef WGL_NV_vertex_array_range
|
||||
#define WGL_NV_vertex_array_range 1
|
||||
|
||||
typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
|
||||
typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
|
||||
typedef void* (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
|
||||
typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void* pointer);
|
||||
|
||||
#define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV)
|
||||
#define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV)
|
||||
|
@ -1159,7 +1194,7 @@ DECLARE_HANDLE(HPVIDEODEV);
|
|||
|
||||
typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||
typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice);
|
||||
typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
|
||||
typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long* pulCounterOutputVideo);
|
||||
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
|
||||
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||
typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock);
|
||||
|
@ -1180,12 +1215,12 @@ typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, in
|
|||
#ifndef WGL_OML_sync_control
|
||||
#define WGL_OML_sync_control 1
|
||||
|
||||
typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32 *denominator);
|
||||
typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64* ust, INT64 *msc, INT64 *sbc);
|
||||
typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32* denominator);
|
||||
typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64* ust, INT64* msc, INT64* sbc);
|
||||
typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
|
||||
typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
|
||||
typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64 *msc, INT64 *sbc);
|
||||
typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64 *msc, INT64 *sbc);
|
||||
typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64* msc, INT64* sbc);
|
||||
typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64* msc, INT64* sbc);
|
||||
|
||||
#define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML)
|
||||
#define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML)
|
||||
|
@ -1200,18 +1235,8 @@ typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT6
|
|||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef GLEW_MX
|
||||
#define WGLEW_FUN_EXPORT
|
||||
#define WGLEW_VAR_EXPORT
|
||||
#else
|
||||
#define WGLEW_FUN_EXPORT GLEW_FUN_EXPORT
|
||||
#define WGLEW_VAR_EXPORT GLEW_VAR_EXPORT
|
||||
#endif /* GLEW_MX */
|
||||
|
||||
#ifdef GLEW_MX
|
||||
struct WGLEWContextStruct
|
||||
{
|
||||
#endif /* GLEW_MX */
|
||||
|
||||
WGLEW_FUN_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL;
|
||||
|
||||
|
@ -1368,6 +1393,7 @@ WGLEW_VAR_EXPORT GLboolean __WGLEW_AMD_gpu_association;
|
|||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_buffer_region;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_context_flush_control;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_no_error;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_profile;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_robustness;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_extensions_string;
|
||||
|
@ -1382,6 +1408,7 @@ WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_robustness_application_isolation;
|
|||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_robustness_share_group_isolation;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ATI_pixel_format_float;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_colorspace;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_create_context_es2_profile;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_create_context_es_profile;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_depth_float;
|
||||
|
@ -1407,6 +1434,7 @@ WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_copy_image;
|
|||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_delay_before_swap;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_float_buffer;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_gpu_affinity;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_multigpu_context;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_multisample_coverage;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_present_video;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_render_depth_texture;
|
||||
|
@ -1416,34 +1444,18 @@ WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_vertex_array_range;
|
|||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_capture;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_output;
|
||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_OML_sync_control;
|
||||
|
||||
#ifdef GLEW_MX
|
||||
}; /* WGLEWContextStruct */
|
||||
#endif /* GLEW_MX */
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef GLEW_MX
|
||||
|
||||
typedef struct WGLEWContextStruct WGLEWContext;
|
||||
GLEWAPI GLenum GLEWAPIENTRY wglewContextInit (WGLEWContext *ctx);
|
||||
GLEWAPI GLboolean GLEWAPIENTRY wglewContextIsSupported (const WGLEWContext *ctx, const char *name);
|
||||
|
||||
#define wglewInit() wglewContextInit(wglewGetContext())
|
||||
#define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x)
|
||||
|
||||
#define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x))
|
||||
#define WGLEW_GET_FUN(x) wglewGetContext()->x
|
||||
|
||||
#else /* GLEW_MX */
|
||||
|
||||
GLEWAPI GLenum GLEWAPIENTRY wglewInit ();
|
||||
GLEWAPI GLboolean GLEWAPIENTRY wglewIsSupported (const char *name);
|
||||
|
||||
#ifndef WGLEW_GET_VAR
|
||||
#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x)
|
||||
#define WGLEW_GET_FUN(x) x
|
||||
#endif
|
||||
|
||||
#endif /* GLEW_MX */
|
||||
#ifndef WGLEW_GET_FUN
|
||||
#define WGLEW_GET_FUN(x) x
|
||||
#endif
|
||||
|
||||
GLEWAPI GLboolean GLEWAPIENTRY wglewGetExtension (const char *name);
|
||||
|
||||
|
|
17371
deps/GLEW/glew/src/glew.c
vendored
22
deps/GMP/GMP.cmake
vendored
|
@ -22,10 +22,24 @@ else ()
|
|||
|
||||
if (APPLE)
|
||||
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()
|
||||
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")
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
|
||||
|
@ -51,4 +65,4 @@ else ()
|
|||
BUILD_COMMAND make -j
|
||||
INSTALL_COMMAND make install
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
14
deps/JPEG/JPEG.cmake
vendored
|
@ -1,3 +1,16 @@
|
|||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
if (JPEG_VERSION STREQUAL "6")
|
||||
message("Using Jpeg Lib 62")
|
||||
set(jpeg_flag "")
|
||||
elseif (JPEG_VERSION STREQUAL "7")
|
||||
message("Using Jpeg Lib 70")
|
||||
set(jpeg_flag "-DWITH_JPEG7=ON")
|
||||
else ()
|
||||
message("Using Jpeg Lib 80")
|
||||
set(jpeg_flag "-DWITH_JPEG8=ON")
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
bambustudio_add_cmake_project(JPEG
|
||||
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.zip
|
||||
URL_HASH SHA256=017bdc33ff3a72e11301c0feb4657cb27719d7f97fa67a78ed506c594218bbf1
|
||||
|
@ -5,4 +18,5 @@ bambustudio_add_cmake_project(JPEG
|
|||
CMAKE_ARGS
|
||||
-DENABLE_SHARED=OFF
|
||||
-DENABLE_STATIC=ON
|
||||
${jpeg_flag}
|
||||
)
|
||||
|
|
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
|
||||
# GIT_REPOSITORY https://github.com/openexr/openexr.git
|
||||
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_BUILD_UTILS:BOOL=OFF
|
||||
)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
add_debug_dep(dep_OpenEXR)
|
||||
|
|
53
deps/PNG/PNG.cmake
vendored
|
@ -5,26 +5,43 @@ else ()
|
|||
set(_disable_neon_extension "")
|
||||
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 "")
|
||||
if (APPLE)
|
||||
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
|
||||
endif ()
|
||||
|
||||
bambustudio_add_cmake_project(PNG
|
||||
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||
# 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}
|
||||
"${_patch_step}"
|
||||
CMAKE_ARGS
|
||||
-DPNG_SHARED=OFF
|
||||
-DPNG_STATIC=ON
|
||||
-DPNG_PREFIX=prusaslicer_
|
||||
-DPNG_TESTS=OFF
|
||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||
${_disable_neon_extension}
|
||||
if (APPLE)
|
||||
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
|
||||
endif ()
|
||||
bambustudio_add_cmake_project(PNG
|
||||
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||
# 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}
|
||||
"${_patch_step}"
|
||||
CMAKE_ARGS
|
||||
-DPNG_SHARED=OFF
|
||||
-DPNG_STATIC=ON
|
||||
-DPNG_PREFIX=prusaslicer_
|
||||
-DPNG_TESTS=OFF
|
||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||
${_disable_neon_extension}
|
||||
)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
add_debug_dep(dep_PNG)
|
||||
|
|
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
|
@ -1,13 +1,32 @@
|
|||
find_package(OpenGL QUIET REQUIRED)
|
||||
|
||||
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
|
||||
)
|
||||
if (APPLE)
|
||||
message(STATUS "Compiling TIFF for macos ${CMAKE_SYSTEM_VERSION}.")
|
||||
bambustudio_add_cmake_project(TIFF
|
||||
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.3.0/libtiff-v4.3.0.zip
|
||||
URL_HASH SHA256=4fca1b582c88319f3ad6ecd5b46320eadaf5eb4ef6f6c32d44caaae4a03d0726
|
||||
DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG
|
||||
CMAKE_ARGS
|
||||
-Dlzma:BOOL=OFF
|
||||
-Dwebp: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()
|
||||
|
||||
|
||||
|
||||
|
|
16019
src/slic3r/GUI/WebView2.h → deps/WebView2/include/WebView2.h
vendored
149
deps/WebView2/include/WebView2EnvironmentOptions.h
vendored
Normal file
|
@ -0,0 +1,149 @@
|
|||
// Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef __core_webview2_environment_options_h__
|
||||
#define __core_webview2_environment_options_h__
|
||||
|
||||
#include <objbase.h>
|
||||
#include <wrl/implements.h>
|
||||
|
||||
#include "webview2.h"
|
||||
#define CORE_WEBVIEW_TARGET_PRODUCT_VERSION L"107.0.1418.22"
|
||||
|
||||
#define COREWEBVIEW2ENVIRONMENTOPTIONS_STRING_PROPERTY(p) \
|
||||
public: \
|
||||
HRESULT STDMETHODCALLTYPE get_##p(LPWSTR* value) override { \
|
||||
if (!value) \
|
||||
return E_POINTER; \
|
||||
*value = m_##p.Copy(); \
|
||||
if ((*value == nullptr) && (m_##p.Get() != nullptr)) \
|
||||
return HRESULT_FROM_WIN32(GetLastError()); \
|
||||
return S_OK; \
|
||||
} \
|
||||
HRESULT STDMETHODCALLTYPE put_##p(LPCWSTR value) override { \
|
||||
LPCWSTR result = m_##p.Set(value); \
|
||||
if ((result == nullptr) && (value != nullptr)) \
|
||||
return HRESULT_FROM_WIN32(GetLastError()); \
|
||||
return S_OK; \
|
||||
} \
|
||||
\
|
||||
protected: \
|
||||
AutoCoMemString m_##p;
|
||||
|
||||
#define COREWEBVIEW2ENVIRONMENTOPTIONS_BOOL_PROPERTY(p) \
|
||||
public: \
|
||||
HRESULT STDMETHODCALLTYPE get_##p(BOOL* value) override { \
|
||||
if (!value) \
|
||||
return E_POINTER; \
|
||||
*value = m_##p; \
|
||||
return S_OK; \
|
||||
} \
|
||||
HRESULT STDMETHODCALLTYPE put_##p(BOOL value) override { \
|
||||
m_##p = value; \
|
||||
return S_OK; \
|
||||
} \
|
||||
\
|
||||
protected: \
|
||||
BOOL m_##p = FALSE;
|
||||
|
||||
// This is a base COM class that implements ICoreWebView2EnvironmentOptions.
|
||||
template <typename allocate_fn_t,
|
||||
allocate_fn_t allocate_fn,
|
||||
typename deallocate_fn_t,
|
||||
deallocate_fn_t deallocate_fn>
|
||||
class CoreWebView2EnvironmentOptionsBase
|
||||
: public Microsoft::WRL::Implements<
|
||||
Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::ClassicCom>,
|
||||
ICoreWebView2EnvironmentOptions,
|
||||
ICoreWebView2EnvironmentOptions2> {
|
||||
public:
|
||||
CoreWebView2EnvironmentOptionsBase() {
|
||||
// Initialize the target compatible browser version value to the version of
|
||||
// the browser binaries corresponding to this version of the SDK.
|
||||
m_TargetCompatibleBrowserVersion.Set(CORE_WEBVIEW_TARGET_PRODUCT_VERSION);
|
||||
}
|
||||
|
||||
protected:
|
||||
~CoreWebView2EnvironmentOptionsBase() {}
|
||||
|
||||
class AutoCoMemString {
|
||||
public:
|
||||
AutoCoMemString() {}
|
||||
~AutoCoMemString() { Release(); }
|
||||
void Release() {
|
||||
if (m_string) {
|
||||
deallocate_fn(m_string);
|
||||
m_string = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
LPCWSTR Set(LPCWSTR str) {
|
||||
Release();
|
||||
if (str) {
|
||||
m_string = MakeCoMemString(str);
|
||||
}
|
||||
return m_string;
|
||||
}
|
||||
LPCWSTR Get() { return m_string; }
|
||||
LPWSTR Copy() {
|
||||
if (m_string)
|
||||
return MakeCoMemString(m_string);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
protected:
|
||||
LPWSTR MakeCoMemString(LPCWSTR source) {
|
||||
const size_t length = wcslen(source);
|
||||
const size_t bytes = (length + 1) * sizeof(*source);
|
||||
// Ensure we didn't overflow during our size calculation.
|
||||
if (bytes <= length) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
wchar_t* result = reinterpret_cast<wchar_t*>(allocate_fn(bytes));
|
||||
if (result)
|
||||
memcpy(result, source, bytes);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
LPWSTR m_string = nullptr;
|
||||
};
|
||||
|
||||
// ICoreWebView2EnvironmentOptions
|
||||
COREWEBVIEW2ENVIRONMENTOPTIONS_STRING_PROPERTY(AdditionalBrowserArguments)
|
||||
COREWEBVIEW2ENVIRONMENTOPTIONS_STRING_PROPERTY(Language)
|
||||
COREWEBVIEW2ENVIRONMENTOPTIONS_STRING_PROPERTY(TargetCompatibleBrowserVersion)
|
||||
COREWEBVIEW2ENVIRONMENTOPTIONS_BOOL_PROPERTY(
|
||||
AllowSingleSignOnUsingOSPrimaryAccount)
|
||||
|
||||
// ICoreWebView2EnvironmentOptions2
|
||||
COREWEBVIEW2ENVIRONMENTOPTIONS_BOOL_PROPERTY(ExclusiveUserDataFolderAccess)
|
||||
};
|
||||
|
||||
template <typename allocate_fn_t,
|
||||
allocate_fn_t allocate_fn,
|
||||
typename deallocate_fn_t,
|
||||
deallocate_fn_t deallocate_fn>
|
||||
class CoreWebView2EnvironmentOptionsBaseClass
|
||||
: public Microsoft::WRL::RuntimeClass<
|
||||
Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::ClassicCom>,
|
||||
CoreWebView2EnvironmentOptionsBase<allocate_fn_t,
|
||||
allocate_fn,
|
||||
deallocate_fn_t,
|
||||
deallocate_fn>> {
|
||||
public:
|
||||
CoreWebView2EnvironmentOptionsBaseClass() {}
|
||||
|
||||
protected:
|
||||
~CoreWebView2EnvironmentOptionsBaseClass() override {}
|
||||
};
|
||||
|
||||
typedef CoreWebView2EnvironmentOptionsBaseClass<decltype(&::CoTaskMemAlloc),
|
||||
::CoTaskMemAlloc,
|
||||
decltype(&::CoTaskMemFree),
|
||||
::CoTaskMemFree>
|
||||
CoreWebView2EnvironmentOptions;
|
||||
|
||||
#endif // __core_webview2_environment_options_h__
|
BIN
deps/WebView2/lib/win32/WebView2Loader.dll
vendored
BIN
deps/WebView2/lib/win32/WebView2LoaderStatic.lib
vendored
BIN
deps/WebView2/lib/win64/WebView2Loader.dll
vendored
BIN
deps/WebView2/lib/win64/WebView2LoaderStatic.lib
vendored
4
deps/deps-windows.cmake
vendored
|
@ -15,6 +15,10 @@ elseif (MSVC_VERSION LESS 1930)
|
|||
# 1920-1929 = VS 16.0 (v142 toolset)
|
||||
set(DEP_VS_VER "16")
|
||||
set(DEP_BOOST_TOOLSET "msvc-14.2")
|
||||
elseif (MSVC_VERSION LESS 1940)
|
||||
# 1930-1939 = VS 17.0 (v143 toolset)
|
||||
set(DEP_VS_VER "17")
|
||||
set(DEP_BOOST_TOOLSET "msvc-14.3")
|
||||
else ()
|
||||
message(FATAL_ERROR "Unsupported MSVC version")
|
||||
endif ()
|
||||
|
|
13
deps/wxWidgets/0001-wxWidget-fix.patch
vendored
|
@ -14,6 +14,19 @@ index 0bc4f934b9..479431a69c 100644
|
|||
find_package(WAYLANDEGL)
|
||||
if(WAYLANDEGL_FOUND AND wxHAVE_GDK_WAYLAND)
|
||||
list(APPEND OPENGL_LIBRARIES ${WAYLANDEGL_LIBRARIES})
|
||||
diff --git a/build/cmake/lib/webview/CMakeLists.txt b/build/cmake/lib/webview/CMakeLists.txt
|
||||
index cc3298ff33..8adbeaea4f 100644
|
||||
--- a/build/cmake/lib/webview/CMakeLists.txt
|
||||
+++ b/build/cmake/lib/webview/CMakeLists.txt
|
||||
@@ -56,7 +56,7 @@ if(APPLE)
|
||||
elseif(WXMSW)
|
||||
if(wxUSE_WEBVIEW_EDGE)
|
||||
# Update the following variables if updating WebView2 SDK
|
||||
- set(WEBVIEW2_VERSION "1.0.705.50")
|
||||
+ set(WEBVIEW2_VERSION "1.0.1418.22")
|
||||
set(WEBVIEW2_URL "https://www.nuget.org/api/v2/package/Microsoft.Web.WebView2/${WEBVIEW2_VERSION}")
|
||||
set(WEBVIEW2_SHA256 "6a34bb553e18cfac7297b4031f3eac2558e439f8d16a45945c22945ac404105d")
|
||||
|
||||
diff --git a/include/wx/fontutil.h b/include/wx/fontutil.h
|
||||
index 09ad8c8ef3..3c0c2d8f7e 100644
|
||||
--- a/include/wx/fontutil.h
|
||||
|
|
15
deps/wxWidgets/wxWidgets.cmake
vendored
|
@ -18,10 +18,21 @@ else ()
|
|||
set(_wx_edge "-DwxUSE_WEBVIEW_EDGE=OFF")
|
||||
endif ()
|
||||
|
||||
if (MSVC)
|
||||
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch)
|
||||
else ()
|
||||
set(_patch_cmd test -f WXWIDGETS_PATCHED || ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch && touch WXWIDGETS_PATCHED)
|
||||
endif ()
|
||||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch)
|
||||
endif ()
|
||||
|
||||
|
||||
bambustudio_add_cmake_project(wxWidgets
|
||||
GIT_REPOSITORY "https://github.com/wxWidgets/wxWidgets"
|
||||
GIT_TAG ${_wx_git_tag}
|
||||
PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch
|
||||
PATCH_COMMAND ${_patch_cmd}
|
||||
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF dep_JPEG
|
||||
CMAKE_ARGS
|
||||
-DwxBUILD_PRECOMP=ON
|
||||
|
@ -53,4 +64,4 @@ bambustudio_add_cmake_project(wxWidgets
|
|||
|
||||
if (MSVC)
|
||||
add_debug_dep(dep_wxWidgets)
|
||||
endif ()
|
||||
endif ()
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
# Building Bambu Studio on UNIX/Linux
|
||||
# Building Orca Slicer on UNIX/Linux
|
||||
|
||||
Currently Linux version is not verified, you can try it referring to [PrusaSlicer'S linux building guide](https://github.com/prusa3d/PrusaSlicer/blob/master/doc/How%20to%20build%20-%20Linux%20et%20al.md)
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
# Building Bambu Studio on Mac OS
|
||||
# Building Orca Slicer on Mac OS
|
||||
|
||||
## Enviroment setup
|
||||
Install Following tools:
|
||||
|
@ -11,31 +11,31 @@ Install Following tools:
|
|||
Cmake, git, gettext can be installed from brew(brew install cmake git gettext)
|
||||
|
||||
## building the deps
|
||||
You need to build the dependence of BambuStudio first. (Only needs for the first time)
|
||||
You need to build the dependence of OrcaSlicer first. (Only needs for the first time)
|
||||
|
||||
Suppose you download the codes into /Users/_username_/work/projects/BambuStudio
|
||||
create a directory to store the dependence built: /Users/_username_/work/projects/BambuStudio_dep
|
||||
create a directory to store the dependence built: /Users/_username_/work/projects/OrcaSlicer_dep
|
||||
**(Please make sure to replace the username with the one on your computer)**
|
||||
|
||||
`cd BambuStudio/deps`
|
||||
`mkdir build;cd build`
|
||||
|
||||
for arm64 architecture
|
||||
`cmake ../ -DDESTDIR="/Users/username/work/projects/BambuStudio_dep" -DOPENSSL_ARCH="darwin64-arm64-cc"`
|
||||
`cmake ../ -DDESTDIR="/Users/username/work/projects/OrcaSlicer_dep" -DOPENSSL_ARCH="darwin64-arm64-cc"`
|
||||
for x86 architeccture
|
||||
`cmake ../ -DDESTDIR="/Users/username/work/projects/BambuStudio_dep" -DOPENSSL_ARCH="darwin64-x86_64-cc"`
|
||||
`cmake ../ -DDESTDIR="/Users/username/work/projects/OrcaSlicer_dep" -DOPENSSL_ARCH="darwin64-x86_64-cc"`
|
||||
`make -jN` (N can be a number between 1 and the max cpu number)
|
||||
|
||||
## building the Bambu Studio
|
||||
## building the Orca Slicer
|
||||
create a directory to store the installed files at /Users/username/work/projects/BambuStudio/install_dir
|
||||
`cd BambuStudio`
|
||||
`mkdir install_dir`
|
||||
`mkdir build;cd build`
|
||||
|
||||
building it use cmake
|
||||
`cmake .. -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="/Users/username/work/projects/BambuStudio_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="/Users/username/work/projects/BambuStudio_dep/usr/local" -DCMAKE_MACOSX_BUNDLE=on`
|
||||
`cmake .. -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_MACOSX_BUNDLE=on`
|
||||
`cmake --build . --target install --config Release -jN`
|
||||
|
||||
building it use xcode
|
||||
`cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="/Users/username/work/projects/BambuStudio_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="/Users/username/work/projects/BambuStudio_dep/usr/local" -DCMAKE_MACOSX_BUNDLE=on`
|
||||
`cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_MACOSX_BUNDLE=on`
|
||||
then building it using Xcode
|
|
@ -1,36 +1,36 @@
|
|||
# Building Bambu Studio on Windows
|
||||
# Building Orca Slicer on Windows
|
||||
|
||||
## Enviroment setup
|
||||
Install Following tools:
|
||||
- Visual Studio Community 2019 from [visualstudio.microsoft.com/vs/](https://visualstudio.microsoft.com/vs/) (Older versions are not supported as Bambu Studio requires support for C++17, and newer versions should also be ok);
|
||||
- Visual Studio Community 2019 from [visualstudio.microsoft.com/vs/](https://visualstudio.microsoft.com/vs/) (Older versions are not supported as Orca Slicer requires support for C++17, and newer versions should also be ok);
|
||||
- Cmake from [cmake.org](https://cmake.org/download/)
|
||||
- Git from [gitforwindows.org](https://gitforwindows.org/)
|
||||
- Perl from [strawberryperl](https://strawberryperl.com/)
|
||||
|
||||
## building the deps
|
||||
Suppose you download the codes into D:/work/Projects/BambuStudio
|
||||
create a directory to store the dependence built: D:/work/Projects/BambuStudio_dep
|
||||
create a directory to store the dependence built: D:/work/Projects/OrcaSlicer_dep
|
||||
|
||||
`cd BambuStudio/deps`
|
||||
`mkdir build;cd build`
|
||||
`cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="D:/work/Projects/BambuStudio_dep" -DCMAKE_BUILD_TYPE=Release`
|
||||
`cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="D:/work/Projects/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=Release`
|
||||
`msbuild /m ALL_BUILD.vcxproj`
|
||||
|
||||
It takes "00:14:27.37" to finish it on my machine (11th Gen Intel(R) Core(TM) i9-11900 @2.50GHz 2.50 GHz, with 32.0 GB DDR)
|
||||
|
||||
## building the Bambu Studio
|
||||
## building the Orca Slicer
|
||||
create a directory to store the installed files at D:/work/Projects/BambuStudio/install_dir
|
||||
`cd BambuStudio`
|
||||
`mkdir install_dir`
|
||||
`mkdir build;cd build`
|
||||
|
||||
set -DWIN10SDK_PATH to your windows sdk path(for example: C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0) in below command:
|
||||
`cmake .. -G "Visual Studio 16 2019" -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="D:/work/Projects/BambuStudio_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -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="D:/work/Projects/OrcaSlicer_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"`
|
||||
|
||||
then build it using command
|
||||
`cmake --build . --target install --config Release`
|
||||
|
||||
or building it under the Visual Studio 2019
|
||||
(set the BambuStudio_app_gui as start project)
|
||||
(set the OrcaSlicer_app_gui as start project)
|
||||

|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Localization and translation guide
|
||||
|
||||
The purpose of this guide is to describe how to contribute to the Bambu Studio translations. We use GNUgettext for extracting string resources from the project and PoEdit for editing translations.
|
||||
The purpose of this guide is to describe how to contribute to the Orca Slicer translations. We use GNUgettext for extracting string resources from the project and PoEdit for editing translations.
|
||||
|
||||
Those can be downloaded here:
|
||||
- https://sourceforge.net/directory/os:windows/?q=gnu+gettext GNUgettext package contains a set of tools to extract strings from the source code and to create the translation Catalog.
|
||||
|
@ -32,15 +32,15 @@ Notice. When the translation is complete you need to:
|
|||
- copy BambuStudio_xx.mo into resources/i18n/xx and rename it to BambuStudio.mo, then push the changed file.
|
||||
( name of folder "fr" means "French" - the translation language).
|
||||
|
||||
### Scenario 3. How do I add a new text resource when implementing a feature to Bambu Studio
|
||||
Each string resource in Bambu Studio available for translation needs to be explicitly marked using L() macro like this:
|
||||
### Scenario 3. How do I add a new text resource when implementing a feature to Orca Slicer
|
||||
Each string resource in Orca Slicer available for translation needs to be explicitly marked using L() macro like this:
|
||||
```C++
|
||||
auto msg = L("This message to be localized")
|
||||
```
|
||||
To get translated text use one of needed macro/function (`_(s)` or `_CHB(s)` ).
|
||||
If you add new file resource, add it to the list of files containing macro `L()`
|
||||
|
||||
### Scenario 4. How do I use GNUgettext to localize my own application taking Bambu Studio as an example
|
||||
### Scenario 4. How do I use GNUgettext to localize my own application taking Orca Slicer as an example
|
||||
|
||||
1. For convenience create a list of files with this macro `L(s)`. We have
|
||||
https://github.com/bambulab/BambuStudio/blob/master/bbl/i18n/list.txt.
|
||||
|
@ -75,14 +75,14 @@ https://github.com/bambulab/BambuStudio/blob/master/bbl/i18n/list.txt.
|
|||
When you have Catalog to translation open POT or PO file in PoEdit and start translating.
|
||||
|
||||
|
||||
## General guidelines for Bambu Studio translators
|
||||
## General guidelines for Orca Slicer translators
|
||||
|
||||
|
||||
- We recommend using *PoEdit* application for translation (as described above). It will help you eliminate most punctuation errors and will show you strings with "random" translations (if the fuzzy parameter was used).
|
||||
|
||||
- To check how the translated text looks on the UI elements, test it :) If you use *PoEdit*, all you need to do is save the file. At this point, a MO file will be created. Rename it Bambu Studio.mo, and you can run Bambu Studio (see above).
|
||||
- To check how the translated text looks on the UI elements, test it :) If you use *PoEdit*, all you need to do is save the file. At this point, a MO file will be created. Rename it Orca Slicer.mo, and you can run Orca Slicer (see above).
|
||||
|
||||
- If you see an encoding error (garbage characters instead of Unicode) somewhere in Bambu Studio, report it. It is likely not a problem of your translation, but a bug in the software.
|
||||
- If you see an encoding error (garbage characters instead of Unicode) somewhere in Orca Slicer, report it. It is likely not a problem of your translation, but a bug in the software.
|
||||
|
||||
- See on which UI elements the translated phrase will be used. Especially if it's a button, it is very important to decide on the translation and not write alternative translations in parentheses, as this will significantly increase the width of the button, which is sometimes highly undesirable:
|
||||
|
||||
|
|
|
@ -105,7 +105,7 @@ sub copyright_info
|
|||
my (%params) = @_;
|
||||
my %tag = Slic3r::tags($params{format});
|
||||
my $out =
|
||||
'Copyright © Bambu Studio.';
|
||||
'Copyright © Orca Slicer.';
|
||||
return $out;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,38 +6,43 @@
|
|||
"files": [
|
||||
{
|
||||
"type": "po",
|
||||
"pattern": "bbl/i18n/en/BambuStudio_en.po",
|
||||
"pattern": "bbl/i18n/en/OrcaSlicer_en.po",
|
||||
"lang": "en"
|
||||
},
|
||||
{
|
||||
"type": "po",
|
||||
"pattern": "bbl/i18n/fr/BambuStudio_fr.po",
|
||||
"pattern": "bbl/i18n/fr/OrcaSlicer_fr.po",
|
||||
"lang": "fr"
|
||||
},
|
||||
{
|
||||
"type": "po",
|
||||
"pattern": "bbl/i18n/de/BambuStudio_de.po",
|
||||
"pattern": "bbl/i18n/de/OrcaSlicer_de.po",
|
||||
"lang": "de"
|
||||
},
|
||||
{
|
||||
"type": "po",
|
||||
"pattern": "bbl/i18n/sv/BambuStudio_sv.po",
|
||||
"pattern": "bbl/i18n/sv/OrcaSlicer_sv.po",
|
||||
"lang": "sv"
|
||||
},
|
||||
{
|
||||
"type": "po",
|
||||
"pattern": "bbl/i18n/es/BambuStudio_es.po",
|
||||
"pattern": "bbl/i18n/es/OrcaSlicer_es.po",
|
||||
"lang": "es"
|
||||
},
|
||||
{
|
||||
"type": "po",
|
||||
"pattern": "bbl/i18n/nl/BambuStudio_nl.po",
|
||||
"pattern": "bbl/i18n/nl/OrcaSlicer_nl.po",
|
||||
"lang": "nl"
|
||||
},
|
||||
{
|
||||
"type": "po",
|
||||
"pattern": "bbl/i18n/hu/BambuStudio_hu.po",
|
||||
"pattern": "bbl/i18n/hu/OrcaSlicer_hu.po",
|
||||
"lang": "hu"
|
||||
},
|
||||
{
|
||||
"type": "po",
|
||||
"pattern": "bbl/i18n/ja/OrcaSlicer_ja.po",
|
||||
"lang": "ja"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -45,7 +50,7 @@
|
|||
"folder": "bbl/i18n",
|
||||
"includeSourceLang" : "true",
|
||||
"files": {
|
||||
"output": "${lang}/BambuStudio_${lang}.po"
|
||||
"output": "${lang}/OrcaSlicer_${lang}.po"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
BIN
resources/calib/PressureAdvance/pressure_advance_test.stl
Normal file
BIN
resources/calib/PressureAdvance/tower.stl
Normal file
BIN
resources/calib/PressureAdvance/tower_with_seam.stl
Normal file
BIN
resources/calib/filament_flow/flowrate-test-pass1.3mf
Normal file
BIN
resources/calib/filament_flow/flowrate-test-pass2.3mf
Normal file
BIN
resources/calib/temperature_tower/temperature_tower.stl
Normal file
BIN
resources/calib/vfa/VFA.stl
Normal file
36075
resources/calib/volumetric_speed/SpeedTestStructure.step
Normal file
21
resources/cert/printer.cer
Normal file
|
@ -0,0 +1,21 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIDZTCCAk2gAwIBAgIUV1FckwXElyek1onFnQ9kL7Bk4N8wDQYJKoZIhvcNAQEL
|
||||
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yMjA0MDQwMzQyMTFaFw0zMjA0MDEw
|
||||
MzQyMTFaMEIxCzAJBgNVBAYTAkNOMSIwIAYDVQQKDBlCQkwgVGVjaG5vbG9naWVz
|
||||
IENvLiwgTHRkMQ8wDQYDVQQDDAZCQkwgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
||||
DwAwggEKAoIBAQDL3pnDdxGOk5Z6vugiT4dpM0ju+3Xatxz09UY7mbj4tkIdby4H
|
||||
oeEdiYSZjc5LJngJuCHwtEbBJt1BriRdSVrF6M9D2UaBDyamEo0dxwSaVxZiDVWC
|
||||
eeCPdELpFZdEhSNTaT4O7zgvcnFsfHMa/0vMAkvE7i0qp3mjEzYLfz60axcDoJLk
|
||||
p7n6xKXI+cJbA4IlToFjpSldPmC+ynOo7YAOsXt7AYKY6Glz0BwUVzSJxU+/+VFy
|
||||
/QrmYGNwlrQtdREHeRi0SNK32x1+bOndfJP0sojuIrDjKsdCLye5CSZIvqnbowwW
|
||||
1jRwZgTBR29Zp2nzCoxJYcU9TSQp/4KZuWNVAgMBAAGjUzBRMB0GA1UdDgQWBBSP
|
||||
NEJo3GdOj8QinsV8SeWr3US+HjAfBgNVHSMEGDAWgBSPNEJo3GdOj8QinsV8SeWr
|
||||
3US+HjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQABlBIT5ZeG
|
||||
fgcK1LOh1CN9sTzxMCLbtTPFF1NGGA13mApu6j1h5YELbSKcUqfXzMnVeAb06Htu
|
||||
3CoCoe+wj7LONTFO++vBm2/if6Jt/DUw1CAEcNyqeh6ES0NX8LJRVSe0qdTxPJuA
|
||||
BdOoo96iX89rRPoxeed1cpq5hZwbeka3+CJGV76itWp35Up5rmmUqrlyQOr/Wax6
|
||||
itosIzG0MfhgUzU51A2P/hSnD3NDMXv+wUY/AvqgIL7u7fbDKnku1GzEKIkfH8hm
|
||||
Rs6d8SCU89xyrwzQ0PR853irHas3WrHVqab3P+qNwR0YirL0Qk7Xt/q3O1griNg2
|
||||
Blbjg3obpHo9
|
||||
-----END CERTIFICATE-----
|
1
resources/check_access_code.txt
Normal file
|
@ -0,0 +1 @@
|
|||
just a test file
|
|
@ -9,29 +9,31 @@
|
|||
"FUNC_BUILDPLATE_MARKER_DETECT": false,
|
||||
"FUNC_FLOW_CALIBRATION": false,
|
||||
"FUNC_MONITORING": false,
|
||||
"FUNC_TIMELAPSE": false,
|
||||
"FUNC_MEDIA_FILE": false,
|
||||
"FUNC_REMOTE_TUNNEL": false,
|
||||
"FUNC_LOCAL_TUNNEL": true,
|
||||
"FUNC_VIRTUAL_CAMERA" : false,
|
||||
"FUNC_PRINT_WITHOUT_SD": false,
|
||||
"FUNC_ALTER_RESOLUTION": false,
|
||||
"FUNC_AUTO_SWITCH_FILAMENT": false,
|
||||
"FUNC_CHAMBER_FAN" : false,
|
||||
"FUNC_SEND_TO_SDCARD": false
|
||||
"FUNC_EXTRUSION_CALI": true,
|
||||
"FUNC_PRINT_ALL" : false
|
||||
},
|
||||
"camera_resolution":["720p"],
|
||||
"bed_temperature_limit": 100,
|
||||
"bed_temperature_limit": 120,
|
||||
"model_id": "C11",
|
||||
"printer_type": "C11",
|
||||
"ftp_folder" : "sdcard/",
|
||||
"printer_thumbnail_image": "printer_thumbnail_p1p"
|
||||
},
|
||||
{
|
||||
"display_name": "Bambu Lab X1",
|
||||
"func": {
|
||||
"FUNC_EXTRUSION_CALI": false,
|
||||
"FUNC_LOCAL_TUNNEL": false
|
||||
},
|
||||
"camera_resolution":["720p","1080p"],
|
||||
"bed_temperature_limit": 120,
|
||||
"model_id": "BL-P002",
|
||||
"printer_type": "3DPrinter-X1",
|
||||
"printer_thumbnail_image": "printer_thumbnail"
|
||||
|
@ -39,10 +41,12 @@
|
|||
{
|
||||
"display_name": "Bambu Lab X1 Carbon",
|
||||
"func": {
|
||||
"FUNC_EXTRUSION_CALI": false,
|
||||
"FUNC_LOCAL_TUNNEL": false
|
||||
},
|
||||
"model_id": "BL-P001",
|
||||
"camera_resolution":["720p","1080p"],
|
||||
"bed_temperature_limit": 120,
|
||||
"printer_type": "3DPrinter-X1-Carbon",
|
||||
"printer_thumbnail_image": "printer_thumbnail"
|
||||
}
|
||||
|
|
|
@ -95,7 +95,7 @@ text = Object List\nDid you know that you can view all objects/parts in a list a
|
|||
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/object-list
|
||||
|
||||
#[hint:Search Functionality]
|
||||
#text = Search Functionality\nDid you know that you use the Search tool to quickly find a specific Bambu Studio setting? Or use the familiar shortcut <b>Ctrl+F</b>.
|
||||
#text = Search Functionality\nDid you know that you use the Search tool to quickly find a specific Orca Slicer setting? Or use the familiar shortcut <b>Ctrl+F</b>.
|
||||
|
||||
[hint:Simplify Model]
|
||||
text = Simplify Model\nDid you know that you can reduce the number of triangles in a mesh using the Simplify mesh feature? Right-click the model and select Simplify model. Read more in the documentation.
|
||||
|
@ -110,11 +110,11 @@ text = Split to Objects/Parts\nDid you know that you can split a big object into
|
|||
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/split-to-objects-parts
|
||||
|
||||
[hint:Subtract a Part]
|
||||
text = Subtract a Part\nDid you know that you can subtract one mesh from another using the Negative part modifier? That way you can, for example, create easily resizable holes directly in Bambu Studio. Read more in the documentation.
|
||||
text = Subtract a Part\nDid you know that you can subtract one mesh from another using the Negative part modifier? That way you can, for example, create easily resizable holes directly in Orca Slicer. Read more in the documentation.
|
||||
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/subtract-a-part
|
||||
|
||||
[hint:STEP]
|
||||
text = STEP\nDid you know that you can improve your print quality by slicing a STEP file instead of an STL?\nBambu Studio supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!
|
||||
text = STEP\nDid you know that you can improve your print quality by slicing a STEP file instead of an STL?\nOrca Slicer supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!
|
||||
documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/step
|
||||
|
||||
[hint:Z seam location]
|
||||
|
|