Compare commits
6 Commits
v1.6.2
...
V1.0.10-sf
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f16521adf6 | ||
|
|
fc9d18faff | ||
|
|
ff768a6f68 | ||
|
|
9c0f6f1c72 | ||
|
|
7a7369c9ce | ||
|
|
687593f8d2 |
166
.clang-format
@@ -1,166 +0,0 @@
|
|||||||
---
|
|
||||||
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: 4
|
|
||||||
UseCRLF: false
|
|
||||||
UseTab: Never
|
|
||||||
WhitespaceSensitiveMacros:
|
|
||||||
- STRINGIZE
|
|
||||||
- PP_STRINGIZE
|
|
||||||
- BOOST_PP_STRINGIZE
|
|
||||||
- NS_SWIFT_NAME
|
|
||||||
- CF_SWIFT_NAME
|
|
||||||
...
|
|
||||||
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
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
|
|
||||||
2
.github/FUNDING.yml
vendored
@@ -1,2 +0,0 @@
|
|||||||
ko_fi: SoftFever
|
|
||||||
custom: https://paypal.me/softfever3d
|
|
||||||
29
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,29 +0,0 @@
|
|||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a report to help us improve
|
|
||||||
title: ''
|
|
||||||
labels: bug
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Describe the bug**
|
|
||||||
A clear and concise description of what the bug is.
|
|
||||||
|
|
||||||
**3mf File for This Bug**
|
|
||||||
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
|
|
||||||
|
|
||||||
**Expected behavior**
|
|
||||||
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]
|
|
||||||
10
.github/ISSUE_TEMPLATE/custom.md
vendored
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
name: Custom issue template
|
|
||||||
about: For generic ideas such as enhancement of a feature, some questions, and etc.
|
|
||||||
title: ''
|
|
||||||
labels: ''
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -1,20 +0,0 @@
|
|||||||
---
|
|
||||||
name: Feature request
|
|
||||||
about: Suggest an idea for this project
|
|
||||||
title: ''
|
|
||||||
labels: ''
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Is your feature request related to a problem? Please describe.**
|
|
||||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
||||||
|
|
||||||
**Describe the solution you'd like**
|
|
||||||
A clear and concise description of what you want to happen.
|
|
||||||
|
|
||||||
**Describe alternatives you've considered**
|
|
||||||
A clear and concise description of any alternative solutions or features you've considered.
|
|
||||||
|
|
||||||
**Additional context**
|
|
||||||
Add any other context or screenshots about the feature request here.
|
|
||||||
68
.github/workflows/build_linux.yml
vendored
@@ -1,68 +0,0 @@
|
|||||||
name: Build Linux
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
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 -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
|
|
||||||
- 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: Download and extract deps
|
|
||||||
working-directory: ${{ github.workspace }}
|
|
||||||
run: |
|
|
||||||
mkdir -p ${{ github.workspace }}/deps/build
|
|
||||||
mkdir -p ${{ github.workspace }}/deps/build/destdir
|
|
||||||
curl -LJO https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Mar/OrcaSlicer_dep_ubuntu_05-04-2023.tar.gz
|
|
||||||
tar -zxf OrcaSlicer_dep_ubuntu_05-04-2023.tar.gz -C ${{ github.workspace }}/deps/build
|
|
||||||
chown -R $(id -u):$(id -g) ${{ github.workspace }}/deps/build/destdir
|
|
||||||
ls -l ${{ github.workspace }}/deps/build/destdir
|
|
||||||
rm OrcaSlicer_dep_ubuntu_05-04-2023.tar.gz
|
|
||||||
|
|
||||||
|
|
||||||
- name: Build Studio
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
./BuildLinux.sh -isr
|
|
||||||
chmod +x ./build/OrcaSlicer_ubu64.AppImage
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: OrcaSlicer_Linux
|
|
||||||
path: './build/OrcaSlicer_ubu64.AppImage'
|
|
||||||
95
.github/workflows/build_mac_arm64.yml
vendored
@@ -1,95 +0,0 @@
|
|||||||
name: Build Mac AppleSilicon
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_osx_arm64:
|
|
||||||
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_arm64
|
|
||||||
|
|
||||||
# - 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 -zxf 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/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//\"}"
|
|
||||||
cd ${{ github.workspace }}/build_arm64/OrcaSlicer
|
|
||||||
zip -FSrq OrcaSlicer${ver}_Mac_AppleSilicon_signed.zip ./OrcaSlicer.app
|
|
||||||
|
|
||||||
# (wip: staple failed, error 65)
|
|
||||||
# - name: Notarize the app
|
|
||||||
# run: |
|
|
||||||
# cd ${{ github.workspace }}/build_arm64/OrcaSlicer
|
|
||||||
# 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 }}/build_arm64/OrcaSlicer/OrcaSlicer*.zip
|
|
||||||
94
.github/workflows/build_mac_x64.yml
vendored
@@ -1,94 +0,0 @@
|
|||||||
name: Build Mac Intel
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_osx_x86_64:
|
|
||||||
name: Build Mac Intel
|
|
||||||
runs-on: macos-12
|
|
||||||
|
|
||||||
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 -zxf 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/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//\"}"
|
|
||||||
cd ${{ github.workspace }}/build_x86_64/OrcaSlicer
|
|
||||||
zip -FSrq OrcaSlicer${ver}_Mac_Intel_signed.zip 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 }}/build_x86_64/OrcaSlicer/OrcaSlicer*.zip
|
|
||||||
64
.github/workflows/build_win.yml
vendored
@@ -1,64 +0,0 @@
|
|||||||
name: Build Win64
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
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_10April2023.zip", "$env:temp\OrcaSlicer_dep_10April2023.zip")'
|
|
||||||
- name: extract deps
|
|
||||||
working-directory: ${{ github.workspace }}/deps/build
|
|
||||||
shell: cmd
|
|
||||||
run: '"C:/Program Files/7-Zip/7z.exe" x %temp%\OrcaSlicer_dep_10April2023.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
|
||||||
Build.bat
|
Build.bat
|
||||||
/build*/
|
/build/
|
||||||
deps/build
|
deps/build
|
||||||
MYMETA.json
|
MYMETA.json
|
||||||
MYMETA.yml
|
MYMETA.yml
|
||||||
@@ -20,6 +20,6 @@ local-lib
|
|||||||
build-linux/*
|
build-linux/*
|
||||||
deps/build-linux/*
|
deps/build-linux/*
|
||||||
**/.DS_Store
|
**/.DS_Store
|
||||||
install_*
|
install_dir
|
||||||
build_*/
|
install_release
|
||||||
SVG
|
SVG
|
||||||
|
|||||||
2
Build.PL
@@ -124,7 +124,7 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
print "\n";
|
print "\n";
|
||||||
print "In the next step, you need to build the OrcaSlicer C++ library.\n";
|
print "In the next step, you need to build the BambuStudio C++ library.\n";
|
||||||
print "1) Create a build directory and change to it\n";
|
print "1) Create a build directory and change to it\n";
|
||||||
print "2) run cmake .. -DCMAKE_BUILD_TYPE=Release\n";
|
print "2) run cmake .. -DCMAKE_BUILD_TYPE=Release\n";
|
||||||
print "3) run make\n";
|
print "3) run make\n";
|
||||||
|
|||||||
260
BuildLinux.sh
@@ -1,260 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e # exit on first error
|
|
||||||
|
|
||||||
export ROOT=`pwd`
|
|
||||||
export NCORES=`nproc --all`
|
|
||||||
export CMAKE_BUILD_PARALLEL_LEVEL=${NCORES}
|
|
||||||
FOUND_GTK2=$(dpkg -l libgtk* | grep gtk2)
|
|
||||||
FOUND_GTK3=$(dpkg -l libgtk* | grep gtk-3)
|
|
||||||
|
|
||||||
function check_available_memory_and_disk() {
|
|
||||||
FREE_MEM_GB=$(free -g -t | grep 'Mem:' | rev | cut -d" " -f1 | rev)
|
|
||||||
MIN_MEM_GB=10
|
|
||||||
|
|
||||||
FREE_DISK_KB=$(df -k . | tail -1 | awk '{print $4}')
|
|
||||||
MIN_DISK_KB=$((10 * 1024 * 1024))
|
|
||||||
|
|
||||||
if [ ${FREE_MEM_GB} -le ${MIN_MEM_GB} ]; then
|
|
||||||
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: 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 ":dsiuhgbr" opt; do
|
|
||||||
case ${opt} in
|
|
||||||
u )
|
|
||||||
UPDATE_LIB="1"
|
|
||||||
;;
|
|
||||||
i )
|
|
||||||
BUILD_IMAGE="1"
|
|
||||||
;;
|
|
||||||
d )
|
|
||||||
BUILD_DEPS="1"
|
|
||||||
;;
|
|
||||||
s )
|
|
||||||
BUILD_BAMBU_STUDIO="1"
|
|
||||||
;;
|
|
||||||
b )
|
|
||||||
BUILD_DEBUG="1"
|
|
||||||
;;
|
|
||||||
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 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
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ $OPTIND -eq 1 ]
|
|
||||||
then
|
|
||||||
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 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
|
|
||||||
fi
|
|
||||||
|
|
||||||
# mkdir build
|
|
||||||
if [ ! -d "build" ]
|
|
||||||
then
|
|
||||||
mkdir build
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Addtional Dev packages for BambuStudio
|
|
||||||
export REQUIRED_DEV_PACKAGES="libmspack-dev libgstreamerd-3-dev libsecret-1-dev libwebkit2gtk-4.0-dev libosmesa6-dev libssl-dev libcurl4-openssl-dev eglexternalplatform-dev libudev-dev libdbus-1-dev extra-cmake-modules"
|
|
||||||
# libwebkit2gtk-4.1-dev ??
|
|
||||||
export DEV_PACKAGES_COUNT=$(echo ${REQUIRED_DEV_PACKAGES} | wc -w)
|
|
||||||
if [ $(dpkg --get-selections | grep -E "$(echo ${REQUIRED_DEV_PACKAGES} | tr ' ' '|')" | wc -l) -lt ${DEV_PACKAGES_COUNT} ]; then
|
|
||||||
sudo apt install -y ${REQUIRED_DEV_PACKAGES} git cmake wget file
|
|
||||||
fi
|
|
||||||
|
|
||||||
#FIXME: require root for -u option
|
|
||||||
if [[ -n "$UPDATE_LIB" ]]
|
|
||||||
then
|
|
||||||
echo -n -e "Updating linux ...\n"
|
|
||||||
# hwclock -s # DeftDawg: Why does SuperSlicer want to do this?
|
|
||||||
apt update
|
|
||||||
if [[ -z "$FOUND_GTK3" ]]
|
|
||||||
then
|
|
||||||
echo -e "\nInstalling: libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n"
|
|
||||||
apt install -y libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git
|
|
||||||
else
|
|
||||||
echo -e "\nFind libgtk-3, installing: libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n"
|
|
||||||
apt install -y libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git
|
|
||||||
fi
|
|
||||||
# for ubuntu 22.04:
|
|
||||||
ubu_version="$(cat /etc/issue)"
|
|
||||||
if [[ $ubu_version == "Ubuntu 22.04"* ]]
|
|
||||||
then
|
|
||||||
apt install -y curl libssl-dev libcurl4-openssl-dev m4
|
|
||||||
fi
|
|
||||||
if [[ -n "$BUILD_DEBUG" ]]
|
|
||||||
then
|
|
||||||
echo -e "\nInstalling: libssl-dev libcurl4-openssl-dev\n"
|
|
||||||
apt install -y libssl-dev libcurl4-openssl-dev
|
|
||||||
fi
|
|
||||||
echo -e "done\n"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
FOUND_GTK2_DEV=$(dpkg -l libgtk* | grep gtk2.0-dev || echo '')
|
|
||||||
FOUND_GTK3_DEV=$(dpkg -l libgtk* | grep gtk-3-dev || echo '')
|
|
||||||
echo "FOUND_GTK2=$FOUND_GTK2)"
|
|
||||||
if [[ -z "$FOUND_GTK2_DEV" ]]
|
|
||||||
then
|
|
||||||
if [[ -z "$FOUND_GTK3_DEV" ]]
|
|
||||||
then
|
|
||||||
echo "Error, you must install the dependencies before."
|
|
||||||
echo "Use option -u with sudo"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "[1/9] Updating submodules..."
|
|
||||||
{
|
|
||||||
# update submodule profiles
|
|
||||||
pushd resources/profiles
|
|
||||||
git submodule update --init
|
|
||||||
popd
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "[2/9] Changing date in version..."
|
|
||||||
{
|
|
||||||
# change date in version
|
|
||||||
sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc
|
|
||||||
}
|
|
||||||
echo "done"
|
|
||||||
|
|
||||||
# mkdir in deps
|
|
||||||
if [ ! -d "deps/build" ]
|
|
||||||
then
|
|
||||||
mkdir deps/build
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! [[ -n "$SKIP_RAM_CHECK" ]]
|
|
||||||
then
|
|
||||||
check_available_memory_and_disk
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -n "$BUILD_DEPS" ]]
|
|
||||||
then
|
|
||||||
echo "[3/9] Configuring dependencies..."
|
|
||||||
BUILD_ARGS=""
|
|
||||||
if [[ -n "$FOUND_GTK3_DEV" ]]
|
|
||||||
then
|
|
||||||
BUILD_ARGS="-DDEP_WX_GTK3=ON"
|
|
||||||
fi
|
|
||||||
if [[ -n "$BUILD_DEBUG" ]]
|
|
||||||
then
|
|
||||||
# have to build deps with debug & release or the cmake won't find evrything it needs
|
|
||||||
mkdir deps/build/release
|
|
||||||
pushd deps/build/release
|
|
||||||
cmake ../.. -DDESTDIR="../destdir" $BUILD_ARGS
|
|
||||||
make -j$NCORES
|
|
||||||
popd
|
|
||||||
BUILD_ARGS="${BUILD_ARGS} -DCMAKE_BUILD_TYPE=Debug"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# cmake deps
|
|
||||||
pushd deps/build
|
|
||||||
cmake .. $BUILD_ARGS
|
|
||||||
echo "done"
|
|
||||||
|
|
||||||
# make deps
|
|
||||||
echo "[4/9] Building dependencies..."
|
|
||||||
make -j$NCORES
|
|
||||||
echo "done"
|
|
||||||
|
|
||||||
# rename wxscintilla # TODO: DeftDawg: Does OrcaSlicer need this?
|
|
||||||
# echo "[5/9] Renaming wxscintilla library..."
|
|
||||||
# pushd destdir/usr/local/lib
|
|
||||||
# if [[ -z "$FOUND_GTK3_DEV" ]]
|
|
||||||
# then
|
|
||||||
# cp libwxscintilla-3.1.a libwx_gtk2u_scintilla-3.1.a
|
|
||||||
# else
|
|
||||||
# cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a
|
|
||||||
# fi
|
|
||||||
# popd
|
|
||||||
# echo "done"
|
|
||||||
|
|
||||||
# FIXME: only clean deps if compiling succeeds; otherwise reruns waste tonnes of time!
|
|
||||||
# clean deps
|
|
||||||
# echo "[6/9] Cleaning dependencies..."
|
|
||||||
# rm -rf dep_*
|
|
||||||
popd
|
|
||||||
echo "done"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -n "$BUILD_BAMBU_STUDIO" ]]
|
|
||||||
then
|
|
||||||
echo "[7/9] Configuring Slic3r..."
|
|
||||||
BUILD_ARGS=""
|
|
||||||
if [[ -n "$FOUND_GTK3_DEV" ]]
|
|
||||||
then
|
|
||||||
BUILD_ARGS="-DSLIC3R_GTK=3"
|
|
||||||
fi
|
|
||||||
if [[ -n "$BUILD_DEBUG" ]]
|
|
||||||
then
|
|
||||||
BUILD_ARGS="${BUILD_ARGS} -DCMAKE_BUILD_TYPE=Debug -DBBL_INTERNAL_TESTING=1"
|
|
||||||
else
|
|
||||||
BUILD_ARGS="${BUILD_ARGS} -DBBL_RELEASE_TO_PUBLIC=1 -DBBL_INTERNAL_TESTING=0"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# cmake
|
|
||||||
pushd build
|
|
||||||
cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 ${BUILD_ARGS}
|
|
||||||
echo "done"
|
|
||||||
|
|
||||||
# make Slic3r
|
|
||||||
echo "[8/9] Building 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?
|
|
||||||
|
|
||||||
popd
|
|
||||||
echo "done"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -e $ROOT/build/src/BuildLinuxImage.sh ]]; then
|
|
||||||
# Give proper permissions to script
|
|
||||||
chmod 755 $ROOT/build/src/BuildLinuxImage.sh
|
|
||||||
|
|
||||||
echo "[9/9] Generating Linux app..."
|
|
||||||
pushd build
|
|
||||||
if [[ -n "$BUILD_IMAGE" ]]
|
|
||||||
then
|
|
||||||
$ROOT/build/src/BuildLinuxImage.sh -i
|
|
||||||
else
|
|
||||||
$ROOT/build/src/BuildLinuxImage.sh
|
|
||||||
fi
|
|
||||||
popd
|
|
||||||
echo "done"
|
|
||||||
fi
|
|
||||||
102
CMakeLists.txt
@@ -1,5 +1,5 @@
|
|||||||
cmake_minimum_required(VERSION 3.13)
|
cmake_minimum_required(VERSION 3.13)
|
||||||
project(OrcaSlicer)
|
project(BambuStudio)
|
||||||
|
|
||||||
include("version.inc")
|
include("version.inc")
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
@@ -23,11 +23,11 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
option(SLIC3R_STATIC "Compile OrcaSlicer with static libraries (Boost, TBB, glew)" ${SLIC3R_STATIC_INITIAL})
|
option(SLIC3R_STATIC "Compile BambuStudio with static libraries (Boost, TBB, glew)" ${SLIC3R_STATIC_INITIAL})
|
||||||
option(SLIC3R_GUI "Compile OrcaSlicer with GUI components (OpenGL, wxWidgets)" 1)
|
option(SLIC3R_GUI "Compile BambuStudio with GUI components (OpenGL, wxWidgets)" 1)
|
||||||
option(SLIC3R_FHS "Assume OrcaSlicer is to be installed in a FHS directory structure" 0)
|
option(SLIC3R_FHS "Assume BambuStudio 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_WX_STABLE "Build against wxWidgets stable (3.0) as oppsed to dev (3.1) on Linux" 0)
|
||||||
option(SLIC3R_PROFILE "Compile OrcaSlicer with an invasive Shiny profiler" 0)
|
option(SLIC3R_PROFILE "Compile BambuStudio with an invasive Shiny profiler" 0)
|
||||||
option(SLIC3R_PCH "Use precompiled headers" 1)
|
option(SLIC3R_PCH "Use precompiled headers" 1)
|
||||||
option(SLIC3R_MSVC_COMPILE_PARALLEL "Compile on Visual Studio in parallel" 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)
|
option(SLIC3R_MSVC_PDB "Generate PDB files on MSVC in Release mode" 1)
|
||||||
@@ -53,9 +53,6 @@ if (APPLE)
|
|||||||
if (CMAKE_MACOSX_BUNDLE)
|
if (CMAKE_MACOSX_BUNDLE)
|
||||||
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
|
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE)
|
|
||||||
SET(CMAKE_XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "com.softfever3d.orca-slicer")
|
|
||||||
|
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Proposal for C++ unit tests and sandboxes
|
# Proposal for C++ unit tests and sandboxes
|
||||||
@@ -119,7 +116,7 @@ if (MINGW)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (NOT MSVC)
|
if (NOT MSVC)
|
||||||
# ARMs (Raspberry PI) use an unsigned char by default. Let's make it consistent for OrcaSlicer on all platforms.
|
# ARMs (Raspberry PI) use an unsigned char by default. Let's make it consistent for BambuStudio on all platforms.
|
||||||
add_compile_options(-fsigned-char)
|
add_compile_options(-fsigned-char)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
@@ -299,7 +296,7 @@ if(WIN32)
|
|||||||
if(MSVC)
|
if(MSVC)
|
||||||
# BOOST_ALL_NO_LIB: Avoid the automatic linking of Boost libraries on Windows. Rather rely on explicit linking.
|
# 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 )
|
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x601 -DBOOST_SYSTEM_USE_UTF8 )
|
||||||
# Force the source code encoding to UTF-8. See OrcaSlicer GH pull request #5583
|
# Force the source code encoding to UTF-8. See BambuStudio GH pull request #5583
|
||||||
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
||||||
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
|
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
|
||||||
endif(MSVC)
|
endif(MSVC)
|
||||||
@@ -311,34 +308,24 @@ add_definitions(-DwxUSE_UNICODE -D_UNICODE -DUNICODE -DWXINTL_NO_GETTEXT_MACRO)
|
|||||||
add_definitions(-DwxNO_UNSAFE_WXSTRING_CONV)
|
add_definitions(-DwxNO_UNSAFE_WXSTRING_CONV)
|
||||||
|
|
||||||
if (SLIC3R_PROFILE)
|
if (SLIC3R_PROFILE)
|
||||||
message("OrcaSlicer will be built with a Shiny invasive profiler")
|
message("BambuStudio will be built with a Shiny invasive profiler")
|
||||||
add_definitions(-DSLIC3R_PROFILE)
|
add_definitions(-DSLIC3R_PROFILE)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Disable optimization for RelWithDebInfo
|
# Disable optimization even with debugging on.
|
||||||
if(CMAKE_C_FLAGS_RELWITHDEBINFO MATCHES "/O2")
|
if (0)
|
||||||
string(REGEX REPLACE "/O2" "/Od" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
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")
|
||||||
endif()
|
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
|
# Find and configure boost
|
||||||
if(SLIC3R_STATIC)
|
if(SLIC3R_STATIC)
|
||||||
# Use static boost libraries.
|
# Use static boost libraries.
|
||||||
@@ -496,7 +483,16 @@ if (SLIC3R_STATIC AND NOT SLIC3R_STATIC_EXCLUDE_GLEW)
|
|||||||
set(GLEW_VERBOSE ON)
|
set(GLEW_VERBOSE ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(GLEW REQUIRED)
|
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(glfw3 REQUIRED)
|
find_package(glfw3 REQUIRED)
|
||||||
|
|
||||||
@@ -509,8 +505,7 @@ set(BBL_L18N_DIR "${CMAKE_CURRENT_SOURCE_DIR}/bbl/i18n")
|
|||||||
add_custom_target(gettext_make_pot
|
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
|
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"
|
-f "${BBL_L18N_DIR}/list.txt"
|
||||||
-o "${BBL_L18N_DIR}/OrcaSlicer.pot"
|
-o "${BBL_L18N_DIR}/BambuStudio.pot"
|
||||||
COMMAND hintsToPot ${SLIC3R_RESOURCES_DIR} ${BBL_L18N_DIR}
|
|
||||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||||
COMMENT "Generate pot file from strings in the source tree"
|
COMMENT "Generate pot file from strings in the source tree"
|
||||||
)
|
)
|
||||||
@@ -518,13 +513,13 @@ add_custom_target(gettext_merge_po_with_pot
|
|||||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||||
COMMENT "Merge localization po with new generted pot file"
|
COMMENT "Merge localization po with new generted pot file"
|
||||||
)
|
)
|
||||||
file(GLOB BBL_L10N_PO_FILES "${BBL_L18N_DIR}/*/OrcaSlicer*.po")
|
file(GLOB BBL_L10N_PO_FILES "${BBL_L18N_DIR}/*/BambuStudio*.po")
|
||||||
foreach(po_file ${BBL_L10N_PO_FILES})
|
foreach(po_file ${BBL_L10N_PO_FILES})
|
||||||
GET_FILENAME_COMPONENT(po_dir "${po_file}" DIRECTORY)
|
GET_FILENAME_COMPONENT(po_dir "${po_file}" DIRECTORY)
|
||||||
SET(po_new_file "${po_dir}/OrcaSlicer_.po")
|
SET(po_new_file "${po_dir}/BambuStudio_.po")
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET gettext_merge_po_with_pot PRE_BUILD
|
TARGET gettext_merge_po_with_pot PRE_BUILD
|
||||||
COMMAND msgmerge -N -o ${po_file} ${po_file} "${BBL_L18N_DIR}/OrcaSlicer.pot"
|
COMMAND msgmerge -N -o ${po_file} ${po_file} "${BBL_L18N_DIR}/BambuStudio.pot"
|
||||||
DEPENDS ${po_file}
|
DEPENDS ${po_file}
|
||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
@@ -532,11 +527,11 @@ add_custom_target(gettext_po_to_mo
|
|||||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||||
COMMENT "Generate localization po files (binary) from mo files (texts)"
|
COMMENT "Generate localization po files (binary) from mo files (texts)"
|
||||||
)
|
)
|
||||||
file(GLOB L10N_PO_FILES "${BBL_L18N_DIR}/*/OrcaSlicer*.po")
|
file(GLOB L10N_PO_FILES "${BBL_L18N_DIR}/*/BambuStudio*.po")
|
||||||
foreach(po_file ${BBL_L10N_PO_FILES})
|
foreach(po_file ${BBL_L10N_PO_FILES})
|
||||||
GET_FILENAME_COMPONENT(SECOND_FOLDER_ABSOLUTE ${po_file} DIRECTORY)
|
GET_FILENAME_COMPONENT(SECOND_FOLDER_ABSOLUTE ${po_file} DIRECTORY)
|
||||||
string(REGEX REPLACE ".*/(.*)" "\\1" po_dir "${SECOND_FOLDER_ABSOLUTE}" )
|
string(REGEX REPLACE ".*/(.*)" "\\1" po_dir "${SECOND_FOLDER_ABSOLUTE}" )
|
||||||
SET(mo_file "${L10N_DIR}/${po_dir}/OrcaSlicer.mo")
|
SET(mo_file "${L10N_DIR}/${po_dir}/BambuStudio.mo")
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET gettext_po_to_mo PRE_BUILD
|
TARGET gettext_po_to_mo PRE_BUILD
|
||||||
COMMAND msgfmt ARGS --check-format -o ${mo_file} ${po_file}
|
COMMAND msgfmt ARGS --check-format -o ${mo_file} ${po_file}
|
||||||
@@ -565,7 +560,7 @@ endif ()
|
|||||||
|
|
||||||
|
|
||||||
set(TOP_LEVEL_PROJECT_DIR ${PROJECT_SOURCE_DIR})
|
set(TOP_LEVEL_PROJECT_DIR ${PROJECT_SOURCE_DIR})
|
||||||
function(orcaslicer_copy_dlls target config postfix output_dlls)
|
function(bambustudio_copy_dlls target config postfix output_dlls)
|
||||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||||
set(_bits 64)
|
set(_bits 64)
|
||||||
elseif ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
|
elseif ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
|
||||||
@@ -617,7 +612,6 @@ function(orcaslicer_copy_dlls target config postfix output_dlls)
|
|||||||
${CMAKE_PREFIX_PATH}/bin/occt/TKXCAF.dll
|
${CMAKE_PREFIX_PATH}/bin/occt/TKXCAF.dll
|
||||||
${CMAKE_PREFIX_PATH}/bin/occt/TKXDESTEP.dll
|
${CMAKE_PREFIX_PATH}/bin/occt/TKXDESTEP.dll
|
||||||
${CMAKE_PREFIX_PATH}/bin/occt/TKXSBase.dll
|
${CMAKE_PREFIX_PATH}/bin/occt/TKXSBase.dll
|
||||||
${CMAKE_PREFIX_PATH}/bin/freetype.dll
|
|
||||||
DESTINATION ${_out_dir})
|
DESTINATION ${_out_dir})
|
||||||
|
|
||||||
set(${output_dlls}
|
set(${output_dlls}
|
||||||
@@ -652,19 +646,15 @@ function(orcaslicer_copy_dlls target config postfix output_dlls)
|
|||||||
${_out_dir}/TKXDESTEP.dll
|
${_out_dir}/TKXDESTEP.dll
|
||||||
${_out_dir}/TKXSBase.dll
|
${_out_dir}/TKXSBase.dll
|
||||||
|
|
||||||
${_out_dir}/freetype.dll
|
|
||||||
|
|
||||||
PARENT_SCOPE
|
PARENT_SCOPE
|
||||||
)
|
)
|
||||||
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
|
||||||
# libslic3r, OrcaSlicer GUI and the OrcaSlicer executable.
|
# libslic3r, BambuStudio GUI and the BambuStudio executable.
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT OrcaSlicer_app_gui)
|
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT BambuStudio_app_gui)
|
||||||
|
|
||||||
add_dependencies(gettext_make_pot hintsToPot)
|
|
||||||
|
|
||||||
# Perl bindings, currently only used for the unit / integration tests of libslic3r.
|
# Perl bindings, currently only used for the unit / integration tests of libslic3r.
|
||||||
# Also runs the unit / integration tests.
|
# Also runs the unit / integration tests.
|
||||||
@@ -681,11 +671,6 @@ if(SLIC3R_BUILD_TESTS)
|
|||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT WIN32 AND NOT APPLE)
|
|
||||||
set(SLIC3R_APP_CMD "orca-slicer")
|
|
||||||
configure_file(${LIBDIR}/platform/unix/build_appimage.sh.in ${CMAKE_CURRENT_BINARY_DIR}/build_appimage.sh @ONLY)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(BUILD_BBS_TEST_TOOLS "Build bbs test tools" OFF)
|
option(BUILD_BBS_TEST_TOOLS "Build bbs test tools" OFF)
|
||||||
if(BUILD_BBS_TEST_TOOLS)
|
if(BUILD_BBS_TEST_TOOLS)
|
||||||
add_subdirectory(bbs_test_tools)
|
add_subdirectory(bbs_test_tools)
|
||||||
@@ -697,20 +682,21 @@ if (WIN32)
|
|||||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
||||||
elseif (SLIC3R_FHS)
|
elseif (SLIC3R_FHS)
|
||||||
# CMAKE_INSTALL_FULL_DATAROOTDIR: read-only architecture-independent data root (share)
|
# CMAKE_INSTALL_FULL_DATAROOTDIR: read-only architecture-independent data root (share)
|
||||||
set(SLIC3R_FHS_RESOURCES "${CMAKE_INSTALL_FULL_DATAROOTDIR}/OrcaSlicer")
|
set(SLIC3R_FHS_RESOURCES "${CMAKE_INSTALL_FULL_DATAROOTDIR}/BambuStudio")
|
||||||
install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/ DESTINATION ${SLIC3R_FHS_RESOURCES}
|
install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/ DESTINATION ${SLIC3R_FHS_RESOURCES}
|
||||||
PATTERN "*/udev" EXCLUDE
|
PATTERN "*/udev" EXCLUDE
|
||||||
)
|
)
|
||||||
install(FILES src/platform/unix/OrcaSlicer.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
|
install(FILES src/platform/unix/BambuStudio.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
|
||||||
foreach(SIZE 32 128 192)
|
foreach(SIZE 32 128 192)
|
||||||
install(FILES ${SLIC3R_RESOURCES_DIR}/images/BambuStudio_${SIZE}px.png
|
install(FILES ${SLIC3R_RESOURCES_DIR}/images/BambuStudio_${SIZE}px.png
|
||||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME BambuStudio.png
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME BambuStudio.png
|
||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/udev/ DESTINATION lib/udev/rules.d)
|
||||||
elseif (CMAKE_MACOSX_BUNDLE)
|
elseif (CMAKE_MACOSX_BUNDLE)
|
||||||
# install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/OrcaSlicer.app/Contents/resources")
|
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/BambuStudio.app/Contents/resources")
|
||||||
else ()
|
else ()
|
||||||
install(FILES src/platform/unix/OrcaSlicer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
|
install(FILES src/platform/unix/BambuStudio.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications)
|
||||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
|||||||
@@ -1,71 +0,0 @@
|
|||||||
# 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 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 orca-slicer-builder localhost/orca-slicer-builder /bin/bash
|
|
||||||
#
|
|
||||||
# Debugging the resulting AppImage:
|
|
||||||
# 1) Install `gdb`
|
|
||||||
# 2) In a terminal in the same directory as the AppImage, start it with following:
|
|
||||||
# echo -e "run\nbt\nquit" | gdb ./BambuStudio_ubu64.AppImage
|
|
||||||
# 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 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 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>"
|
|
||||||
|
|
||||||
# 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 \
|
|
||||||
git \
|
|
||||||
build-essential \
|
|
||||||
autoconf pkgconf m4 \
|
|
||||||
cmake extra-cmake-modules \
|
|
||||||
libglu1-mesa-dev libglu1-mesa-dev \
|
|
||||||
libwayland-dev libxkbcommon-dev wayland-protocols \
|
|
||||||
eglexternalplatform-dev libglew-dev \
|
|
||||||
libgtk-3-dev \
|
|
||||||
libdbus-1-dev \
|
|
||||||
libcairo2-dev \
|
|
||||||
libgtk-3-dev libwebkit2gtk-4.0-dev \
|
|
||||||
libsoup2.4-dev \
|
|
||||||
libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-base1.0-dev libgstreamerd-3-dev \
|
|
||||||
libmspack-dev \
|
|
||||||
libosmesa6-dev \
|
|
||||||
libssl-dev libcurl4-openssl-dev libsecret-1-dev \
|
|
||||||
libudev-dev \
|
|
||||||
curl \
|
|
||||||
wget \
|
|
||||||
file \
|
|
||||||
sudo
|
|
||||||
|
|
||||||
COPY ./ OrcaSlicer
|
|
||||||
|
|
||||||
WORKDIR OrcaSlicer
|
|
||||||
|
|
||||||
# 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
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#!/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
@@ -1,23 +0,0 @@
|
|||||||
#!/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
@@ -1,92 +0,0 @@
|
|||||||
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"]
|
|
||||||
97
README.md
@@ -1,78 +1,45 @@
|
|||||||
|

|
||||||
|
|
||||||
# Orca Slicer
|
# BambuStudio
|
||||||
[](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_win.yml)
|
Bambu Studio is a cutting-edge, feature-rich slicing software.
|
||||||
[](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_arm64.yml)
|
It contains project-based workflows, systematically optimized slicing algorithms, and an easy-to-use graphic interface, bringing users an incredibly smooth printing experience.
|
||||||
[](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. It was previously known as BambuStudio-SoftFever.
|
|
||||||
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
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
Prebuilt binaries are available through the [github releases page](https://github.com/SoftFever/OrcaSlicer/releases/).
|
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.
|
||||||
|
|
||||||
# Main features
|
# What are Bambu Studio's main features?
|
||||||
- Auto calibrations for all printers
|
Key features are:
|
||||||
- Sandwich(inner-outer-inner) mode - an improved version of the `External perimeters first` mode
|
- Basic slicing features & GCode viewer
|
||||||
- Precise wall
|
- Multiple plates management
|
||||||
- Klipper support
|
- Remote control & monitoring
|
||||||
- More granular controls
|
- Auto-arrange objects
|
||||||
- More features can be found in [change notes](https://github.com/SoftFever/OrcaSlicer/releases/)
|
- 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
|
||||||
|
|
||||||
# How to install
|
Other major features are:
|
||||||
**Windows**:
|
- Advanced cooling logic controlling fan speed and dynamic print speed
|
||||||
1. Unzip the binaries to any folder you prefer, then execute orca-slicer.exe to start the application.
|
- Auto brim according to mechanical analysis
|
||||||
- *If you have troubles to run the build, you might need to install following runtimes:*
|
- Support arc path(G2/G3)
|
||||||
- [MicrosoftEdgeWebView2RuntimeInstallerX64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe)
|
- Support STEP format
|
||||||
- [vcredist2019_x64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/vcredist2019_x64.exe)
|
- Assembly & explosion view
|
||||||
|
- Flushing transition-filament into infill/object during filament change
|
||||||
|
|
||||||
**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. The app is signed but not notarized at the moment due to the proptiery network plugin.
|
|
||||||
We have two options to make it run on our machines
|
|
||||||
- Option 1:
|
|
||||||
Execute this command in terminal: `xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app`
|
|
||||||
```console
|
|
||||||
softfever@mac:~$ xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app
|
|
||||||
```
|
|
||||||
- Option 2:
|
|
||||||
- Step 1: open the app, a warning window will pop up
|
|
||||||

|
|
||||||
- Step 2: in `System Settings` -> `Privacy & Security`, click `Open Anyway`:
|
|
||||||

|
|
||||||
|
|
||||||
**Linux(Ubuntu)**:
|
|
||||||
1. If you run into trouble to execute it, try this command in terminal:
|
|
||||||
`chmod +x /path_to_appimage/OrcaSlicer_ubu64.AppImage`
|
|
||||||
# How to compile
|
# How to compile
|
||||||
- Windows 64-bit
|
Following platforms are currently supported to compile:
|
||||||
- Tools needed: Visual Studio 2019, Cmake, git, Strawberry Perl.
|
- Windows 64-bit, [Compile Guide](https://github.com/bambulab/BambuStudio/wiki/Windows-Compile-Guide)
|
||||||
- Run `build_release.bat` in `x64 Native Tools Command Prompt for VS 2019`
|
- Mac 64-bit, [Compile Guide](https://github.com/bambulab/BambuStudio/wiki/Mac-Compile-Guide)
|
||||||
|
|
||||||
- Mac 64-bit
|
# Report issue
|
||||||
- Tools needed: Xcode, Cmake, git, gettext
|
You can add an issue to the [github tracker](https://github.com/bambulab/BambuStudio/issues) if **it isn't already present.**
|
||||||
- run `build_release_macos.sh`
|
|
||||||
|
|
||||||
- Ubuntu
|
|
||||||
- run `BuildLinux.sh -udisr`
|
|
||||||
|
|
||||||
|
|
||||||
# Note:
|
|
||||||
If you're running Klipper, it's recommended to add the following configuration to your `printer.cfg` file.
|
|
||||||
```
|
|
||||||
# Enable object exclusion
|
|
||||||
[exclude_object]
|
|
||||||
|
|
||||||
# Enable arcs support
|
|
||||||
[gcode_arcs]
|
|
||||||
resolution: 0.1
|
|
||||||
```
|
|
||||||
|
|
||||||
# License
|
# 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.
|
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.
|
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.
|
||||||
@@ -81,5 +48,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 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 Orca Slicer and provides extended functionalities for users.
|
The BambuNetworking and BambuTunnel plugins are based on non-free libraries. They are optional to the Bambu Studio and provides extended functionalities for users.
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 136 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 211 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 729 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 228 KiB |
|
Before Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 353 KiB |
|
Before Width: | Height: | Size: 217 KiB |
|
Before Width: | Height: | Size: 305 KiB |
|
Before Width: | Height: | Size: 158 KiB |
17765
bbl/i18n/de/BambuStudio_de.po
Normal file
17650
bbl/i18n/es/BambuStudio_es.po
Normal file
7479
bbl/i18n/fr/BambuStudio_fr.po
Normal file
@@ -10,13 +10,9 @@ src/slic3r/GUI/Gizmos/GizmoObjectManipulation.cpp
|
|||||||
src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoFaceDetector.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoFaceDetector.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoModifier.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoSeam.hpp
|
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoText.cpp
|
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoText.hpp
|
|
||||||
src/slic3r/GUI/GUI.cpp
|
src/slic3r/GUI/GUI.cpp
|
||||||
src/slic3r/GUI/GUI_App.cpp
|
src/slic3r/GUI/GUI_App.cpp
|
||||||
src/slic3r/GUI/GUI_AuxiliaryList.cpp
|
|
||||||
src/slic3r/GUI/GUI_Init.cpp
|
src/slic3r/GUI/GUI_Init.cpp
|
||||||
src/slic3r/GUI/GUI_Factories.cpp
|
src/slic3r/GUI/GUI_Factories.cpp
|
||||||
src/slic3r/GUI/GUI_ObjectList.cpp
|
src/slic3r/GUI/GUI_ObjectList.cpp
|
||||||
@@ -26,8 +22,6 @@ src/slic3r/GUI/GUI_ObjectTable.hpp
|
|||||||
src/slic3r/GUI/GUI_ObjectTableSettings.cpp
|
src/slic3r/GUI/GUI_ObjectTableSettings.cpp
|
||||||
src/slic3r/GUI/GUI_ObjectTableSettings.hpp
|
src/slic3r/GUI/GUI_ObjectTableSettings.hpp
|
||||||
src/slic3r/GUI/GUI_Preview.cpp
|
src/slic3r/GUI/GUI_Preview.cpp
|
||||||
src/slic3r/GUI/HintNotification.cpp
|
|
||||||
src/slic3r/GUI/IMSlider.cpp
|
|
||||||
src/slic3r/GUI/Widgets/SideTools.cpp
|
src/slic3r/GUI/Widgets/SideTools.cpp
|
||||||
src/slic3r/GUI/Widgets/AMSControl.cpp
|
src/slic3r/GUI/Widgets/AMSControl.cpp
|
||||||
src/slic3r/GUI/ImGuiWrapper.cpp
|
src/slic3r/GUI/ImGuiWrapper.cpp
|
||||||
@@ -39,17 +33,10 @@ src/slic3r/GUI/Jobs/PlaterJob.cpp
|
|||||||
src/slic3r/GUI/Jobs/RotoptimizeJob.cpp
|
src/slic3r/GUI/Jobs/RotoptimizeJob.cpp
|
||||||
src/slic3r/GUI/Jobs/BindJob.cpp
|
src/slic3r/GUI/Jobs/BindJob.cpp
|
||||||
src/slic3r/GUI/Jobs/PrintJob.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/AboutDialog.cpp
|
||||||
src/slic3r/GUI/AMSMaterialsSetting.cpp
|
src/slic3r/GUI/AMSMaterialsSetting.cpp
|
||||||
src/slic3r/GUI/ExtrusionCalibration.cpp
|
|
||||||
src/slic3r/GUI/AMSMappingPopup.cpp
|
|
||||||
src/slic3r/GUI/AMSSetting.cpp
|
src/slic3r/GUI/AMSSetting.cpp
|
||||||
src/slic3r/GUI/BBLTopbar.cpp
|
src/slic3r/GUI/BBLTopbar.cpp
|
||||||
src/slic3r/GUI/DownloadProgressDialog.cpp
|
|
||||||
src/slic3r/GUI/RecenterDialog.cpp
|
|
||||||
src/slic3r/GUI/BackgroundSlicingProcess.cpp
|
src/slic3r/GUI/BackgroundSlicingProcess.cpp
|
||||||
src/slic3r/GUI/BedShapeDialog.cpp
|
src/slic3r/GUI/BedShapeDialog.cpp
|
||||||
src/slic3r/GUI/BedShapeDialog.hpp
|
src/slic3r/GUI/BedShapeDialog.hpp
|
||||||
@@ -62,12 +49,10 @@ src/slic3r/GUI/GLCanvas3D.cpp
|
|||||||
src/slic3r/GUI/Calibration.cpp
|
src/slic3r/GUI/Calibration.cpp
|
||||||
src/slic3r/GUI/CameraPopup.cpp
|
src/slic3r/GUI/CameraPopup.cpp
|
||||||
src/slic3r/GUI/ConnectPrinter.cpp
|
src/slic3r/GUI/ConnectPrinter.cpp
|
||||||
|
src/slic3r/GUI/DebugToolDialog.cpp
|
||||||
src/slic3r/GUI/HMSPanel.cpp
|
src/slic3r/GUI/HMSPanel.cpp
|
||||||
src/slic3r/GUI/MainFrame.cpp
|
src/slic3r/GUI/MainFrame.cpp
|
||||||
src/slic3r/GUI/MediaPlayCtrl.cpp
|
src/slic3r/GUI/MediaPlayCtrl.cpp
|
||||||
src/slic3r/GUI/MediaFilePanel.cpp
|
|
||||||
src/slic3r/GUI/ImageGrid.cpp
|
|
||||||
src/slic3r/GUI/Printer/PrinterFileSystem.cpp
|
|
||||||
src/slic3r/GUI/Mouse3DController.cpp
|
src/slic3r/GUI/Mouse3DController.cpp
|
||||||
src/slic3r/GUI/StatusPanel.cpp
|
src/slic3r/GUI/StatusPanel.cpp
|
||||||
src/slic3r/GUI/Monitor.cpp
|
src/slic3r/GUI/Monitor.cpp
|
||||||
@@ -77,7 +62,6 @@ src/slic3r/GUI/NotificationManager.cpp
|
|||||||
src/slic3r/GUI/ObjectDataViewModel.cpp
|
src/slic3r/GUI/ObjectDataViewModel.cpp
|
||||||
src/slic3r/GUI/OpenGLManager.cpp
|
src/slic3r/GUI/OpenGLManager.cpp
|
||||||
src/slic3r/GUI/OptionsGroup.cpp
|
src/slic3r/GUI/OptionsGroup.cpp
|
||||||
src/slic3r/GUI/PrintOptionsDialog.cpp
|
|
||||||
src/slic3r/GUI/ParamsPanel.cpp
|
src/slic3r/GUI/ParamsPanel.cpp
|
||||||
src/slic3r/GUI/PartPlate.cpp
|
src/slic3r/GUI/PartPlate.cpp
|
||||||
src/slic3r/GUI/Plater.cpp
|
src/slic3r/GUI/Plater.cpp
|
||||||
@@ -85,15 +69,12 @@ src/slic3r/GUI/Preferences.cpp
|
|||||||
src/slic3r/GUI/PresetComboBoxes.cpp
|
src/slic3r/GUI/PresetComboBoxes.cpp
|
||||||
src/slic3r/GUI/PresetHints.cpp
|
src/slic3r/GUI/PresetHints.cpp
|
||||||
src/slic3r/GUI/ProgressStatusBar.cpp
|
src/slic3r/GUI/ProgressStatusBar.cpp
|
||||||
src/slic3r/GUI/PlateSettingsDialog.cpp
|
|
||||||
src/slic3r/GUI/PrivacyUpdateDialog.cpp
|
|
||||||
src/slic3r/GUI/PublishDialog.cpp
|
src/slic3r/GUI/PublishDialog.cpp
|
||||||
src/slic3r/GUI/SavePresetDialog.cpp
|
src/slic3r/GUI/SavePresetDialog.cpp
|
||||||
src/slic3r/GUI/Search.cpp
|
src/slic3r/GUI/Search.cpp
|
||||||
src/slic3r/GUI/Selection.cpp
|
src/slic3r/GUI/Selection.cpp
|
||||||
src/slic3r/GUI/SelectMachine.cpp
|
src/slic3r/GUI/SelectMachine.cpp
|
||||||
src/slic3r/GUI/SendSystemInfoDialog.cpp
|
src/slic3r/GUI/SendSystemInfoDialog.cpp
|
||||||
src/slic3r/GUI/SendToPrinter.cpp
|
|
||||||
src/slic3r/GUI/BindDialog.cpp
|
src/slic3r/GUI/BindDialog.cpp
|
||||||
src/slic3r/GUI/Tab.cpp
|
src/slic3r/GUI/Tab.cpp
|
||||||
src/slic3r/GUI/Tab.hpp
|
src/slic3r/GUI/Tab.hpp
|
||||||
@@ -106,10 +87,6 @@ src/slic3r/GUI/WebUserLoginDialog.cpp
|
|||||||
src/slic3r/GUI/WebGuideDialog.cpp
|
src/slic3r/GUI/WebGuideDialog.cpp
|
||||||
src/slic3r/GUI/KBShortcutsDialog.hpp
|
src/slic3r/GUI/KBShortcutsDialog.hpp
|
||||||
src/slic3r/GUI/KBShortcutsDialog.cpp
|
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/FixModelByWin10.cpp
|
||||||
src/slic3r/Utils/PresetUpdater.cpp
|
src/slic3r/Utils/PresetUpdater.cpp
|
||||||
src/slic3r/Utils/Http.cpp
|
src/slic3r/Utils/Http.cpp
|
||||||
@@ -129,4 +106,4 @@ src/libslic3r/PrintObject.cpp
|
|||||||
src/libslic3r/PrintObjectSlice.cpp
|
src/libslic3r/PrintObjectSlice.cpp
|
||||||
src/libslic3r/PlaceholderParser.cpp
|
src/libslic3r/PlaceholderParser.cpp
|
||||||
src/libslic3r/TreeSupport.cpp
|
src/libslic3r/TreeSupport.cpp
|
||||||
src/slic3r/GUI/calib_dlg.cpp
|
|
||||||
|
|||||||
@@ -2,12 +2,12 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string.h>
|
|
||||||
namespace BambuStudio {
|
namespace BambuStudio {
|
||||||
|
|
||||||
//BBS: only check wodth when dE is longer than this value
|
//BBS: only check wodth when dE is longer than this value
|
||||||
const double CHECK_WIDTH_E_THRESHOLD = 0.0025;
|
const double CHECK_WIDTH_E_THRESHOLD = 0.0025;
|
||||||
const double WIDTH_THRESHOLD = 0.02;
|
const double WIDTH_THRESHOLD = 0.012;
|
||||||
const double RADIUS_THRESHOLD = 0.005;
|
const double RADIUS_THRESHOLD = 0.005;
|
||||||
|
|
||||||
const double filament_diameter = 1.75;
|
const double filament_diameter = 1.75;
|
||||||
@@ -19,11 +19,6 @@ const std::string Wipe_Start_Tag = " WIPE_START";
|
|||||||
const std::string Wipe_End_Tag = " WIPE_END";
|
const std::string Wipe_End_Tag = " WIPE_END";
|
||||||
const std::string Layer_Change_Tag = " CHANGE_LAYER";
|
const std::string Layer_Change_Tag = " CHANGE_LAYER";
|
||||||
const std::string Height_Tag = " LAYER_HEIGHT: ";
|
const std::string Height_Tag = " LAYER_HEIGHT: ";
|
||||||
const std::string filament_flow_ratio_tag = " filament_flow_ratio";
|
|
||||||
const std::string nozzle_temperature_Tag = " nozzle_temperature =";
|
|
||||||
const std::string nozzle_temperature_initial_layer_Tag = " nozzle_temperature_initial_layer";
|
|
||||||
const std::string Z_HEIGHT_TAG = " Z_HEIGHT: ";
|
|
||||||
const std::string Initial_Layer_Ptint_Height_Tag = " initial_layer_print_height =";
|
|
||||||
|
|
||||||
GCodeCheckResult GCodeChecker::parse_file(const std::string& path)
|
GCodeCheckResult GCodeChecker::parse_file(const std::string& path)
|
||||||
{
|
{
|
||||||
@@ -110,19 +105,6 @@ GCodeCheckResult GCodeChecker::parse_comment(GCodeLine& line)
|
|||||||
// extrusion role tag
|
// extrusion role tag
|
||||||
if (starts_with(comment, Extrusion_Role_Tag)) {
|
if (starts_with(comment, Extrusion_Role_Tag)) {
|
||||||
m_role = string_to_role(comment.substr(Extrusion_Role_Tag.length()));
|
m_role = string_to_role(comment.substr(Extrusion_Role_Tag.length()));
|
||||||
if (m_role == erExternalPerimeter) {
|
|
||||||
|
|
||||||
if (z_height == initial_layer_height && nozzle_temp != nozzle_temperature_initial_layer[filament_id]) {
|
|
||||||
std::cout << "invalid filament nozzle initial layer temperature comment with invalid value!" << std::endl;
|
|
||||||
return GCodeCheckResult::ParseFailed;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (z_height != initial_layer_height && nozzle_temp != nozzle_temperature[filament_id]) {
|
|
||||||
std::cout << "invalid filament nozzle temperature comment with invalid value!" << std::endl;
|
|
||||||
return GCodeCheckResult::ParseFailed;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (starts_with(comment, Wipe_Start_Tag)) {
|
} else if (starts_with(comment, Wipe_Start_Tag)) {
|
||||||
m_wiping = true;
|
m_wiping = true;
|
||||||
} else if (starts_with(comment, Wipe_End_Tag)) {
|
} else if (starts_with(comment, Wipe_End_Tag)) {
|
||||||
@@ -141,41 +123,7 @@ GCodeCheckResult GCodeChecker::parse_comment(GCodeLine& line)
|
|||||||
}
|
}
|
||||||
} else if (starts_with(comment, Layer_Change_Tag)) {
|
} else if (starts_with(comment, Layer_Change_Tag)) {
|
||||||
m_layer_num++;
|
m_layer_num++;
|
||||||
} else if (starts_with(comment, filament_flow_ratio_tag))
|
|
||||||
{
|
|
||||||
std::string str = comment.substr(filament_flow_ratio_tag.size()+3);
|
|
||||||
if (!parse_double_from_str(str, filament_flow_ratio))
|
|
||||||
{
|
|
||||||
std::cout << "invalid filament flow ratio comment with invalid value!" << std::endl;
|
|
||||||
return GCodeCheckResult::ParseFailed;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (starts_with(comment, nozzle_temperature_Tag)) {
|
|
||||||
std::string str = comment.substr(nozzle_temperature_Tag.size() + 1);
|
|
||||||
if (!parse_double_from_str(str, nozzle_temperature)) {
|
|
||||||
std::cout << "invalid nozzle temperature comment with invalid value!" << std::endl;
|
|
||||||
return GCodeCheckResult::ParseFailed;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (starts_with(comment, nozzle_temperature_initial_layer_Tag)) {
|
|
||||||
std::string str = comment.substr(nozzle_temperature_initial_layer_Tag.size() + 3);
|
|
||||||
if (!parse_double_from_str(str, nozzle_temperature_initial_layer)) {
|
|
||||||
std::cout << "invalid nozzle temperature initial layer comment with invalid value!" << std::endl;
|
|
||||||
return GCodeCheckResult::ParseFailed;
|
|
||||||
}
|
|
||||||
} else if (starts_with(comment, Z_HEIGHT_TAG)) {
|
|
||||||
std::string str = comment.substr(Z_HEIGHT_TAG.size());
|
|
||||||
if (!parse_double_from_str(str, z_height)) {
|
|
||||||
std::cout << "invalid z height comment with invalid value!" << std::endl;
|
|
||||||
return GCodeCheckResult::ParseFailed;
|
|
||||||
}
|
|
||||||
} else if (starts_with(comment, Initial_Layer_Ptint_Height_Tag)) {
|
|
||||||
std::string str = comment.substr(Initial_Layer_Ptint_Height_Tag.size());
|
|
||||||
if (!parse_double_from_str(str, initial_layer_height)) {
|
|
||||||
std::cout << "invalid initial layer height comment with invalid value!" << std::endl;
|
|
||||||
return GCodeCheckResult::ParseFailed;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return GCodeCheckResult::Success;
|
return GCodeCheckResult::Success;
|
||||||
}
|
}
|
||||||
@@ -205,32 +153,11 @@ GCodeCheckResult GCodeChecker::parse_command(GCodeLine& gcode_line)
|
|||||||
{
|
{
|
||||||
case 82: { ret = parse_M82(gcode_line); break; } // Set to Absolute extrusion
|
case 82: { ret = parse_M82(gcode_line); break; } // Set to Absolute extrusion
|
||||||
case 83: { ret = parse_M83(gcode_line); break; } // Set to Relative extrusion
|
case 83: { ret = parse_M83(gcode_line); break; } // Set to Relative extrusion
|
||||||
case 104: {
|
|
||||||
ret = parse_M104_M109(gcode_line);
|
|
||||||
break;
|
|
||||||
} // Set to nozzle temperature
|
|
||||||
case 109: {
|
|
||||||
ret = parse_M104_M109(gcode_line);
|
|
||||||
break;
|
|
||||||
} // Set to nozzle temperature
|
|
||||||
default: { break; }
|
default: { break; }
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'T':{
|
case 'T':{
|
||||||
|
|
||||||
int pt = ::atoi(&cmd[1]);
|
|
||||||
if (pt == 1000 || pt == 1100 || pt == 255) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pt < 0 || pt > 254 || pt >= filament_flow_ratio.size()) {
|
|
||||||
std::cout << "Invalid T command"<<std::endl;
|
|
||||||
ret = GCodeCheckResult::ParseFailed;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
filament_id = pt;
|
|
||||||
flow_ratio = filament_flow_ratio[pt];
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
@@ -262,7 +189,6 @@ GCodeCheckResult GCodeChecker::parse_axis(GCodeLine& gcode_line)
|
|||||||
case 'F': axis = F; break;
|
case 'F': axis = F; break;
|
||||||
case 'I': axis = I; break;
|
case 'I': axis = I; break;
|
||||||
case 'J': axis = J; break;
|
case 'J': axis = J; break;
|
||||||
case 'P': axis = P; break;
|
|
||||||
default:
|
default:
|
||||||
//BBS: invalid command which has invalid axis
|
//BBS: invalid command which has invalid axis
|
||||||
std::cout << "Invalid gcode because of invalid axis!" << std::endl;
|
std::cout << "Invalid gcode because of invalid axis!" << std::endl;
|
||||||
@@ -340,7 +266,8 @@ GCodeCheckResult GCodeChecker::parse_G2_G3(GCodeLine& gcode_line)
|
|||||||
return GCodeCheckResult::ParseFailed;
|
return GCodeCheckResult::ParseFailed;
|
||||||
}
|
}
|
||||||
//BBS: invalid G2_G3 command which has no X and Y axis at same time
|
//BBS: invalid G2_G3 command which has no X and Y axis at same time
|
||||||
if (!gcode_line.has(X) && !gcode_line.has(Y) && !gcode_line.has(I) && !gcode_line.has(J)) {
|
if (!gcode_line.has(X) &&
|
||||||
|
!gcode_line.has(Y)) {
|
||||||
if (!gcode_line.has(X) || !gcode_line.has(P) || (int)gcode_line.get(P) != 1) {
|
if (!gcode_line.has(X) || !gcode_line.has(P) || (int)gcode_line.get(P) != 1) {
|
||||||
std::cout << "Invalid G2_G3 gcode because of no X and Y axis at same time!" << std::endl;
|
std::cout << "Invalid G2_G3 gcode because of no X and Y axis at same time!" << std::endl;
|
||||||
return GCodeCheckResult::ParseFailed;
|
return GCodeCheckResult::ParseFailed;
|
||||||
@@ -431,30 +358,11 @@ GCodeCheckResult GCodeChecker::parse_M83(const GCodeLine& gcode_line)
|
|||||||
return GCodeCheckResult::Success;
|
return GCodeCheckResult::Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
GCodeCheckResult GCodeChecker::parse_M104_M109(const GCodeLine &gcode_line)
|
|
||||||
{
|
|
||||||
const char *c = gcode_line.m_raw.c_str();
|
|
||||||
const char *rs = strchr(c,'S');
|
|
||||||
|
|
||||||
std::string str=rs;
|
|
||||||
str = str.substr(1);
|
|
||||||
for (int i = 0; i < str.size(); i++) {
|
|
||||||
if (str[i] == ' ')
|
|
||||||
str=str.substr(0,i);
|
|
||||||
}
|
|
||||||
if (!parse_double_from_str(str, nozzle_temp)) {
|
|
||||||
std::cout << "invalid nozzle temperature comment with invalid value!" << std::endl;
|
|
||||||
return GCodeCheckResult::ParseFailed;
|
|
||||||
}
|
|
||||||
|
|
||||||
return GCodeCheckResult::Success;
|
|
||||||
}
|
|
||||||
|
|
||||||
double GCodeChecker::calculate_G1_width(const std::array<double, 3>& source,
|
double GCodeChecker::calculate_G1_width(const std::array<double, 3>& source,
|
||||||
const std::array<double, 3>& target,
|
const std::array<double, 3>& target,
|
||||||
double e, double height, bool is_bridge) const
|
double e, double height, bool is_bridge) const
|
||||||
{
|
{
|
||||||
double volume = (e / flow_ratio) * Pi * (filament_diameter / 2.0f) * (filament_diameter / 2.0f);
|
double volume = e * Pi * (filament_diameter/2.0f) * (filament_diameter/2.0f);
|
||||||
std::array<double, 3> delta = { target[0] - source[0],
|
std::array<double, 3> delta = { target[0] - source[0],
|
||||||
target[1] - source[1],
|
target[1] - source[1],
|
||||||
target[2] - source[2] };
|
target[2] - source[2] };
|
||||||
@@ -481,9 +389,8 @@ double GCodeChecker::calculate_G2_G3_width(const std::array<double, 2>& source,
|
|||||||
(radian < 0 ? -radian : 2 * Pi - radian);
|
(radian < 0 ? -radian : 2 * Pi - radian);
|
||||||
double radius = sqrt(v1[0] * v1[0] + v1[1] * v1[1]);
|
double radius = sqrt(v1[0] * v1[0] + v1[1] * v1[1]);
|
||||||
double length = radius * radian;
|
double length = radius * radian;
|
||||||
double volume = (e / flow_ratio) * Pi * (filament_diameter / 2) * (filament_diameter / 2);
|
double volume = e * Pi * (filament_diameter/2) * (filament_diameter/2);
|
||||||
double mm3_per_mm = volume / length;
|
double mm3_per_mm = volume / length;
|
||||||
|
|
||||||
return is_bridge? 2 * sqrt(mm3_per_mm/Pi) :
|
return is_bridge? 2 * sqrt(mm3_per_mm/Pi) :
|
||||||
(mm3_per_mm / height) + height * (1 - 0.25 * Pi);
|
(mm3_per_mm / height) + height * (1 - 0.25 * Pi);
|
||||||
}
|
}
|
||||||
@@ -574,15 +481,12 @@ GCodeCheckResult GCodeChecker::check_G0_G1_width(const GCodeLine& line)
|
|||||||
std::array<double, 3> target = { m_end_position[X], m_end_position[Y], m_end_position[Z] };
|
std::array<double, 3> target = { m_end_position[X], m_end_position[Y], m_end_position[Z] };
|
||||||
|
|
||||||
bool is_bridge = m_role == erOverhangPerimeter || m_role == erBridgeInfill;
|
bool is_bridge = m_role == erOverhangPerimeter || m_role == erBridgeInfill;
|
||||||
if (!is_bridge) {
|
double width_real = calculate_G1_width(source, target, delta_pos[E], m_height, is_bridge);
|
||||||
double width_real = calculate_G1_width(source, target, delta_pos[E], m_height, is_bridge);
|
if (fabs(width_real - m_width) > WIDTH_THRESHOLD) {
|
||||||
if (fabs(width_real - m_width) > WIDTH_THRESHOLD) {
|
std::cout << "Invalid G0_G1 because has abnormal line width." << std::endl;
|
||||||
std::cout << "Invalid G0_G1 because has abnormal line width." << std::endl;
|
std::cout << "Width: " << m_width << " Width_real: " << width_real << std::endl;
|
||||||
std::cout << "Width: " << m_width << " Width_real: " << width_real << std::endl;
|
return GCodeCheckResult::CheckFailed;
|
||||||
return GCodeCheckResult::CheckFailed;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return GCodeCheckResult::Success;
|
return GCodeCheckResult::Success;
|
||||||
@@ -652,16 +556,12 @@ GCodeCheckResult GCodeChecker::check_G2_G3_width(const GCodeLine& line)
|
|||||||
m_role != erGapFill &&
|
m_role != erGapFill &&
|
||||||
delta_e > CHECK_WIDTH_E_THRESHOLD) {
|
delta_e > CHECK_WIDTH_E_THRESHOLD) {
|
||||||
bool is_bridge = m_role == erOverhangPerimeter || m_role == erBridgeInfill;
|
bool is_bridge = m_role == erOverhangPerimeter || m_role == erBridgeInfill;
|
||||||
|
double width_real = calculate_G2_G3_width(source, target, center, is_ccw, delta_e, m_height, is_bridge);
|
||||||
if (!is_bridge) {
|
if (fabs(width_real - m_width) > WIDTH_THRESHOLD) {
|
||||||
double width_real = calculate_G2_G3_width(source, target, center, is_ccw, delta_e, m_height, is_bridge);
|
std::cout << "Invalid G2_G3 because has abnormal line width." << std::endl;
|
||||||
if (fabs(width_real - m_width) > WIDTH_THRESHOLD) {
|
std::cout << "Width: " << m_width << " Width_real: " << width_real << std::endl;
|
||||||
std::cout << "Invalid G2_G3 because has abnormal line width." << std::endl;
|
return GCodeCheckResult::CheckFailed;
|
||||||
std::cout << "Width: " << m_width << " Width_real: " << width_real << std::endl;
|
|
||||||
return GCodeCheckResult::CheckFailed;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return GCodeCheckResult::Success;
|
return GCodeCheckResult::Success;
|
||||||
|
|||||||
@@ -108,7 +108,6 @@ private:
|
|||||||
GCodeCheckResult parse_G92(GCodeLine& gcode_line);
|
GCodeCheckResult parse_G92(GCodeLine& gcode_line);
|
||||||
GCodeCheckResult parse_M82(const GCodeLine& gcode_line);
|
GCodeCheckResult parse_M82(const GCodeLine& gcode_line);
|
||||||
GCodeCheckResult parse_M83(const GCodeLine& gcode_line);
|
GCodeCheckResult parse_M83(const GCodeLine& gcode_line);
|
||||||
GCodeCheckResult parse_M104_M109(const GCodeLine &gcode_line);
|
|
||||||
|
|
||||||
GCodeCheckResult parse_comment(GCodeLine& gcode_line);
|
GCodeCheckResult parse_comment(GCodeLine& gcode_line);
|
||||||
|
|
||||||
@@ -161,38 +160,6 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool parse_double_from_str(const std::string &input, std::vector<double> &out)
|
|
||||||
{
|
|
||||||
|
|
||||||
std::string cmd=input;
|
|
||||||
size_t read = 0;
|
|
||||||
|
|
||||||
while (cmd.size() >= 5)
|
|
||||||
{
|
|
||||||
int pt = 0;
|
|
||||||
for (pt = 0; pt < cmd.size(); pt++) {
|
|
||||||
char temp = cmd[pt];
|
|
||||||
if (temp == ',')
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
double num = std::stod(cmd.substr(0, pt), &read);
|
|
||||||
|
|
||||||
out.push_back(num);
|
|
||||||
cmd = cmd.substr(pt+1);
|
|
||||||
break;
|
|
||||||
} catch (...) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
double num = std::stod(cmd, &read);
|
|
||||||
out.push_back(num);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
EPositioningType m_global_positioning_type = EPositioningType::Absolute;
|
EPositioningType m_global_positioning_type = EPositioningType::Absolute;
|
||||||
EPositioningType m_e_local_positioning_type = EPositioningType::Absolute;
|
EPositioningType m_e_local_positioning_type = EPositioningType::Absolute;
|
||||||
@@ -207,14 +174,6 @@ private:
|
|||||||
int m_layer_num = 0;
|
int m_layer_num = 0;
|
||||||
double m_height = 0.0;
|
double m_height = 0.0;
|
||||||
double m_width = 0.0;
|
double m_width = 0.0;
|
||||||
double z_height=0.0f;
|
|
||||||
double initial_layer_height=0.0f;
|
|
||||||
int filament_id;
|
|
||||||
double flow_ratio = 0;
|
|
||||||
double nozzle_temp = 0.0f;
|
|
||||||
std::vector<double> filament_flow_ratio;
|
|
||||||
std::vector<double> nozzle_temperature;
|
|
||||||
std::vector<double> nozzle_temperature_initial_layer;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,22 +2,13 @@ set WP=%CD%
|
|||||||
cd deps
|
cd deps
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
set DEPS=%CD%/OrcaSlicer_dep
|
set DEPS=%CD%/BambuStudio_dep
|
||||||
if "%1"=="studio" (
|
cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="%CD%/BambuStudio_dep" -DCMAKE_BUILD_TYPE=Release
|
||||||
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
|
cmake --build . --config Release --target ALL_BUILD -- -m
|
||||||
|
|
||||||
if "%1"=="deps" exit /b 0
|
|
||||||
|
|
||||||
:studio
|
|
||||||
echo "building studio..."
|
|
||||||
cd %WP%
|
cd %WP%
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
cmake .. -G "Visual Studio 16 2019" -DBBL_RELEASE_TO_PUBLIC=0 -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 . --config Release --target ALL_BUILD -- -m
|
||||||
cmake --build . --target install --config Release
|
cmake --build . --target install --config Release
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
#!/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_$ARCH
|
|
||||||
cd build_$ARCH
|
|
||||||
DEPS=$PWD/OrcaSlicer_dep_$ARCH
|
|
||||||
mkdir -p $DEPS
|
|
||||||
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_$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" -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
|
|
||||||
cd OrcaSlicer
|
|
||||||
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
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
set WP=%CD%
|
|
||||||
cd deps
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
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="./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 deps-dirty - build deps without cleaning
|
||||||
@ECHO Default: %PS_STEPS_DEFAULT%
|
@ECHO Default: %PS_STEPS_DEFAULT%
|
||||||
@ECHO -r -RUN Specifies what to perform at the run step:
|
@ECHO -r -RUN Specifies what to perform at the run step:
|
||||||
@ECHO console - run and wait on orca-slicer-console.exe
|
@ECHO console - run and wait on bambu-studio-console.exe
|
||||||
@ECHO custom - run and wait on your custom build/%PS_CUSTOM_RUN_FILE%
|
@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 ide - open project in Visual Studio if not open (no wait)
|
||||||
@ECHO none - run step does nothing
|
@ECHO none - run step does nothing
|
||||||
@ECHO viewer - run bambu-gcodeviewer.exe (no wait)
|
@ECHO viewer - run bambu-gcodeviewer.exe (no wait)
|
||||||
@ECHO window - run orca-slicer.exe (no wait)
|
@ECHO window - run bambu-studio.exe (no wait)
|
||||||
@ECHO Default: none
|
@ECHO Default: none
|
||||||
@ECHO -d -DESTDIR Deps destination directory
|
@ECHO -d -DESTDIR Deps destination directory
|
||||||
@ECHO Warning: Changing destdir path will not delete the old destdir.
|
@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...
|
@ECHO Running %PS_RUN% application...
|
||||||
@REM icacls below is just a hack for file-not-found error handling
|
@REM icacls below is just a hack for file-not-found error handling
|
||||||
IF "%PS_RUN%" EQU "console" (
|
IF "%PS_RUN%" EQU "console" (
|
||||||
icacls orca-slicer-console.exe >nul || GOTO :END
|
icacls bambu-studio-console.exe >nul || GOTO :END
|
||||||
start /wait /b orca-slicer-console.exe
|
start /wait /b bambu-studio-console.exe
|
||||||
) ELSE IF "%PS_RUN%" EQU "window" (
|
) ELSE IF "%PS_RUN%" EQU "window" (
|
||||||
icacls orca-slicer.exe >nul || GOTO :END
|
icacls bambu-studio.exe >nul || GOTO :END
|
||||||
start orca-slicer.exe
|
start bambu-studio.exe
|
||||||
) ELSE IF "%PS_RUN%" EQU "viewer" (
|
) ELSE IF "%PS_RUN%" EQU "viewer" (
|
||||||
icacls bambu-gcodeviewer.exe >nul || GOTO :END
|
icacls bambu-gcodeviewer.exe >nul || GOTO :END
|
||||||
start bambu-gcodeviewer.exe
|
start bambu-gcodeviewer.exe
|
||||||
|
|||||||
@@ -94,20 +94,19 @@ endif()
|
|||||||
|
|
||||||
function(__glew_set_find_library_suffix shared_or_static)
|
function(__glew_set_find_library_suffix shared_or_static)
|
||||||
if((UNIX AND NOT APPLE) AND "${shared_or_static}" MATCHES "SHARED")
|
if((UNIX AND NOT APPLE) AND "${shared_or_static}" MATCHES "SHARED")
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" PARENT_SCOPE)
|
||||||
elseif((UNIX AND NOT APPLE) AND "${shared_or_static}" MATCHES "STATIC")
|
elseif((UNIX AND NOT APPLE) AND "${shared_or_static}" MATCHES "STATIC")
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a" PARENT_SCOPE)
|
||||||
elseif(APPLE AND "${shared_or_static}" MATCHES "SHARED")
|
elseif(APPLE AND "${shared_or_static}" MATCHES "SHARED")
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib;.so")
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib;.so" PARENT_SCOPE)
|
||||||
elseif(APPLE AND "${shared_or_static}" MATCHES "STATIC")
|
elseif(APPLE AND "${shared_or_static}" MATCHES "STATIC")
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a" PARENT_SCOPE)
|
||||||
elseif(WIN32 AND "${shared_or_static}" MATCHES "SHARED")
|
elseif(WIN32 AND "${shared_or_static}" MATCHES "SHARED")
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" PARENT_SCOPE)
|
||||||
elseif(WIN32 AND "${shared_or_static}" MATCHES "STATIC")
|
elseif(WIN32 AND "${shared_or_static}" MATCHES "STATIC")
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib;.a;.dll.a")
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib;.a;.dll.a" PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_FIND_LIBRARY_SUFFIXES}" PARENT_SCOPE)
|
|
||||||
if(GLEW_VERBOSE)
|
if(GLEW_VERBOSE)
|
||||||
message(STATUS "FindGLEW: CMAKE_FIND_LIBRARY_SUFFIXES for ${shared_or_static}: ${CMAKE_FIND_LIBRARY_SUFFIXES}")
|
message(STATUS "FindGLEW: CMAKE_FIND_LIBRARY_SUFFIXES for ${shared_or_static}: ${CMAKE_FIND_LIBRARY_SUFFIXES}")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -42,10 +42,5 @@ set(VERSION_OK FALSE)
|
|||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
# Check for GDK Wayland support
|
|
||||||
include(CheckSymbolExists)
|
|
||||||
set(CMAKE_REQUIRED_INCLUDES ${GTK3_INCLUDE_DIRS})
|
|
||||||
check_symbol_exists(GDK_WINDOWING_WAYLAND "gdk/gdk.h" wxHAVE_GDK_WAYLAND)
|
|
||||||
check_symbol_exists(GDK_WINDOWING_X11 "gdk/gdk.h" wxHAVE_GDK_X11)
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK3 DEFAULT_MSG GTK3_INCLUDE_DIRS GTK3_LIBRARIES VERSION_OK)
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK3 DEFAULT_MSG GTK3_INCLUDE_DIRS GTK3_LIBRARIES VERSION_OK)
|
||||||
|
|||||||
@@ -293,7 +293,7 @@ if(NOT TBB_FOUND)
|
|||||||
# Create targets
|
# Create targets
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
if(NOT CMAKE_VERSION VERSION_LESS 3.0 AND TBB_FOUND AND NOT TARGET TBB::tbb)
|
if(NOT CMAKE_VERSION VERSION_LESS 3.0 AND TBB_FOUND)
|
||||||
add_library(TBB::tbb UNKNOWN IMPORTED)
|
add_library(TBB::tbb UNKNOWN IMPORTED)
|
||||||
set_target_properties(TBB::tbb PROPERTIES
|
set_target_properties(TBB::tbb PROPERTIES
|
||||||
INTERFACE_COMPILE_DEFINITIONS "${TBB_DEFINITIONS}"
|
INTERFACE_COMPILE_DEFINITIONS "${TBB_DEFINITIONS}"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<key>CFBundleIconFile</key>
|
<key>CFBundleIconFile</key>
|
||||||
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
|
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>com.softfever3d.orca-slicer</string>
|
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleLongVersionString</key>
|
<key>CFBundleLongVersionString</key>
|
||||||
@@ -26,96 +26,10 @@
|
|||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
||||||
<key>CFBundleDocumentTypes</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleTypeExtensions</key>
|
|
||||||
<array>
|
|
||||||
<string>stl</string>
|
|
||||||
<string>STL</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleTypeIconFile</key>
|
|
||||||
<string>stl.icns</string>
|
|
||||||
<key>CFBundleTypeName</key>
|
|
||||||
<string>STL</string>
|
|
||||||
<key>CFBundleTypeRole</key>
|
|
||||||
<string>Viewer</string>
|
|
||||||
<key>LISsAppleDefaultForType</key>
|
|
||||||
<true/>
|
|
||||||
<key>LSHandlerRank</key>
|
|
||||||
<string>Alternate</string>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleTypeExtensions</key>
|
|
||||||
<array>
|
|
||||||
<string>obj</string>
|
|
||||||
<string>OBJ</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleTypeIconFile</key>
|
|
||||||
<string>BambuStudio.icns</string>
|
|
||||||
<key>CFBundleTypeName</key>
|
|
||||||
<string>STL</string>
|
|
||||||
<key>CFBundleTypeRole</key>
|
|
||||||
<string>Viewer</string>
|
|
||||||
<key>LISsAppleDefaultForType</key>
|
|
||||||
<true/>
|
|
||||||
<key>LSHandlerRank</key>
|
|
||||||
<string>Alternate</string>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleTypeExtensions</key>
|
|
||||||
<array>
|
|
||||||
<string>amf</string>
|
|
||||||
<string>AMF</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleTypeIconFile</key>
|
|
||||||
<string>BambuStudio.icns</string>
|
|
||||||
<key>CFBundleTypeName</key>
|
|
||||||
<string>AMF</string>
|
|
||||||
<key>CFBundleTypeRole</key>
|
|
||||||
<string>Viewer</string>
|
|
||||||
<key>LISsAppleDefaultForType</key>
|
|
||||||
<true/>
|
|
||||||
<key>LSHandlerRank</key>
|
|
||||||
<string>Alternate</string>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleTypeExtensions</key>
|
|
||||||
<array>
|
|
||||||
<string>3mf</string>
|
|
||||||
<string>3MF</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleTypeIconFile</key>
|
|
||||||
<string>BambuStudio.icns</string>
|
|
||||||
<key>CFBundleTypeName</key>
|
|
||||||
<string>3MF</string>
|
|
||||||
<key>CFBundleTypeRole</key>
|
|
||||||
<string>Viewer</string>
|
|
||||||
<key>LISsAppleDefaultForType</key>
|
|
||||||
<true/>
|
|
||||||
<key>LSHandlerRank</key>
|
|
||||||
<string>Alternate</string>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleTypeExtensions</key>
|
|
||||||
<array>
|
|
||||||
<string>gcode</string>
|
|
||||||
<string>GCODE</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleTypeIconFile</key>
|
|
||||||
<string>gcode.icns</string>
|
|
||||||
<key>CFBundleTypeName</key>
|
|
||||||
<string>GCODE</string>
|
|
||||||
<key>CFBundleTypeRole</key>
|
|
||||||
<string>Viewer</string>
|
|
||||||
<key>LISsAppleDefaultForType</key>
|
|
||||||
<true/>
|
|
||||||
<key>LSHandlerRank</key>
|
|
||||||
<string>Alternate</string>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>CSResourcesFileMapped</key>
|
<key>CSResourcesFileMapped</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
<key>NSRequiresAquaSystemAppearance</key>
|
||||||
|
<true/>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
|||||||
54
deps/Blosc/Blosc.cmake
vendored
@@ -6,43 +6,23 @@ else()
|
|||||||
set(_build_static ON)
|
set(_build_static ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(IS_CROSS_COMPILE AND APPLE)
|
bambustudio_add_cmake_project(Blosc
|
||||||
bambustudio_add_cmake_project(Blosc
|
#URL https://github.com/Blosc/c-blosc/archive/refs/tags/v1.17.0.zip
|
||||||
#URL https://github.com/Blosc/c-blosc/archive/refs/tags/v1.17.0.zip
|
#URL_HASH SHA256=7463a1df566704f212263312717ab2c36b45d45cba6cd0dccebf91b2cc4b4da9
|
||||||
#URL_HASH SHA256=7463a1df566704f212263312717ab2c36b45d45cba6cd0dccebf91b2cc4b4da9
|
URL https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip
|
||||||
URL https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip
|
URL_HASH SHA256=dcb48bf43a672fa3de6a4b1de2c4c238709dad5893d1e097b8374ad84b1fc3b3
|
||||||
URL_HASH SHA256=dcb48bf43a672fa3de6a4b1de2c4c238709dad5893d1e097b8374ad84b1fc3b3
|
DEPENDS ${ZLIB_PKG}
|
||||||
DEPENDS ${ZLIB_PKG}
|
# Patching upstream does not work this way with git version 2.28 installed on mac worker
|
||||||
# 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
|
||||||
# PATCH_COMMAND ${GIT_EXECUTABLE} apply --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/blosc-mods.patch
|
CMAKE_ARGS
|
||||||
CMAKE_ARGS
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
-DBUILD_SHARED=${_build_shared}
|
||||||
-DBUILD_SHARED=${_build_shared}
|
-DBUILD_STATIC=${_build_static}
|
||||||
-DBUILD_STATIC=${_build_static}
|
-DBUILD_TESTS=OFF
|
||||||
-DBUILD_TESTS=OFF
|
-DBUILD_BENCHMARKS=OFF
|
||||||
-DBUILD_BENCHMARKS=OFF
|
-DPREFER_EXTERNAL_ZLIB=ON
|
||||||
-DPREFER_EXTERNAL_ZLIB=ON
|
)
|
||||||
-DDEACTIVATE_SSE2=ON
|
|
||||||
-DDEACTIVATE_AVX2=ON
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
bambustudio_add_cmake_project(Blosc
|
|
||||||
#URL https://github.com/Blosc/c-blosc/archive/refs/tags/v1.17.0.zip
|
|
||||||
#URL_HASH SHA256=7463a1df566704f212263312717ab2c36b45d45cba6cd0dccebf91b2cc4b4da9
|
|
||||||
URL https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip
|
|
||||||
URL_HASH SHA256=dcb48bf43a672fa3de6a4b1de2c4c238709dad5893d1e097b8374ad84b1fc3b3
|
|
||||||
DEPENDS ${ZLIB_PKG}
|
|
||||||
# Patching upstream does not work this way with git version 2.28 installed on mac worker
|
|
||||||
# PATCH_COMMAND ${GIT_EXECUTABLE} apply --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/blosc-mods.patch
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DBUILD_SHARED=${_build_shared}
|
|
||||||
-DBUILD_STATIC=${_build_static}
|
|
||||||
-DBUILD_TESTS=OFF
|
|
||||||
-DBUILD_BENCHMARKS=OFF
|
|
||||||
-DPREFER_EXTERNAL_ZLIB=ON
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_debug_dep(dep_Blosc)
|
add_debug_dep(dep_Blosc)
|
||||||
endif ()
|
endif ()
|
||||||
125
deps/Boost/0001-Boost-fix.patch
vendored
@@ -1,125 +0,0 @@
|
|||||||
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,9 +28,6 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
|||||||
elseif (MSVC_VERSION LESS 1930)
|
elseif (MSVC_VERSION LESS 1930)
|
||||||
# 1920-1929 = VS 16.0 (v142 toolset)
|
# 1920-1929 = VS 16.0 (v142 toolset)
|
||||||
set(_boost_toolset "msvc-14.2")
|
set(_boost_toolset "msvc-14.2")
|
||||||
elseif (MSVC_VERSION LESS 1940)
|
|
||||||
# 1930-1939 = VS 17.0 (v143 toolset)
|
|
||||||
set(_boost_toolset "msvc-14.3")
|
|
||||||
else ()
|
else ()
|
||||||
message(FATAL_ERROR "Unsupported MSVC version")
|
message(FATAL_ERROR "Unsupported MSVC version")
|
||||||
endif ()
|
endif ()
|
||||||
@@ -70,6 +67,16 @@ include(ProcessorCount)
|
|||||||
ProcessorCount(NPROC)
|
ProcessorCount(NPROC)
|
||||||
file(TO_NATIVE_PATH ${DESTDIR}/usr/local/ _prefix)
|
file(TO_NATIVE_PATH ${DESTDIR}/usr/local/ _prefix)
|
||||||
|
|
||||||
|
set(_boost_flags "")
|
||||||
|
if (UNIX)
|
||||||
|
set(_boost_flags "cflags=-fPIC;cxxflags=-fPIC")
|
||||||
|
elseif(APPLE)
|
||||||
|
set(_boost_flags
|
||||||
|
"cflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||||
|
"cxxflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||||
|
"mflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||||
|
"mmflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(_boost_variants "")
|
set(_boost_variants "")
|
||||||
if(CMAKE_BUILD_TYPE)
|
if(CMAKE_BUILD_TYPE)
|
||||||
@@ -93,38 +100,8 @@ if (NOT _boost_variants)
|
|||||||
set(_boost_variants release)
|
set(_boost_variants release)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (IS_CROSS_COMPILE AND APPLE)
|
|
||||||
if (${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
|
||||||
message(STATUS "Compiling Boost for arm64.")
|
|
||||||
message(STATUS "Compiling Boost with toolset ${_boost_toolset}.")
|
|
||||||
message(STATUS "Compiling Boost with libs ${_libs}.")
|
|
||||||
message(STATUS "Compiling Boost with variant ${_boost_variants}.")
|
|
||||||
message(STATUS "Compiling Boost with _bootstrap_cmd ${_bootstrap_cmd}.")
|
|
||||||
message(STATUS "_boost_linkflags = ${_boost_linkflags}")
|
|
||||||
set(_arch_flags "-arch arm64")
|
|
||||||
set(_boost_linkflags "linkflags=${_arch_flags}")
|
|
||||||
message(STATUS "_cmake_args_osx_arch = '${_cmake_args_osx_arch}'")
|
|
||||||
elseif (${CMAKE_OSX_ARCHITECTURES} MATCHES "x86_64")
|
|
||||||
message(STATUS "Compiling Boost for x86_64.")
|
|
||||||
set(_arch_flags "-arch x86_64")
|
|
||||||
endif()
|
|
||||||
set(_boost_linkflags "linkflags=${_arch_flags}")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
set(_boost_flags "")
|
|
||||||
if(APPLE)
|
|
||||||
set(_boost_flags
|
|
||||||
"cflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET};"
|
|
||||||
"cxxflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET};"
|
|
||||||
"mflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET};"
|
|
||||||
"mmflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
|
||||||
elseif (UNIX)
|
|
||||||
set(_boost_flags "cflags=-fPIC;cxxflags=-fPIC")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(_build_cmd ${_build_cmd}
|
set(_build_cmd ${_build_cmd}
|
||||||
${_boost_flags}
|
${_boost_flags}
|
||||||
${_boost_linkflags}
|
|
||||||
-j${NPROC}
|
-j${NPROC}
|
||||||
${_libs}
|
${_libs}
|
||||||
--layout=versioned
|
--layout=versioned
|
||||||
@@ -140,14 +117,9 @@ set(_build_cmd ${_build_cmd}
|
|||||||
|
|
||||||
set(_install_cmd ${_build_cmd} --prefix=${_prefix} install)
|
set(_install_cmd ${_build_cmd} --prefix=${_prefix} install)
|
||||||
|
|
||||||
if (NOT IS_CROSS_COMPILE OR NOT APPLE OR BUILD_SHARED_LIBS)
|
|
||||||
message(STATUS "Standard boost build with bootstrap command '${_bootstrap_cmd}'")
|
|
||||||
message(STATUS "Standard boost build with patch command '${_patch_command}'")
|
|
||||||
message(STATUS "Standard boost build with build command '${_build_cmd}'")
|
|
||||||
message(STATUS "Standard boost build with install command '${_install_cmd}'")
|
|
||||||
ExternalProject_Add(
|
ExternalProject_Add(
|
||||||
dep_Boost
|
dep_Boost
|
||||||
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
|
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
|
||||||
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
|
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
|
||||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
|
||||||
CONFIGURE_COMMAND "${_bootstrap_cmd}"
|
CONFIGURE_COMMAND "${_bootstrap_cmd}"
|
||||||
@@ -157,26 +129,7 @@ ExternalProject_Add(
|
|||||||
INSTALL_COMMAND "${_install_cmd}"
|
INSTALL_COMMAND "${_install_cmd}"
|
||||||
)
|
)
|
||||||
|
|
||||||
else()
|
|
||||||
|
|
||||||
ExternalProject_Add(
|
|
||||||
dep_Boost
|
|
||||||
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
|
|
||||||
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
|
|
||||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
|
|
||||||
CONFIGURE_COMMAND ./bootstrap.sh
|
|
||||||
--with-toolset=clang
|
|
||||||
--with-libraries=date_time,filesystem,iostreams,locale,log,regex,system,thread
|
|
||||||
"--prefix=${DESTDIR}/usr/local"
|
|
||||||
# PATCH_COMMAND ${_patch_command}
|
|
||||||
BUILD_COMMAND "${_build_cmd}"
|
|
||||||
BUILD_IN_SOURCE ON
|
|
||||||
INSTALL_COMMAND "${_install_cmd}"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||||
message(STATUS "Patch the boost::polygon library with a custom one.")
|
|
||||||
# Patch the boost::polygon library with a custom one.
|
# Patch the boost::polygon library with a custom one.
|
||||||
ExternalProject_Add(dep_boost_polygon
|
ExternalProject_Add(dep_boost_polygon
|
||||||
EXCLUDE_FROM_ALL ON
|
EXCLUDE_FROM_ALL ON
|
||||||
@@ -188,7 +141,6 @@ if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
|||||||
DEPENDS dep_Boost
|
DEPENDS dep_Boost
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
BUILD_COMMAND ""
|
BUILD_COMMAND ""
|
||||||
${_cmake_args_osx_arch}
|
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
|
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/dep_boost_polygon-prefix/src/dep_boost_polygon/include/boost/polygon"
|
"${CMAKE_CURRENT_BINARY_DIR}/dep_boost_polygon-prefix/src/dep_boost_polygon/include/boost/polygon"
|
||||||
"${DESTDIR}/usr/local/include/boost/polygon"
|
"${DESTDIR}/usr/local/include/boost/polygon"
|
||||||
|
|||||||
62
deps/CMakeLists.txt
vendored
@@ -1,12 +1,12 @@
|
|||||||
#
|
#
|
||||||
# This CMake project downloads, configures and builds OrcaSlicer dependencies on Unix and Windows.
|
# This CMake project downloads, configures and builds BambuStudio dependencies on Unix and Windows.
|
||||||
#
|
#
|
||||||
# When using this script, it's recommended to perform an out-of-source build using CMake.
|
# 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,
|
# 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
|
# in a traditional Unix-style prefix structure. The destdir can be used directly by CMake
|
||||||
# when building OrcaSlicer - to do this, set the CMAKE_PREFIX_PATH to ${destdir}/usr/local.
|
# 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 OrcaSlicer.
|
# Warning: On UNIX/Linux, you also need to set -DSLIC3R_STATIC=1 when building BambuStudio.
|
||||||
#
|
#
|
||||||
# For better clarity of console output, it's recommended to _not_ use a parallelized build
|
# 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
|
# 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.
|
# therefore, unfortunatelly, the installation cannot be copied/moved elsewhere without re-installing wxWidgets.
|
||||||
#
|
#
|
||||||
|
|
||||||
project(OrcaSlicer-deps)
|
project(BambuStudio-deps)
|
||||||
cmake_minimum_required(VERSION 3.2)
|
cmake_minimum_required(VERSION 3.2)
|
||||||
|
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
@@ -38,40 +38,17 @@ option(DEP_DEBUG "Build debug variants (only applicable on Windows)" ON)
|
|||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
|
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
|
||||||
else()
|
|
||||||
if(POLICY CMP0135) # DOWNLOAD_EXTRACT_TIMESTAMP
|
|
||||||
cmake_policy(SET CMP0135 NEW)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(IS_CROSS_COMPILE FALSE)
|
|
||||||
|
|
||||||
if (APPLE)
|
|
||||||
set(CMAKE_FIND_FRAMEWORK LAST)
|
|
||||||
set(CMAKE_FIND_APPBUNDLE LAST)
|
|
||||||
list(FIND CMAKE_OSX_ARCHITECTURES ${CMAKE_SYSTEM_PROCESSOR} _arch_idx)
|
|
||||||
message(STATUS "prusaslicer_add_cmake_project for Apple")
|
|
||||||
if (CMAKE_OSX_ARCHITECTURES AND _arch_idx LESS 0)
|
|
||||||
message(STATUS "prusaslicer_add_cmake_project for Apple crosscompiling")
|
|
||||||
set(IS_CROSS_COMPILE TRUE)
|
|
||||||
set(CMAKE_CXX_COMPILER_ID "Clang")
|
|
||||||
string(REPLACE ";" "$<SEMICOLON>" CMAKE_OSX_ARCHS "${CMAKE_OSX_ARCHITECTURES}")
|
|
||||||
set(_cmake_osx_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
|
|
||||||
set(_cmake_args_osx_arch CMAKE_ARGS -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
|
|
||||||
message(STATUS "Detect Cross-compilation. Will build for target ${CMAKE_OSX_ARCHS}" )
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
|
|
||||||
# On developer machines, it can be enabled to speed up compilation and suppress warnings coming from IGL.
|
# On developer machines, it can be enabled to speed up compilation and suppress warnings coming from IGL.
|
||||||
# FIXME:
|
# FIXME:
|
||||||
# Enabling this option is not safe. IGL will compile itself with its own version of Eigen while
|
# Enabling this option is not safe. IGL will compile itself with its own version of Eigen while
|
||||||
# Slic3r compiles with a different version which will cause runtime errors.
|
# 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)
|
# option(DEP_BUILD_IGL_STATIC "Build IGL as a static library. Might cause link errors and increase binary size." OFF)
|
||||||
|
|
||||||
message(STATUS "OrcaSlicer deps DESTDIR: ${DESTDIR}")
|
message(STATUS "BambuStudio deps DESTDIR: ${DESTDIR}")
|
||||||
message(STATUS "OrcaSlicer dowload dir for source packages: ${DEP_DOWNLOAD_DIR}")
|
message(STATUS "BambuStudio dowload dir for source packages: ${DEP_DOWNLOAD_DIR}")
|
||||||
message(STATUS "OrcaSlicer deps debug build: ${DEP_DEBUG}")
|
message(STATUS "BambuStudio deps debug build: ${DEP_DEBUG}")
|
||||||
|
|
||||||
find_package(Git REQUIRED)
|
find_package(Git REQUIRED)
|
||||||
|
|
||||||
@@ -100,7 +77,6 @@ function(bambustudio_add_cmake_project projectname)
|
|||||||
set(_build_j "/m")
|
set(_build_j "/m")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (NOT IS_CROSS_COMPILE OR NOT APPLE)
|
|
||||||
ExternalProject_Add(
|
ExternalProject_Add(
|
||||||
dep_${projectname}
|
dep_${projectname}
|
||||||
EXCLUDE_FROM_ALL ON
|
EXCLUDE_FROM_ALL ON
|
||||||
@@ -116,7 +92,6 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE)
|
|||||||
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
||||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||||
${_cmake_osx_arch}
|
|
||||||
"${_configs_line}"
|
"${_configs_line}"
|
||||||
${DEP_CMAKE_OPTS}
|
${DEP_CMAKE_OPTS}
|
||||||
${P_ARGS_CMAKE_ARGS}
|
${P_ARGS_CMAKE_ARGS}
|
||||||
@@ -124,26 +99,6 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE)
|
|||||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
|
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
|
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
|
||||||
)
|
)
|
||||||
else()
|
|
||||||
ExternalProject_Add(
|
|
||||||
dep_${projectname}
|
|
||||||
EXCLUDE_FROM_ALL ON
|
|
||||||
INSTALL_DIR ${DESTDIR}/usr/local
|
|
||||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname}
|
|
||||||
${_gen}
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
|
||||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
|
||||||
${_cmake_osx_arch}
|
|
||||||
"${_configs_line}"
|
|
||||||
${DEP_CMAKE_OPTS}
|
|
||||||
${P_ARGS_CMAKE_ARGS}
|
|
||||||
${P_ARGS_UNPARSED_ARGUMENTS}
|
|
||||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
|
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
|
||||||
endfunction(bambustudio_add_cmake_project)
|
endfunction(bambustudio_add_cmake_project)
|
||||||
|
|
||||||
@@ -162,7 +117,6 @@ if (MSVC)
|
|||||||
endif ()
|
endif ()
|
||||||
elseif (APPLE)
|
elseif (APPLE)
|
||||||
message("OS X SDK Path: ${CMAKE_OSX_SYSROOT}")
|
message("OS X SDK Path: ${CMAKE_OSX_SYSROOT}")
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE)
|
|
||||||
if (CMAKE_OSX_DEPLOYMENT_TARGET)
|
if (CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
set(DEP_OSX_TARGET "${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
set(DEP_OSX_TARGET "${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
message("OS X Deployment Target: ${DEP_OSX_TARGET}")
|
message("OS X Deployment Target: ${DEP_OSX_TARGET}")
|
||||||
@@ -237,7 +191,6 @@ include(JPEG/JPEG.cmake)
|
|||||||
include(TIFF/TIFF.cmake)
|
include(TIFF/TIFF.cmake)
|
||||||
include(wxWidgets/wxWidgets.cmake)
|
include(wxWidgets/wxWidgets.cmake)
|
||||||
include(OCCT/OCCT.cmake)
|
include(OCCT/OCCT.cmake)
|
||||||
include(FREETYPE/FREETYPE.cmake)
|
|
||||||
|
|
||||||
set(_dep_list
|
set(_dep_list
|
||||||
dep_Boost
|
dep_Boost
|
||||||
@@ -266,7 +219,6 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(APPEND _dep_list "dep_OCCT")
|
list(APPEND _dep_list "dep_OCCT")
|
||||||
list(APPEND _dep_list "dep_FREETYPE")
|
|
||||||
|
|
||||||
add_custom_target(deps ALL DEPENDS ${_dep_list})
|
add_custom_target(deps ALL DEPENDS ${_dep_list})
|
||||||
|
|
||||||
|
|||||||
4
deps/CURL/CURL.cmake
vendored
@@ -31,8 +31,8 @@ elseif (APPLE)
|
|||||||
|
|
||||||
${_curl_platform_flags}
|
${_curl_platform_flags}
|
||||||
|
|
||||||
#-DCMAKE_USE_SECTRANSP:BOOL=ON
|
-DCMAKE_USE_SECTRANSP:BOOL=ON
|
||||||
-DCMAKE_USE_OPENSSL:BOOL=ON
|
-DCMAKE_USE_OPENSSL:BOOL=OFF
|
||||||
|
|
||||||
-DCURL_CA_PATH:STRING=none
|
-DCURL_CA_PATH:STRING=none
|
||||||
)
|
)
|
||||||
|
|||||||
29
deps/FREETYPE/FREETYPE.cmake
vendored
@@ -1,29 +0,0 @@
|
|||||||
if(WIN32)
|
|
||||||
set(library_build_shared "1")
|
|
||||||
else()
|
|
||||||
set(library_build_shared "0")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
set(_ft_disable_zlib "-D FT_DISABLE_ZLIB=FALSE")
|
|
||||||
else()
|
|
||||||
set(_ft_disable_zlib "-D FT_DISABLE_ZLIB=TRUE")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
bambustudio_add_cmake_project(FREETYPE
|
|
||||||
URL https://mirror.ossplanet.net/nongnu/freetype/freetype-2.12.1.tar.gz
|
|
||||||
URL_HASH SHA256=efe71fd4b8246f1b0b1b9bfca13cfff1c9ad85930340c27df469733bbb620938
|
|
||||||
#DEPENDS ${ZLIB_PKG}
|
|
||||||
#"${_patch_step}"
|
|
||||||
CMAKE_ARGS
|
|
||||||
-D BUILD_SHARED_LIBS=${library_build_shared}
|
|
||||||
${_ft_disable_zlib}
|
|
||||||
-D FT_DISABLE_BZIP2=TRUE
|
|
||||||
-D FT_DISABLE_PNG=TRUE
|
|
||||||
-D FT_DISABLE_HARFBUZZ=TRUE
|
|
||||||
-D FT_DISABLE_BROTLI=TRUE
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
add_debug_dep(dep_FREETYPE)
|
|
||||||
endif()
|
|
||||||
19
deps/GLEW/glew/CMakeLists.txt
vendored
@@ -3,17 +3,12 @@ project(GLEW)
|
|||||||
|
|
||||||
find_package(OpenGL REQUIRED)
|
find_package(OpenGL REQUIRED)
|
||||||
|
|
||||||
if(OpenGL_EGL_FOUND)
|
add_library(glew src/glew.c)
|
||||||
message(STATUS "building GLEW for EGL (hope that wxWidgets agrees, otherwise you won't have any output!)")
|
target_include_directories(glew PRIVATE include/)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGLEW_EGL")
|
target_link_libraries(glew PUBLIC OpenGL::GL)
|
||||||
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)
|
if (NOT BUILD_SHARED_LIBS)
|
||||||
target_compile_definitions(GLEW PUBLIC GLEW_STATIC)
|
target_compile_definitions(glew PUBLIC GLEW_STATIC)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
@@ -23,12 +18,14 @@ install(
|
|||||||
${PROJECT_SOURCE_DIR}/include/GL/glew.h
|
${PROJECT_SOURCE_DIR}/include/GL/glew.h
|
||||||
${PROJECT_SOURCE_DIR}/include/GL/wglew.h
|
${PROJECT_SOURCE_DIR}/include/GL/wglew.h
|
||||||
${PROJECT_SOURCE_DIR}/include/GL/glxew.h
|
${PROJECT_SOURCE_DIR}/include/GL/glxew.h
|
||||||
${PROJECT_SOURCE_DIR}/include/GL/eglew.h
|
|
||||||
DESTINATION
|
DESTINATION
|
||||||
${CMAKE_INSTALL_INCLUDEDIR}/GL
|
${CMAKE_INSTALL_INCLUDEDIR}/GL
|
||||||
)
|
)
|
||||||
|
|
||||||
install(TARGETS GLEW GLEW
|
add_library(GLEW INTERFACE)
|
||||||
|
target_link_libraries(GLEW INTERFACE glew)
|
||||||
|
|
||||||
|
install(TARGETS glew GLEW
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
|||||||
138
deps/GLEW/glew/README.md
vendored
@@ -1,82 +1,53 @@
|
|||||||
# GLEW - The OpenGL Extension Wrangler Library
|
THIS IS NOT THE COMPLETE GLEW DISTRIBUTION. ONLY FILES NEEDED FOR COMPILING GLEW INTO SLIC3R WERE PUT INTO THE SLIC3R SOURCE DISTRIBUTION.
|
||||||
|
|
||||||
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.
|
A CMAKE CONFIG EXPORT IS ADDED TO ENABLE FIND PACKAGE TO FIND DEBUG BUILD ON MSVC
|
||||||
|
|
||||||
|
# GLEW - The OpenGL Extension Wrangler Library
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
http://glew.sourceforge.net/
|
http://glew.sourceforge.net/
|
||||||
|
|
||||||
https://github.com/nigels-com/glew
|
https://github.com.cnpmjs.org/nigels-com/glew
|
||||||
|
|
||||||
[](https://travis-ci.org/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://gitter.im/nigels-com/glew?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||||
[](https://sourceforge.net/projects/glew/files/latest/download)
|
[](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
|
## Downloads
|
||||||
|
|
||||||
Current release is [2.1.0](https://sourceforge.net/projects/glew/files/glew/2.1.0/).
|
Current release is [2.0.0](https://sourceforge.net/projects/glew/files/glew/2.0.0/).
|
||||||
[(Change Log)](http://glew.sourceforge.net/log.html)
|
[(Change Log)](http://glew.sourceforge.net/log.html)
|
||||||
|
|
||||||
Sources available as
|
Sources available as
|
||||||
[ZIP](https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0.zip/download) or
|
[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.1.0/glew-2.1.0.tgz/download).
|
[TGZ](https://sourceforge.net/projects/glew/files/glew/2.0.0/glew-2.0.0.tgz/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).
|
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).
|
||||||
|
|
||||||
### Recent snapshots
|
### Recent snapshots
|
||||||
|
|
||||||
Snapshots may contain new features, bug-fixes or new OpenGL extensions ahead of tested, official releases.
|
Snapshots may contain new features, bug-fixes or new OpenGL extensions ahead of tested, official releases.
|
||||||
|
|
||||||
[glew-20200115.tgz](https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20200115.tgz/download) *GLEW 2.2.0 RC3: fixes*
|
[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-20190928.tgz](https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20190928.tgz/download) *GLEW 2.2.0 RC2: New extensions, bug 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*
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
It is highly recommended to build from a tgz or zip release snapshot.
|
From a downloaded tarball or zip archive:
|
||||||
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
|
### Linux and Mac
|
||||||
|
|
||||||
#### Using GNU Make
|
#### 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
|
##### Install build tools
|
||||||
|
|
||||||
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev`
|
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev libosmesa-dev git`
|
||||||
|
|
||||||
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel`
|
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel git`
|
||||||
|
|
||||||
FreeBSD: `# pkg install xorg lang/gcc git cmake gmake bash python perl5`
|
|
||||||
|
|
||||||
##### Build
|
##### Build
|
||||||
|
|
||||||
@@ -84,46 +55,24 @@ FreeBSD: `# pkg install xorg lang/gcc git cmake gmake bash python perl5`
|
|||||||
$ sudo make install
|
$ sudo make install
|
||||||
$ make clean
|
$ make clean
|
||||||
|
|
||||||
Targets: `all, glew.lib (sub-targets: glew.lib.shared, glew.lib.static), glew.bin, clean, install, uninstall`
|
Targets: `all, glew.lib, glew.bin, clean, install, uninstall`
|
||||||
|
|
||||||
Variables: `SYSTEM=linux-clang, GLEW_DEST=/usr/local, STRIP=`
|
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
|
#### 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.*
|
*CMake 2.8.12 or higher is required.*
|
||||||
|
|
||||||
##### Install build tools
|
##### Install build tools
|
||||||
|
|
||||||
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev cmake git`
|
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libXmu-dev libXi-dev libgl-dev git cmake`
|
||||||
|
|
||||||
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel cmake git`
|
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel git cmake`
|
||||||
|
|
||||||
##### Build
|
##### Build
|
||||||
|
|
||||||
$ cd build
|
$ cd build
|
||||||
$ cmake ./cmake
|
$ cmake ./cmake
|
||||||
$ make -j4
|
$ make -j4
|
||||||
|
|
||||||
| Target | Description |
|
| Target | Description |
|
||||||
@@ -147,9 +96,9 @@ RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel c
|
|||||||
|
|
||||||
#### Visual Studio
|
#### Visual Studio
|
||||||
|
|
||||||
Use the provided Visual Studio project file in build/vc15/
|
Use the provided Visual Studio project file in build/vc12/
|
||||||
|
|
||||||
Projects for vc6, vc10, vc12 and vc14 are also provided
|
Projects for vc6 and vc10 are also provided
|
||||||
|
|
||||||
#### MSYS/Mingw
|
#### MSYS/Mingw
|
||||||
|
|
||||||
@@ -169,7 +118,7 @@ Available from [Msys2](http://msys2.github.io/) and/or [Mingw-w64](http://mingw-
|
|||||||
|
|
||||||
Requirements: bash, make, gcc
|
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
|
||||||
$ make install
|
$ make install
|
||||||
$ make install.all
|
$ make install.all
|
||||||
@@ -179,8 +128,8 @@ Alternative toolchain: `SYSTEM=msys, SYSTEM=msys-win32, SYSTEM=msys-win64`
|
|||||||
## glewinfo
|
## glewinfo
|
||||||
|
|
||||||
`glewinfo` is a command-line tool useful for inspecting the capabilities of an
|
`glewinfo` is a command-line tool useful for inspecting the capabilities of an
|
||||||
OpenGL implementation and GLEW support for that. Please include `glewinfo.txt`
|
OpenGL implementation and GLEW support for that. Please include the output of
|
||||||
with bug reports, as appropriate.
|
`glewinfo` with bug reports, as appropriate.
|
||||||
|
|
||||||
---------------------------
|
---------------------------
|
||||||
GLEW Extension Info
|
GLEW Extension Info
|
||||||
@@ -200,12 +149,12 @@ with bug reports, as appropriate.
|
|||||||
glDrawRangeElements: OK
|
glDrawRangeElements: OK
|
||||||
glTexImage3D: OK
|
glTexImage3D: OK
|
||||||
glTexSubImage3D: OK
|
glTexSubImage3D: OK
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
## Code Generation
|
## Code Generation
|
||||||
|
|
||||||
A Unix or Mac environment is needed for building GLEW from scratch to
|
A Unix or Mac environment is neded for building GLEW from scratch to
|
||||||
include new extensions, or customize the code generation. The extension
|
include new extensions, or customize the code generation. The extension
|
||||||
data is regenerated from the top level source directory with:
|
data is regenerated from the top level source directory with:
|
||||||
|
|
||||||
@@ -216,43 +165,32 @@ download a pre-generated (unsupported) snapshot:
|
|||||||
|
|
||||||
https://sourceforge.net/projects/glew/files/glew/snapshots/
|
https://sourceforge.net/projects/glew/files/glew/snapshots/
|
||||||
|
|
||||||
|
Travis-built snapshots are also available:
|
||||||
|
|
||||||
|
https://glew.s3.amazonaws.com/index.html
|
||||||
|
|
||||||
## Authors
|
## Authors
|
||||||
|
|
||||||
GLEW is currently maintained by [Nigel Stewart](https://github.com/nigels-com)
|
GLEW is currently maintained by [Nigel Stewart](https://github.com.cnpmjs.org/nigels-com)
|
||||||
with bug fixes, new OpenGL extension support and new releases.
|
with bug fixes, new OpenGL extension support and new releases.
|
||||||
|
|
||||||
GLEW was developed by [Milan Ikits](http://www.cs.utah.edu/~ikits/)
|
GLEW was developed by [Milan Ikits](http://www.cs.utah.edu/~ikits/)
|
||||||
and [Marcelo Magallon](http://wwwvis.informatik.uni-stuttgart.de/~magallon/).
|
and [Marcelo Magallon](http://wwwvis.informatik.uni-stuttgart.de/~magallon/).
|
||||||
Aaron Lefohn, Joe Kniss, and Chris Wyman were the first users and also
|
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.
|
The acronym GLEW originates from Aaron Lefohn.
|
||||||
Pasi Kärkkäinen identified and fixed several problems with
|
Pasi Kärkkäinen identified and fixed several problems with
|
||||||
GLX and SDL. Nate Robins created the `wglinfo` utility, to
|
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
|
## Copyright and Licensing
|
||||||
|
|
||||||
GLEW is originally derived from the EXTGL project by Lev Povalahev.
|
GLEW is originally derived from the EXTGL project by Lev Povalahev.
|
||||||
The source code is licensed under the
|
The source code is licensed under the
|
||||||
[Modified BSD License](http://glew.sourceforge.net/glew.txt), the
|
[Modified BSD License](http://glew.sourceforge.net/glew.txt), the
|
||||||
[Mesa 3-D License](http://glew.sourceforge.net/mesa.txt) (MIT) and the
|
[Mesa 3-D License](http://glew.sourceforge.net/mesa.txt) (MIT) and the
|
||||||
[Khronos License](http://glew.sourceforge.net/khronos.txt) (MIT).
|
[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).
|
[GNU GPL](http://glew.sourceforge.net/gpl.txt).
|
||||||
|
|||||||
2
deps/GLEW/glew/VERSION
vendored
@@ -1 +1 @@
|
|||||||
2.2.0
|
1.13.0
|
||||||
3051
deps/GLEW/glew/include/GL/eglew.h
vendored
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
|
** The OpenGL Extension Wrangler Library
|
||||||
** Copyright (C) 2008-2019, Nigel Stewart <nigels[]users sourceforge net>
|
** Copyright (C) 2008-2015, Nigel Stewart <nigels[]users sourceforge net>
|
||||||
** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
** Copyright (C) 2002, Lev Povalahev
|
** Copyright (C) 2002, Lev Povalahev
|
||||||
@@ -98,12 +98,7 @@
|
|||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
#include <X11/Xutil.h>
|
#include <X11/Xutil.h>
|
||||||
#include <X11/Xmd.h>
|
#include <X11/Xmd.h>
|
||||||
|
#include <GL/glew.h>
|
||||||
#ifndef GLEW_INCLUDE
|
|
||||||
# include <GL/glew.h>
|
|
||||||
#else
|
|
||||||
# include GLEW_INCLUDE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@@ -397,7 +392,7 @@ typedef Bool ( * PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (GLXContext ctx);
|
|||||||
#ifndef GLX_ARB_context_flush_control
|
#ifndef GLX_ARB_context_flush_control
|
||||||
#define GLX_ARB_context_flush_control 1
|
#define GLX_ARB_context_flush_control 1
|
||||||
|
|
||||||
#define GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
|
#define GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0x0000
|
||||||
#define GLX_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
|
#define GLX_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
|
||||||
#define GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
|
#define GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
|
||||||
|
|
||||||
@@ -410,13 +405,13 @@ typedef Bool ( * PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (GLXContext ctx);
|
|||||||
#ifndef GLX_ARB_create_context
|
#ifndef GLX_ARB_create_context
|
||||||
#define GLX_ARB_create_context 1
|
#define GLX_ARB_create_context 1
|
||||||
|
|
||||||
#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
|
#define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001
|
||||||
#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
|
#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
|
||||||
#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
||||||
#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
|
#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
|
||||||
#define GLX_CONTEXT_FLAGS_ARB 0x2094
|
#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)
|
#define glXCreateContextAttribsARB GLXEW_GET_FUN(__glewXCreateContextAttribsARB)
|
||||||
|
|
||||||
@@ -424,17 +419,6 @@ typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBCo
|
|||||||
|
|
||||||
#endif /* GLX_ARB_create_context */
|
#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 -------------------- */
|
/* --------------------- GLX_ARB_create_context_profile -------------------- */
|
||||||
|
|
||||||
#ifndef GLX_ARB_create_context_profile
|
#ifndef GLX_ARB_create_context_profile
|
||||||
@@ -616,20 +600,6 @@ typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, i
|
|||||||
|
|
||||||
#endif /* GLX_EXT_buffer_age */
|
#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 ------------------ */
|
/* ------------------- GLX_EXT_create_context_es2_profile ------------------ */
|
||||||
|
|
||||||
#ifndef GLX_EXT_create_context_es2_profile
|
#ifndef GLX_EXT_create_context_es2_profile
|
||||||
@@ -688,13 +658,11 @@ typedef XID GLXContextID;
|
|||||||
|
|
||||||
typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context);
|
typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context);
|
||||||
typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
|
typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
|
||||||
typedef Display* ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void);
|
|
||||||
typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID);
|
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 glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT)
|
||||||
#define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT)
|
#define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT)
|
||||||
#define glXGetCurrentDisplayEXT GLXEW_GET_FUN(__glewXGetCurrentDisplayEXT)
|
|
||||||
#define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT)
|
#define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT)
|
||||||
#define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT)
|
#define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT)
|
||||||
|
|
||||||
@@ -702,26 +670,6 @@ typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context
|
|||||||
|
|
||||||
#endif /* GLX_EXT_import_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 ------------------------- */
|
/* -------------------------- GLX_EXT_scene_marker ------------------------- */
|
||||||
|
|
||||||
#ifndef GLX_EXT_scene_marker
|
#ifndef GLX_EXT_scene_marker
|
||||||
@@ -793,10 +741,8 @@ typedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display* dpy, GLXDrawable drawable,
|
|||||||
#define GLX_TEXTURE_1D_EXT 0x20DB
|
#define GLX_TEXTURE_1D_EXT 0x20DB
|
||||||
#define GLX_TEXTURE_2D_EXT 0x20DC
|
#define GLX_TEXTURE_2D_EXT 0x20DC
|
||||||
#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
|
#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
|
||||||
#define GLX_FRONT_EXT 0x20DE
|
|
||||||
#define GLX_FRONT_LEFT_EXT 0x20DE
|
#define GLX_FRONT_LEFT_EXT 0x20DE
|
||||||
#define GLX_FRONT_RIGHT_EXT 0x20DF
|
#define GLX_FRONT_RIGHT_EXT 0x20DF
|
||||||
#define GLX_BACK_EXT 0x20E0
|
|
||||||
#define GLX_BACK_LEFT_EXT 0x20E0
|
#define GLX_BACK_LEFT_EXT 0x20E0
|
||||||
#define GLX_BACK_RIGHT_EXT 0x20E1
|
#define GLX_BACK_RIGHT_EXT 0x20E1
|
||||||
#define GLX_AUX0_EXT 0x20E2
|
#define GLX_AUX0_EXT 0x20E2
|
||||||
@@ -810,8 +756,8 @@ typedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display* dpy, GLXDrawable drawable,
|
|||||||
#define GLX_AUX8_EXT 0x20EA
|
#define GLX_AUX8_EXT 0x20EA
|
||||||
#define GLX_AUX9_EXT 0x20EB
|
#define GLX_AUX9_EXT 0x20EB
|
||||||
|
|
||||||
typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* dpy, GLXDrawable drawable, int buffer, const int* attrib_list);
|
typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list);
|
||||||
typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* dpy, GLXDrawable drawable, int buffer);
|
typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer);
|
||||||
|
|
||||||
#define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT)
|
#define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT)
|
||||||
#define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT)
|
#define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT)
|
||||||
@@ -904,7 +850,7 @@ typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawabl
|
|||||||
#ifndef GLX_MESA_pixmap_colormap
|
#ifndef GLX_MESA_pixmap_colormap
|
||||||
#define GLX_MESA_pixmap_colormap 1
|
#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)
|
#define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA)
|
||||||
|
|
||||||
@@ -928,11 +874,12 @@ typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo*
|
|||||||
#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
|
#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
|
||||||
#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
|
#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
|
||||||
#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
|
#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
|
||||||
|
#define GLX_RENDERER_ID_MESA 0x818E
|
||||||
|
|
||||||
typedef Bool ( * PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int* value);
|
typedef Bool ( * PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int* value);
|
||||||
typedef const char* ( * PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute);
|
typedef const char* ( * PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute);
|
||||||
typedef Bool ( * PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display* dpy, int screen, int renderer, int attribute, unsigned int* value);
|
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 const char* ( * PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute);
|
||||||
|
|
||||||
#define glXQueryCurrentRendererIntegerMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererIntegerMESA)
|
#define glXQueryCurrentRendererIntegerMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererIntegerMESA)
|
||||||
#define glXQueryCurrentRendererStringMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererStringMESA)
|
#define glXQueryCurrentRendererStringMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererStringMESA)
|
||||||
@@ -948,7 +895,7 @@ typedef const char* ( * PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display* dpy, int sc
|
|||||||
#ifndef GLX_MESA_release_buffers
|
#ifndef GLX_MESA_release_buffers
|
||||||
#define GLX_MESA_release_buffers 1
|
#define GLX_MESA_release_buffers 1
|
||||||
|
|
||||||
typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable drawable);
|
typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d);
|
||||||
|
|
||||||
#define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA)
|
#define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA)
|
||||||
|
|
||||||
@@ -1039,21 +986,6 @@ typedef Bool ( * PFNGLXDELAYBEFORESWAPNVPROC) (Display* dpy, GLXDrawable drawabl
|
|||||||
|
|
||||||
#endif /* GLX_NV_float_buffer */
|
#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 ---------------------- */
|
/* ---------------------- GLX_NV_multisample_coverage ---------------------- */
|
||||||
|
|
||||||
#ifndef GLX_NV_multisample_coverage
|
#ifndef GLX_NV_multisample_coverage
|
||||||
@@ -1073,8 +1005,8 @@ typedef Bool ( * PFNGLXDELAYBEFORESWAPNVPROC) (Display* dpy, GLXDrawable drawabl
|
|||||||
|
|
||||||
#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
|
#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 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 unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
|
||||||
|
|
||||||
#define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV)
|
#define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV)
|
||||||
#define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV)
|
#define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV)
|
||||||
@@ -1083,17 +1015,6 @@ typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display* dpy, int
|
|||||||
|
|
||||||
#endif /* GLX_NV_present_video */
|
#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 --------------------------- */
|
/* --------------------------- GLX_NV_swap_group --------------------------- */
|
||||||
|
|
||||||
#ifndef GLX_NV_swap_group
|
#ifndef GLX_NV_swap_group
|
||||||
@@ -1101,9 +1022,9 @@ typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display* dpy, int
|
|||||||
|
|
||||||
typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier);
|
typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier);
|
||||||
typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group);
|
typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group);
|
||||||
typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint* count);
|
typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint *count);
|
||||||
typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint* maxGroups, GLuint* maxBarriers);
|
typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
|
||||||
typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint* group, GLuint* barrier);
|
typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
|
||||||
typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen);
|
typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen);
|
||||||
|
|
||||||
#define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV)
|
#define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV)
|
||||||
@@ -1144,9 +1065,9 @@ typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer);
|
|||||||
typedef XID GLXVideoCaptureDeviceNV;
|
typedef XID GLXVideoCaptureDeviceNV;
|
||||||
|
|
||||||
typedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display* dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
|
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 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);
|
typedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device);
|
||||||
|
|
||||||
#define glXBindVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXBindVideoCaptureDeviceNV)
|
#define glXBindVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXBindVideoCaptureDeviceNV)
|
||||||
@@ -1176,11 +1097,11 @@ typedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoC
|
|||||||
#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
|
#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
|
||||||
|
|
||||||
typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
|
typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
|
||||||
typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV* pVideoDevice);
|
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 ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
|
||||||
typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice);
|
typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice);
|
||||||
typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display* dpy, GLXPbuffer pbuf);
|
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 glXBindVideoImageNV GLXEW_GET_FUN(__glewXBindVideoImageNV)
|
||||||
#define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV)
|
#define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV)
|
||||||
@@ -1292,12 +1213,12 @@ typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, i
|
|||||||
typedef XID GLXFBConfigIDSGIX;
|
typedef XID GLXFBConfigIDSGIX;
|
||||||
typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
|
typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
|
||||||
|
|
||||||
typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display* dpy, int screen, int* attrib_list, int* nelements);
|
typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
|
||||||
typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
|
typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
|
||||||
typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, Pixmap pixmap);
|
typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap);
|
||||||
typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int* value);
|
typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value);
|
||||||
typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo* vis);
|
typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis);
|
||||||
typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display* dpy, GLXFBConfigSGIX config);
|
typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config);
|
||||||
|
|
||||||
#define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX)
|
#define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX)
|
||||||
#define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX)
|
#define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX)
|
||||||
@@ -1411,10 +1332,10 @@ typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Disp
|
|||||||
typedef XID GLXPbufferSGIX;
|
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 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 GLXPbufferSGIX ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int* attrib_list);
|
typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);
|
||||||
typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbufferSGIX pbuf);
|
typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf);
|
||||||
typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long* mask);
|
typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask);
|
||||||
typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int* value);
|
typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);
|
||||||
typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask);
|
typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask);
|
||||||
|
|
||||||
#define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX)
|
#define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX)
|
||||||
@@ -1432,8 +1353,8 @@ typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable,
|
|||||||
#ifndef GLX_SGIX_swap_barrier
|
#ifndef GLX_SGIX_swap_barrier
|
||||||
#define GLX_SGIX_swap_barrier 1
|
#define GLX_SGIX_swap_barrier 1
|
||||||
|
|
||||||
typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display* dpy, GLXDrawable drawable, int barrier);
|
typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
|
||||||
typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display* dpy, int screen, int* max);
|
typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
|
||||||
|
|
||||||
#define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX)
|
#define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX)
|
||||||
#define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX)
|
#define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX)
|
||||||
@@ -1447,7 +1368,7 @@ typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display* dpy, int screen,
|
|||||||
#ifndef GLX_SGIX_swap_group
|
#ifndef GLX_SGIX_swap_group
|
||||||
#define GLX_SGIX_swap_group 1
|
#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)
|
#define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX)
|
||||||
|
|
||||||
@@ -1466,8 +1387,8 @@ typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display* dpy, GLXDrawable drawabl
|
|||||||
typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window);
|
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 ( * 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 ( * 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 ( * 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 ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
|
||||||
|
|
||||||
#define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX)
|
#define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX)
|
||||||
#define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX)
|
#define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX)
|
||||||
@@ -1551,7 +1472,7 @@ typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigne
|
|||||||
#ifndef GLX_SUN_get_transparent_index
|
#ifndef GLX_SUN_get_transparent_index
|
||||||
#define GLX_SUN_get_transparent_index 1
|
#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)
|
#define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN)
|
||||||
|
|
||||||
@@ -1579,8 +1500,13 @@ 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_FUN_EXPORT GLEW_FUN_EXPORT
|
||||||
#define GLXEW_VAR_EXPORT GLEW_VAR_EXPORT
|
#define GLXEW_VAR_EXPORT GLEW_VAR_EXPORT
|
||||||
|
#endif /* GLEW_MX */
|
||||||
|
|
||||||
GLXEW_FUN_EXPORT PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay;
|
GLXEW_FUN_EXPORT PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay;
|
||||||
|
|
||||||
@@ -1620,7 +1546,6 @@ GLXEW_FUN_EXPORT PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI;
|
|||||||
|
|
||||||
GLXEW_FUN_EXPORT PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT;
|
GLXEW_FUN_EXPORT PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT;
|
||||||
GLXEW_FUN_EXPORT PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT;
|
GLXEW_FUN_EXPORT PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT;
|
||||||
GLXEW_FUN_EXPORT PFNGLXGETCURRENTDISPLAYEXTPROC __glewXGetCurrentDisplayEXT;
|
|
||||||
GLXEW_FUN_EXPORT PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
|
GLXEW_FUN_EXPORT PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
|
||||||
GLXEW_FUN_EXPORT PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
|
GLXEW_FUN_EXPORT PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
|
||||||
|
|
||||||
@@ -1733,6 +1658,12 @@ GLXEW_FUN_EXPORT PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN;
|
|||||||
|
|
||||||
GLXEW_FUN_EXPORT PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN;
|
GLXEW_FUN_EXPORT PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN;
|
||||||
GLXEW_FUN_EXPORT PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN;
|
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_0;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_1;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_1;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2;
|
||||||
@@ -1742,7 +1673,6 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_3DFX_multisample;
|
|||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_AMD_gpu_association;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_AMD_gpu_association;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_context_flush_control;
|
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;
|
||||||
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_profile;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_robustness;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_robustness;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
|
||||||
@@ -1755,14 +1685,11 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_vertex_buffer_object;
|
|||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_ATI_render_texture;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_ATI_render_texture;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_buffer_age;
|
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_es2_profile;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_create_context_es_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_fbconfig_packed_float;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_import_context;
|
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_scene_marker;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_stereo_tree;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_stereo_tree;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_swap_control;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_swap_control;
|
||||||
@@ -1782,10 +1709,8 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_buffer;
|
|||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_image;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_image;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_delay_before_swap;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_delay_before_swap;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_float_buffer;
|
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_multisample_coverage;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_present_video;
|
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_swap_group;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_video_capture;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_video_capture;
|
||||||
@@ -1809,18 +1734,34 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_swap_control;
|
|||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_video_sync;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_video_sync;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_SUN_get_transparent_index;
|
GLXEW_VAR_EXPORT GLboolean __GLXEW_SUN_get_transparent_index;
|
||||||
GLXEW_VAR_EXPORT GLboolean __GLXEW_SUN_video_resize;
|
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 GLenum GLEWAPIENTRY glxewInit ();
|
||||||
GLEWAPI GLboolean GLEWAPIENTRY glxewIsSupported (const char *name);
|
GLEWAPI GLboolean GLEWAPIENTRY glxewIsSupported (const char *name);
|
||||||
|
|
||||||
#ifndef GLXEW_GET_VAR
|
|
||||||
#define GLXEW_GET_VAR(x) (*(const GLboolean*)&x)
|
#define GLXEW_GET_VAR(x) (*(const GLboolean*)&x)
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GLXEW_GET_FUN
|
|
||||||
#define GLXEW_GET_FUN(x) x
|
#define GLXEW_GET_FUN(x) x
|
||||||
#endif
|
|
||||||
|
#endif /* GLEW_MX */
|
||||||
|
|
||||||
GLEWAPI GLboolean GLEWAPIENTRY glxewGetExtension (const char *name);
|
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
|
** The OpenGL Extension Wrangler Library
|
||||||
** Copyright (C) 2008-2019, Nigel Stewart <nigels[]users sourceforge net>
|
** Copyright (C) 2008-2015, Nigel Stewart <nigels[]users sourceforge net>
|
||||||
** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
** Copyright (C) 2002, Lev Povalahev
|
** Copyright (C) 2002, Lev Povalahev
|
||||||
@@ -67,6 +67,9 @@
|
|||||||
# ifndef WIN32_LEAN_AND_MEAN
|
# ifndef WIN32_LEAN_AND_MEAN
|
||||||
# define WIN32_LEAN_AND_MEAN 1
|
# define WIN32_LEAN_AND_MEAN 1
|
||||||
# endif
|
# endif
|
||||||
|
# ifdef NOGDI
|
||||||
|
# undef NOGDI
|
||||||
|
# endif
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
# undef WIN32_LEAN_AND_MEAN
|
# undef WIN32_LEAN_AND_MEAN
|
||||||
#endif
|
#endif
|
||||||
@@ -188,7 +191,7 @@ typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, in
|
|||||||
#ifndef WGL_ARB_context_flush_control
|
#ifndef WGL_ARB_context_flush_control
|
||||||
#define WGL_ARB_context_flush_control 1
|
#define WGL_ARB_context_flush_control 1
|
||||||
|
|
||||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
|
#define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0x0000
|
||||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
|
#define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
|
||||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
|
#define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
|
||||||
|
|
||||||
@@ -201,13 +204,14 @@ typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, in
|
|||||||
#ifndef WGL_ARB_create_context
|
#ifndef WGL_ARB_create_context
|
||||||
#define WGL_ARB_create_context 1
|
#define WGL_ARB_create_context 1
|
||||||
|
|
||||||
#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001
|
#define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001
|
||||||
#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
|
#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
|
||||||
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
||||||
#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
|
#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
|
||||||
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
|
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
|
||||||
#define WGL_CONTEXT_FLAGS_ARB 0x2094
|
#define WGL_CONTEXT_FLAGS_ARB 0x2094
|
||||||
#define ERROR_INVALID_VERSION_ARB 0x2095
|
#define ERROR_INVALID_VERSION_ARB 0x2095
|
||||||
|
#define ERROR_INVALID_PROFILE_ARB 0x2096
|
||||||
|
|
||||||
typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList);
|
typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList);
|
||||||
|
|
||||||
@@ -217,17 +221,6 @@ typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShar
|
|||||||
|
|
||||||
#endif /* WGL_ARB_create_context */
|
#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 -------------------- */
|
/* --------------------- WGL_ARB_create_context_profile -------------------- */
|
||||||
|
|
||||||
#ifndef WGL_ARB_create_context_profile
|
#ifndef WGL_ARB_create_context_profile
|
||||||
@@ -235,7 +228,6 @@ typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShar
|
|||||||
|
|
||||||
#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
|
#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
|
||||||
#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
|
#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
|
||||||
#define ERROR_INVALID_PROFILE_ARB 0x2096
|
|
||||||
#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
|
#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
|
||||||
|
|
||||||
#define WGLEW_ARB_create_context_profile WGLEW_GET_VAR(__WGLEW_ARB_create_context_profile)
|
#define WGLEW_ARB_create_context_profile WGLEW_GET_VAR(__WGLEW_ARB_create_context_profile)
|
||||||
@@ -288,7 +280,7 @@ typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
|
|||||||
#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
|
#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
|
||||||
#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
|
#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);
|
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||||
|
|
||||||
#define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB)
|
#define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB)
|
||||||
@@ -397,9 +389,9 @@ typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC
|
|||||||
#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
|
#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
|
||||||
#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
|
#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 * 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 * 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 * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int *piValues);
|
||||||
|
|
||||||
#define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB)
|
#define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB)
|
||||||
#define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB)
|
#define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB)
|
||||||
@@ -517,19 +509,6 @@ typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, con
|
|||||||
|
|
||||||
#endif /* WGL_ATI_render_texture_rectangle */
|
#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 ------------------ */
|
/* ------------------- WGL_EXT_create_context_es2_profile ------------------ */
|
||||||
|
|
||||||
#ifndef WGL_EXT_create_context_es2_profile
|
#ifndef WGL_EXT_create_context_es2_profile
|
||||||
@@ -570,8 +549,8 @@ typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, con
|
|||||||
|
|
||||||
typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
||||||
typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
||||||
typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
|
||||||
typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort* table, GLuint length);
|
typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (GLushort* table, GLuint length);
|
||||||
|
|
||||||
#define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT)
|
#define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT)
|
||||||
#define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT)
|
#define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT)
|
||||||
@@ -613,7 +592,7 @@ typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
|
|||||||
|
|
||||||
#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
|
#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);
|
typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||||
|
|
||||||
#define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT)
|
#define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT)
|
||||||
@@ -719,9 +698,9 @@ typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC
|
|||||||
#define WGL_TYPE_RGBA_EXT 0x202B
|
#define WGL_TYPE_RGBA_EXT 0x202B
|
||||||
#define WGL_TYPE_COLORINDEX_EXT 0x202C
|
#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 * 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 * 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 * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int *piValues);
|
||||||
|
|
||||||
#define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT)
|
#define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT)
|
||||||
#define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT)
|
#define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT)
|
||||||
@@ -794,9 +773,9 @@ typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAt
|
|||||||
#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
|
#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
|
||||||
#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
|
#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 * 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);
|
typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
|
||||||
|
|
||||||
#define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D)
|
#define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D)
|
||||||
@@ -834,7 +813,7 @@ typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT* uDela
|
|||||||
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge);
|
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge);
|
||||||
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource);
|
typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource);
|
||||||
typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL* pFlag);
|
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 wglDisableGenlockI3D WGLEW_GET_FUN(__wglewDisableGenlockI3D)
|
||||||
#define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D)
|
#define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D)
|
||||||
@@ -861,10 +840,10 @@ typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT*
|
|||||||
#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
|
#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
|
||||||
#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
|
#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
|
||||||
|
|
||||||
typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE* pEvent, const LPVOID* pAddress, const DWORD* pSize, UINT count);
|
typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, HANDLE* pEvent, LPVOID *pAddress, DWORD *pSize, UINT count);
|
||||||
typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
|
typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
|
||||||
typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
|
typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
|
||||||
typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID* pAddress, UINT count);
|
typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID* pAddress, UINT count);
|
||||||
|
|
||||||
#define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D)
|
#define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D)
|
||||||
#define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D)
|
#define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D)
|
||||||
@@ -880,8 +859,8 @@ typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LP
|
|||||||
#ifndef WGL_I3D_swap_frame_lock
|
#ifndef WGL_I3D_swap_frame_lock
|
||||||
#define WGL_I3D_swap_frame_lock 1
|
#define WGL_I3D_swap_frame_lock 1
|
||||||
|
|
||||||
typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
|
typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (VOID);
|
||||||
typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
|
typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (VOID);
|
||||||
typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag);
|
typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag);
|
||||||
typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag);
|
typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag);
|
||||||
|
|
||||||
@@ -902,7 +881,7 @@ typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag);
|
|||||||
typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
|
typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
|
||||||
typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
|
typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
|
||||||
typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float* pUsage);
|
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 wglBeginFrameTrackingI3D WGLEW_GET_FUN(__wglewBeginFrameTrackingI3D)
|
||||||
#define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D)
|
#define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D)
|
||||||
@@ -918,9 +897,9 @@ typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWO
|
|||||||
#ifndef WGL_NV_DX_interop
|
#ifndef WGL_NV_DX_interop
|
||||||
#define WGL_NV_DX_interop 1
|
#define WGL_NV_DX_interop 1
|
||||||
|
|
||||||
#define WGL_ACCESS_READ_ONLY_NV 0x00000000
|
#define WGL_ACCESS_READ_ONLY_NV 0x0000
|
||||||
#define WGL_ACCESS_READ_WRITE_NV 0x00000001
|
#define WGL_ACCESS_READ_WRITE_NV 0x0001
|
||||||
#define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002
|
#define WGL_ACCESS_WRITE_DISCARD_NV 0x0002
|
||||||
|
|
||||||
typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice);
|
typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice);
|
||||||
typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE* hObjects);
|
typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE* hObjects);
|
||||||
@@ -1031,21 +1010,6 @@ typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
|
|||||||
|
|
||||||
#endif /* WGL_NV_gpu_affinity */
|
#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 ---------------------- */
|
/* ---------------------- WGL_NV_multisample_coverage ---------------------- */
|
||||||
|
|
||||||
#ifndef WGL_NV_multisample_coverage
|
#ifndef WGL_NV_multisample_coverage
|
||||||
@@ -1084,6 +1048,7 @@ typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* pi
|
|||||||
#ifndef WGL_NV_render_depth_texture
|
#ifndef WGL_NV_render_depth_texture
|
||||||
#define WGL_NV_render_depth_texture 1
|
#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_DEPTH_NV 0x20A3
|
||||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
|
#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
|
||||||
#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
|
#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
|
||||||
@@ -1115,8 +1080,8 @@ typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* pi
|
|||||||
typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
|
typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
|
||||||
typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
|
typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
|
||||||
typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count);
|
typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count);
|
||||||
typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint* maxBarriers);
|
typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint *maxBarriers);
|
||||||
typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group, GLuint* barrier);
|
typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group, GLuint *barrier);
|
||||||
typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
|
typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
|
||||||
|
|
||||||
#define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV)
|
#define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV)
|
||||||
@@ -1135,8 +1100,8 @@ typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
|
|||||||
#ifndef WGL_NV_vertex_array_range
|
#ifndef WGL_NV_vertex_array_range
|
||||||
#define WGL_NV_vertex_array_range 1
|
#define WGL_NV_vertex_array_range 1
|
||||||
|
|
||||||
typedef void* (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
|
typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
|
||||||
typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void* pointer);
|
typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
|
||||||
|
|
||||||
#define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV)
|
#define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV)
|
||||||
#define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV)
|
#define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV)
|
||||||
@@ -1194,7 +1159,7 @@ DECLARE_HANDLE(HPVIDEODEV);
|
|||||||
|
|
||||||
typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
|
typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||||
typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice);
|
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 * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
|
||||||
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
|
typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||||
typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock);
|
typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock);
|
||||||
@@ -1215,12 +1180,12 @@ typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, in
|
|||||||
#ifndef WGL_OML_sync_control
|
#ifndef WGL_OML_sync_control
|
||||||
#define WGL_OML_sync_control 1
|
#define WGL_OML_sync_control 1
|
||||||
|
|
||||||
typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32* denominator);
|
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 * 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 * 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 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 * 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 * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64 *msc, INT64 *sbc);
|
||||||
|
|
||||||
#define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML)
|
#define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML)
|
||||||
#define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML)
|
#define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML)
|
||||||
@@ -1235,8 +1200,18 @@ 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_FUN_EXPORT GLEW_FUN_EXPORT
|
||||||
#define WGLEW_VAR_EXPORT GLEW_VAR_EXPORT
|
#define WGLEW_VAR_EXPORT GLEW_VAR_EXPORT
|
||||||
|
#endif /* GLEW_MX */
|
||||||
|
|
||||||
|
#ifdef GLEW_MX
|
||||||
|
struct WGLEWContextStruct
|
||||||
|
{
|
||||||
|
#endif /* GLEW_MX */
|
||||||
|
|
||||||
WGLEW_FUN_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL;
|
WGLEW_FUN_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL;
|
||||||
|
|
||||||
@@ -1393,7 +1368,6 @@ WGLEW_VAR_EXPORT GLboolean __WGLEW_AMD_gpu_association;
|
|||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_buffer_region;
|
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_buffer_region;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_context_flush_control;
|
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;
|
||||||
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_profile;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_robustness;
|
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_robustness;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_extensions_string;
|
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_extensions_string;
|
||||||
@@ -1408,7 +1382,6 @@ WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_robustness_application_isolation;
|
|||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_robustness_share_group_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_pixel_format_float;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle;
|
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_es2_profile;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_create_context_es_profile;
|
WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_create_context_es_profile;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_depth_float;
|
WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_depth_float;
|
||||||
@@ -1434,7 +1407,6 @@ WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_copy_image;
|
|||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_delay_before_swap;
|
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_delay_before_swap;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_float_buffer;
|
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_float_buffer;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_gpu_affinity;
|
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_multisample_coverage;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_present_video;
|
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_present_video;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_render_depth_texture;
|
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_render_depth_texture;
|
||||||
@@ -1444,18 +1416,34 @@ WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_vertex_array_range;
|
|||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_capture;
|
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_capture;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_output;
|
WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_output;
|
||||||
WGLEW_VAR_EXPORT GLboolean __WGLEW_OML_sync_control;
|
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 GLenum GLEWAPIENTRY wglewInit ();
|
||||||
GLEWAPI GLboolean GLEWAPIENTRY wglewIsSupported (const char *name);
|
GLEWAPI GLboolean GLEWAPIENTRY wglewIsSupported (const char *name);
|
||||||
|
|
||||||
#ifndef WGLEW_GET_VAR
|
|
||||||
#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x)
|
#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x)
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef WGLEW_GET_FUN
|
|
||||||
#define WGLEW_GET_FUN(x) x
|
#define WGLEW_GET_FUN(x) x
|
||||||
#endif
|
|
||||||
|
#endif /* GLEW_MX */
|
||||||
|
|
||||||
GLEWAPI GLboolean GLEWAPIENTRY wglewGetExtension (const char *name);
|
GLEWAPI GLboolean GLEWAPIENTRY wglewGetExtension (const char *name);
|
||||||
|
|
||||||
|
|||||||
18481
deps/GLEW/glew/src/glew.c
vendored
11
deps/GLFW/GLFW.cmake
vendored
@@ -6,12 +6,6 @@ else()
|
|||||||
set(_build_static ON)
|
set(_build_static ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
set(_glfw_use_wayland "-DGLFW_USE_WAYLAND=ON")
|
|
||||||
else()
|
|
||||||
set(_glfw_use_wayland "-DGLFW_USE_WAYLAND=FF")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
bambustudio_add_cmake_project(GLFW
|
bambustudio_add_cmake_project(GLFW
|
||||||
URL https://github.com/glfw/glfw/archive/refs/tags/3.3.7.zip
|
URL https://github.com/glfw/glfw/archive/refs/tags/3.3.7.zip
|
||||||
URL_HASH SHA256=e02d956935e5b9fb4abf90e2c2e07c9a0526d7eacae8ee5353484c69a2a76cd0
|
URL_HASH SHA256=e02d956935e5b9fb4abf90e2c2e07c9a0526d7eacae8ee5353484c69a2a76cd0
|
||||||
@@ -20,10 +14,9 @@ bambustudio_add_cmake_project(GLFW
|
|||||||
-DBUILD_SHARED_LIBS=${_build_shared}
|
-DBUILD_SHARED_LIBS=${_build_shared}
|
||||||
-DGLFW_BUILD_DOCS=OFF
|
-DGLFW_BUILD_DOCS=OFF
|
||||||
-DGLFW_BUILD_EXAMPLES=OFF
|
-DGLFW_BUILD_EXAMPLES=OFF
|
||||||
-DGLFW_BUILD_TESTS=OFF
|
-DGLFW_BUILD_TESTS=OFF
|
||||||
${_glfw_use_wayland}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_debug_dep(dep_GLFW)
|
add_debug_dep(dep_GLFW)
|
||||||
endif ()
|
endif ()
|
||||||
22
deps/GMP/GMP.cmake
vendored
@@ -22,24 +22,10 @@ else ()
|
|||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||||
set(_gmp_build_arch aarch64)
|
set(_gmp_build_tgt aarch64)
|
||||||
else ()
|
|
||||||
set(_gmp_build_arch ${CMAKE_SYSTEM_PROCESSOR})
|
|
||||||
endif()
|
|
||||||
if (IS_CROSS_COMPILE)
|
|
||||||
if (${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
|
||||||
set(_gmp_host_arch aarch64)
|
|
||||||
set(_gmp_host_arch_flags "-arch arm64")
|
|
||||||
elseif (${CMAKE_OSX_ARCHITECTURES} MATCHES "x86_64")
|
|
||||||
set(_gmp_host_arch x86_64)
|
|
||||||
set(_gmp_host_arch_flags "-arch x86_64")
|
|
||||||
endif()
|
|
||||||
set(_gmp_ccflags "${_gmp_ccflags} ${_gmp_host_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
|
||||||
set(_gmp_build_tgt --build=${_gmp_build_arch}-apple-darwin --host=${_gmp_host_arch}-apple-darwin)
|
|
||||||
else ()
|
|
||||||
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
|
||||||
set(_gmp_build_tgt "--build=${_gmp_build_arch}-apple-darwin")
|
|
||||||
endif()
|
endif()
|
||||||
|
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||||
|
set(_gmp_build_tgt "--build=${_gmp_build_tgt}-apple-darwin")
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||||
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
|
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
|
||||||
@@ -65,4 +51,4 @@ else ()
|
|||||||
BUILD_COMMAND make -j
|
BUILD_COMMAND make -j
|
||||||
INSTALL_COMMAND make install
|
INSTALL_COMMAND make install
|
||||||
)
|
)
|
||||||
endif ()
|
endif ()
|
||||||
|
|||||||
14
deps/JPEG/JPEG.cmake
vendored
@@ -1,16 +1,3 @@
|
|||||||
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
|
bambustudio_add_cmake_project(JPEG
|
||||||
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.zip
|
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.zip
|
||||||
URL_HASH SHA256=017bdc33ff3a72e11301c0feb4657cb27719d7f97fa67a78ed506c594218bbf1
|
URL_HASH SHA256=017bdc33ff3a72e11301c0feb4657cb27719d7f97fa67a78ed506c594218bbf1
|
||||||
@@ -18,5 +5,4 @@ bambustudio_add_cmake_project(JPEG
|
|||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DENABLE_SHARED=OFF
|
-DENABLE_SHARED=OFF
|
||||||
-DENABLE_STATIC=ON
|
-DENABLE_STATIC=ON
|
||||||
${jpeg_flag}
|
|
||||||
)
|
)
|
||||||
|
|||||||
22
deps/OCCT/OCCT.cmake
vendored
@@ -10,21 +10,19 @@ bambustudio_add_cmake_project(OCCT
|
|||||||
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||||
PATCH_COMMAND git apply --directory deps/build/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
PATCH_COMMAND git apply --directory deps/build/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||||
#DEPENDS dep_Boost
|
#DEPENDS dep_Boost
|
||||||
#DEPENDS dep_FREETYPE
|
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DBUILD_LIBRARY_TYPE=${library_build_type}
|
-DBUILD_LIBRARY_TYPE=${library_build_type}
|
||||||
-DUSE_TK=OFF
|
-DUSE_TK=OFF
|
||||||
-DUSE_TBB=OFF
|
-DUSE_TBB=OFF
|
||||||
#-DUSE_FREETYPE=OFF
|
-DUSE_FREETYPE=OFF
|
||||||
-DUSE_FFMPEG=OFF
|
-DUSE_FFMPEG=OFF
|
||||||
-DUSE_VTK=OFF
|
-DUSE_VTK=OFF
|
||||||
-DBUILD_MODULE_ApplicationFramework=OFF
|
-DUSE_FREETYPE=OFF
|
||||||
#-DBUILD_MODULE_DataExchange=OFF
|
-DBUILD_MODULE_ApplicationFramework=OFF
|
||||||
|
#-DBUILD_MODULE_DataExchange=OFF
|
||||||
-DBUILD_MODULE_Draw=OFF
|
-DBUILD_MODULE_Draw=OFF
|
||||||
-DBUILD_MODULE_FoundationClasses=OFF
|
-DBUILD_MODULE_FoundationClasses=OFF
|
||||||
-DBUILD_MODULE_ModelingAlgorithms=OFF
|
-DBUILD_MODULE_ModelingAlgorithms=OFF
|
||||||
-DBUILD_MODULE_ModelingData=OFF
|
-DBUILD_MODULE_ModelingData=OFF
|
||||||
-DBUILD_MODULE_Visualization=OFF
|
-DBUILD_MODULE_Visualization=OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(dep_OCCT dep_FREETYPE)
|
|
||||||
|
|||||||
32
deps/OpenEXR/OpenEXR.cmake
vendored
@@ -1,34 +1,3 @@
|
|||||||
# Check if we're building for arm on x86_64 and just for OpenEXR, build fat
|
|
||||||
# binaries. We need this because it compiles some code to generate other
|
|
||||||
# source and we need to be able to run the executables. When we link the
|
|
||||||
# library, the x86_64 part will be ignored.
|
|
||||||
if (APPLE AND IS_CROSS_COMPILE)
|
|
||||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND ${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
|
||||||
set(_openexr_arch arm64^^x86_64)
|
|
||||||
set(_openxr_list_sep LIST_SEPARATOR ^^)
|
|
||||||
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
|
|
||||||
else()
|
|
||||||
set(_openexr_arch ${CMAKE_OSX_ARCHITECTURES})
|
|
||||||
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
|
|
||||||
endif()
|
|
||||||
ExternalProject_Add(dep_OpenEXR
|
|
||||||
EXCLUDE_FROM_ALL ON
|
|
||||||
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
|
|
||||||
URL_HASH SHA256=0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de
|
|
||||||
INSTALL_DIR ${DESTDIR}/usr/local
|
|
||||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenEXR
|
|
||||||
${_openxr_list_sep}
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
|
||||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
-DBUILD_TESTING=OFF
|
|
||||||
-DPYILMBASE_ENABLE:BOOL=OFF
|
|
||||||
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
|
||||||
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
|
||||||
${_cmake_openexr_arch}
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
bambustudio_add_cmake_project(OpenEXR
|
bambustudio_add_cmake_project(OpenEXR
|
||||||
# GIT_REPOSITORY https://github.com/openexr/openexr.git
|
# GIT_REPOSITORY https://github.com/openexr/openexr.git
|
||||||
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
|
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
|
||||||
@@ -42,7 +11,6 @@ bambustudio_add_cmake_project(OpenEXR
|
|||||||
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
||||||
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_debug_dep(dep_OpenEXR)
|
add_debug_dep(dep_OpenEXR)
|
||||||
|
|||||||
53
deps/PNG/PNG.cmake
vendored
@@ -5,43 +5,26 @@ else ()
|
|||||||
set(_disable_neon_extension "")
|
set(_disable_neon_extension "")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(APPLE AND IS_CROSS_COMPILE)
|
|
||||||
# TODO: check if it doesn't create problem when compiling from arm to x86_64
|
|
||||||
bambustudio_add_cmake_project(PNG
|
|
||||||
GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
|
||||||
GIT_TAG v1.6.35
|
|
||||||
DEPENDS ${ZLIB_PKG}
|
|
||||||
PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
|
|
||||||
${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/macos-arm64.patch
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DPNG_SHARED=OFF
|
|
||||||
-DPNG_STATIC=ON
|
|
||||||
-DPNG_PREFIX=prusaslicer_
|
|
||||||
-DPNG_TESTS=OFF
|
|
||||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
|
||||||
${_disable_neon_extension}
|
|
||||||
)
|
|
||||||
else ()
|
|
||||||
set(_patch_step "")
|
set(_patch_step "")
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
|
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
|
||||||
endif ()
|
endif ()
|
||||||
bambustudio_add_cmake_project(PNG
|
|
||||||
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
bambustudio_add_cmake_project(PNG
|
||||||
# GIT_TAG v1.6.35
|
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||||
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
|
# GIT_TAG v1.6.35
|
||||||
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
|
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
|
||||||
DEPENDS ${ZLIB_PKG}
|
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
|
||||||
"${_patch_step}"
|
DEPENDS ${ZLIB_PKG}
|
||||||
CMAKE_ARGS
|
"${_patch_step}"
|
||||||
-DPNG_SHARED=OFF
|
CMAKE_ARGS
|
||||||
-DPNG_STATIC=ON
|
-DPNG_SHARED=OFF
|
||||||
-DPNG_PREFIX=prusaslicer_
|
-DPNG_STATIC=ON
|
||||||
-DPNG_TESTS=OFF
|
-DPNG_PREFIX=prusaslicer_
|
||||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
-DPNG_TESTS=OFF
|
||||||
${_disable_neon_extension}
|
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||||
|
${_disable_neon_extension}
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_debug_dep(dep_PNG)
|
add_debug_dep(dep_PNG)
|
||||||
|
|||||||
90
deps/PNG/macos-arm64.patch
vendored
@@ -1,90 +0,0 @@
|
|||||||
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,32 +1,13 @@
|
|||||||
find_package(OpenGL QUIET REQUIRED)
|
find_package(OpenGL QUIET REQUIRED)
|
||||||
|
|
||||||
if (APPLE)
|
bambustudio_add_cmake_project(TIFF
|
||||||
message(STATUS "Compiling TIFF for macos ${CMAKE_SYSTEM_VERSION}.")
|
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.1.0/libtiff-v4.1.0.zip
|
||||||
bambustudio_add_cmake_project(TIFF
|
URL_HASH SHA256=c56edfacef0a60c0de3e6489194fcb2f24c03dbb550a8a7de5938642d045bd32
|
||||||
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.3.0/libtiff-v4.3.0.zip
|
DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG
|
||||||
URL_HASH SHA256=4fca1b582c88319f3ad6ecd5b46320eadaf5eb4ef6f6c32d44caaae4a03d0726
|
CMAKE_ARGS
|
||||||
DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG
|
-Dlzma:BOOL=OFF
|
||||||
CMAKE_ARGS
|
-Dwebp:BOOL=OFF
|
||||||
-Dlzma:BOOL=OFF
|
-Djbig:BOOL=OFF
|
||||||
-Dwebp:BOOL=OFF
|
-Dzstd:BOOL=OFF
|
||||||
-Djbig:BOOL=OFF
|
-Dpixarlog: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()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
149
deps/WebView2/include/WebView2EnvironmentOptions.h
vendored
@@ -1,149 +0,0 @@
|
|||||||
// 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,10 +15,6 @@ elseif (MSVC_VERSION LESS 1930)
|
|||||||
# 1920-1929 = VS 16.0 (v142 toolset)
|
# 1920-1929 = VS 16.0 (v142 toolset)
|
||||||
set(DEP_VS_VER "16")
|
set(DEP_VS_VER "16")
|
||||||
set(DEP_BOOST_TOOLSET "msvc-14.2")
|
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 ()
|
else ()
|
||||||
message(FATAL_ERROR "Unsupported MSVC version")
|
message(FATAL_ERROR "Unsupported MSVC version")
|
||||||
endif ()
|
endif ()
|
||||||
|
|||||||
29
deps/wxWidgets/0001-wxWidget-fix.patch
vendored
@@ -1,32 +1,3 @@
|
|||||||
diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
|
|
||||||
index 0bc4f934b9..479431a69c 100644
|
|
||||||
--- a/build/cmake/init.cmake
|
|
||||||
+++ b/build/cmake/init.cmake
|
|
||||||
@@ -413,7 +413,11 @@ if(wxUSE_GUI)
|
|
||||||
else()
|
|
||||||
find_package(OpenGL)
|
|
||||||
if(WXGTK3 AND OpenGL_EGL_FOUND AND wxUSE_GLCANVAS_EGL)
|
|
||||||
+ if(UNIX AND NOT APPLE)
|
|
||||||
+ set(OPENGL_LIBRARIES OpenGL EGL)
|
|
||||||
+ else()
|
|
||||||
set(OPENGL_LIBRARIES OpenGL::OpenGL OpenGL::EGL)
|
|
||||||
+ endif()
|
|
||||||
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
|
diff --git a/include/wx/fontutil.h b/include/wx/fontutil.h
|
||||||
index 09ad8c8ef3..3c0c2d8f7e 100644
|
index 09ad8c8ef3..3c0c2d8f7e 100644
|
||||||
--- a/include/wx/fontutil.h
|
--- a/include/wx/fontutil.h
|
||||||
|
|||||||