mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
d951f24955 |
@@ -1,41 +0,0 @@
|
||||
# clang-format configuration file trying to apply OCCT coding style
|
||||
#
|
||||
# Clang formatting rules: https://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
||||
# The clang-format npm package (https://github.com/angular/clang-format) uses
|
||||
# a pre-built clang-format.exe from http://llvm.org/builds/
|
||||
#
|
||||
# We use defaults from the Microsoft style
|
||||
BasedOnStyle: Microsoft
|
||||
#
|
||||
# Style options
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AllowAllArgumentsOnNextLine: false
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveAssignments: Consecutive
|
||||
AlignConsecutiveDeclarations: Consecutive
|
||||
AlignTrailingComments: true
|
||||
AllowShortFunctionsOnASingleLine: Inline
|
||||
AlwaysBreakTemplateDeclarations: Yes
|
||||
BinPackArguments: false
|
||||
BinPackParameters: false
|
||||
BreakBeforeBinaryOperators: NonAssignment
|
||||
BreakBeforeTernaryOperators: true
|
||||
ColumnLimit: 100
|
||||
ContinuationIndentWidth: 2
|
||||
IndentCaseLabels: true
|
||||
IndentPPDirectives: BeforeHash
|
||||
IndentWidth: 2
|
||||
IndentWrappedFunctionNames: true
|
||||
PackConstructorInitializers: Never
|
||||
PointerAlignment: Left
|
||||
ReferenceAlignment: Left
|
||||
SeparateDefinitionBlocks: Always
|
||||
SortIncludes: false
|
||||
UseTab: Never
|
||||
#
|
||||
# OCCT specific settings
|
||||
StatementMacros:
|
||||
- Standard_FALLTHROUGH
|
||||
- Standard_DEPRECATED
|
||||
TypenameMacros:
|
||||
- Handle
|
@@ -1,2 +0,0 @@
|
||||
# Global formatting with new rules using clang-format 18.1.8
|
||||
a5a7b3185b83c39d5b26cfaf138b9b87b5776e59
|
102
.github/ISSUE_TEMPLATE/Application Framework Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Application Framework Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Application Framework Bug Report"
|
||||
description: "Report a bug related to the Application Framework"
|
||||
labels: ["1. Application Framework", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Application Framework Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Application Framework Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Application Framework Feature Request"
|
||||
description: "Request a new feature or enhancement for the Application Framework"
|
||||
labels: ["1. Application Framework", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
102
.github/ISSUE_TEMPLATE/Build Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Build Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Build Bug Report"
|
||||
description: "Report a bug related to the build process"
|
||||
labels: ["1. Build", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Build Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Build Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Build Feature Request"
|
||||
description: "Request a new feature or enhancement for the build process"
|
||||
labels: ["1. Build", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
102
.github/ISSUE_TEMPLATE/Coding Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Coding Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Coding Bug Report"
|
||||
description: "Report a bug related to coding"
|
||||
labels: ["1. Coding", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Coding Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Coding Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Coding Feature Request"
|
||||
description: "Request a new feature or enhancement for coding"
|
||||
labels: ["1. Coding", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
102
.github/ISSUE_TEMPLATE/Configuration Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Configuration Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Configuration Bug Report"
|
||||
description: "Report a bug related to configuration"
|
||||
labels: ["1. Configuration", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Configuration Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Configuration Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Configuration Feature Request"
|
||||
description: "Request a new feature or enhancement for configuration"
|
||||
labels: ["1. Configuration", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
@@ -1,6 +1,6 @@
|
||||
name: "Bug Report"
|
||||
description: "Report a bug related to the OCCT"
|
||||
labels: ["2. Bug", "0. New"]
|
||||
name: "DRAW Bug Report"
|
||||
description: "Report a bug related to DRAW"
|
||||
labels: ["1. 2. Bug", "DRAW"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
@@ -43,7 +43,6 @@ body:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
default: 0
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
@@ -55,9 +54,13 @@ body:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
default: 0
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
@@ -66,7 +69,6 @@ body:
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
default: 1
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
@@ -78,13 +80,21 @@ body:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.7
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
default: 6
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
@@ -1,6 +1,6 @@
|
||||
name: "Feature Request"
|
||||
description: "Request a new feature or enhancement for the OCCT"
|
||||
labels: ["2. Enhancement", "0. New"]
|
||||
name: "DRAW Feature Request"
|
||||
description: "Request a new feature related to DRAW"
|
||||
labels: ["1. Enhancement", "DRAW"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
102
.github/ISSUE_TEMPLATE/Data Exchange Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Data Exchange Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Data Exchange Bug Report"
|
||||
description: "Report a bug related to data exchange"
|
||||
labels: ["1. Data Exchange", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Data Exchange Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Data Exchange Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Data Exchange Feature Request"
|
||||
description: "Request a new feature or enhancement for data exchange"
|
||||
labels: ["1. Data Exchange", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
102
.github/ISSUE_TEMPLATE/Documentation Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Documentation Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Documentation Bug Report"
|
||||
description: "Report a bug related to documentation"
|
||||
labels: ["1. Documentation", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Documentation Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Documentation Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Documentation Feature Request"
|
||||
description: "Request a new feature or enhancement for documentation"
|
||||
labels: ["1. Documentation", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
102
.github/ISSUE_TEMPLATE/Foundation Classes Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Foundation Classes Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Foundation Classes Bug Report"
|
||||
description: "Report a bug related to Foundation Classes"
|
||||
labels: ["1. Foundation Classes", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Foundation Classes Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Foundation Classes Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Foundation Classes Feature Request"
|
||||
description: "Request a new feature or enhancement for Foundation Classes"
|
||||
labels: ["1. Foundation Classes", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
102
.github/ISSUE_TEMPLATE/Mesh Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Mesh Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Mesh Bug Report"
|
||||
description: "Report a bug related to Mesh"
|
||||
labels: ["1. Mesh", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Mesh Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Mesh Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Mesh Feature Request"
|
||||
description: "Request a new feature or enhancement for Mesh"
|
||||
labels: ["1. Mesh", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
102
.github/ISSUE_TEMPLATE/Modeling Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Modeling Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Modeling Bug Report"
|
||||
description: "Report a bug related to Modeling"
|
||||
labels: ["1. Modeling", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Modeling Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Modeling Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Modeling Feature Request"
|
||||
description: "Request a new feature or enhancement for Modeling"
|
||||
labels: ["1. Modeling", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
102
.github/ISSUE_TEMPLATE/Samples Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Samples Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Samples Bug Report"
|
||||
description: "Report a bug related to Samples"
|
||||
labels: ["1. Samples", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Samples Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Samples Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Samples Feature Request"
|
||||
description: "Request a new feature or enhancement for Samples"
|
||||
labels: ["1. Samples", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
102
.github/ISSUE_TEMPLATE/Shape Healing Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Shape Healing Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Shape Healing Bug Report"
|
||||
description: "Report a bug related to Shape Healing"
|
||||
labels: ["1. Shape Healing", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Shape Healing Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Shape Healing Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Shape Healing Feature Request"
|
||||
description: "Request a new feature or enhancement for Shape Healing"
|
||||
labels: ["1. Shape Healing", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
102
.github/ISSUE_TEMPLATE/Testing Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Testing Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Testing Bug Report"
|
||||
description: "Report a bug related to Testing"
|
||||
labels: ["1. Testing", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Testing Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Testing Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Testing Feature Request"
|
||||
description: "Request a new feature or enhancement for Testing"
|
||||
labels: ["1. Testing", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
102
.github/ISSUE_TEMPLATE/Visualization Bug Report.yaml
vendored
Normal file
102
.github/ISSUE_TEMPLATE/Visualization Bug Report.yaml
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
name: "Visualization Bug Report"
|
||||
description: "Report a bug related to Visualization"
|
||||
labels: ["1. Visualization", "2. Bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the bug"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected_behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: "What you expected to happen"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual_behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: "What actually happened"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample_code
|
||||
attributes:
|
||||
label: Sample Code or DRAW Tcl Script
|
||||
description: "Provide a C++ sample or DRAW Tcl script to reproduce the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: "Select the operating system"
|
||||
options:
|
||||
- Linux
|
||||
- Windows
|
||||
- macOS
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: compiler
|
||||
attributes:
|
||||
label: Compiler
|
||||
description: "Select the compiler"
|
||||
options:
|
||||
- GCC
|
||||
- Clang
|
||||
- MSVC
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: compiler_version
|
||||
attributes:
|
||||
label: Compiler Version
|
||||
description: "Specify the compiler version (optional)"
|
||||
- type: dropdown
|
||||
id: bitness
|
||||
attributes:
|
||||
label: Bitness
|
||||
description: "Select the bitness"
|
||||
options:
|
||||
- 32-bit
|
||||
- 64-bit
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: occt_version
|
||||
attributes:
|
||||
label: OCCT Version
|
||||
description: "Select the OCCT version where the issue was detected"
|
||||
options:
|
||||
- 7.4
|
||||
- 7.5
|
||||
- 7.6
|
||||
- 7.8
|
||||
- 7.9
|
||||
- latest
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: precise_occt_version
|
||||
attributes:
|
||||
label: Precise OCCT Version or Branch
|
||||
description: "Specify the precise OCCT version, branch, or SSH (optional)"
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: "Details about your environment (OS, compiler, etc.)"
|
||||
- type: textarea
|
||||
id: additional_files
|
||||
attributes:
|
||||
label: Additional Files
|
||||
description: "Attach any additional files that may help in reproducing the issue"
|
34
.github/ISSUE_TEMPLATE/Visualization Feature Request.yaml
vendored
Normal file
34
.github/ISSUE_TEMPLATE/Visualization Feature Request.yaml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: "Visualization Feature Request"
|
||||
description: "Request a new feature or enhancement for Visualization"
|
||||
labels: ["1. Visualization", "2. Enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Please provide the following information:**
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: "A detailed description of the feature request"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: use_case
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: "Describe the use case for the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: benefits
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: "Explain the benefits of the feature"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: "Any additional context or information"
|
18
.github/actions/setup-xvfb-mesa/action.yml
vendored
18
.github/actions/setup-xvfb-mesa/action.yml
vendored
@@ -1,18 +0,0 @@
|
||||
name: 'Setup Xvfb and Mesa'
|
||||
description: 'Installs and configures Xvfb and Mesa for graphical testing on Linux'
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Install Xvfb and Mesa
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y xvfb mesa-utils libgl1-mesa-dri
|
||||
shell: bash
|
||||
|
||||
- name: Start Xvfb
|
||||
run: |
|
||||
Xvfb :99 -screen 0 1920x1080x24 &
|
||||
echo "DISPLAY=:99" >> $GITHUB_ENV
|
||||
echo "LIBGL_ALWAYS_SOFTWARE=1" >> $GITHUB_ENV
|
||||
shell: bash
|
32
.github/actions/testgrid/testlinuxclang.tcl
vendored
32
.github/actions/testgrid/testlinuxclang.tcl
vendored
@@ -1,32 +0,0 @@
|
||||
set exclude_list [list \
|
||||
"bugs caf bug31075" \
|
||||
"bugs caf bug31546" \
|
||||
"bugs fclasses bug6143" \
|
||||
"bugs fclasses bug25574" \
|
||||
"bugs fclasses bug29064" \
|
||||
"bugs fclasses bug7287_3" \
|
||||
"bugs fclasses bug7287_5" \
|
||||
"bugs moddata_2 bug712_2" \
|
||||
"bugs moddata_1 bug20627" \
|
||||
"collections n arrayMove" \
|
||||
"lowalgos intss bug565" \
|
||||
"lowalgos intss bug567_1" \
|
||||
"lowalgos intss bug23972" \
|
||||
"lowalgos intss bug29910_2" \
|
||||
"opengl background bug27836" \
|
||||
"opengl text C4" \
|
||||
"opengles3 background bug27836" \
|
||||
"opengles3 general msaa" \
|
||||
"opengles3 geom interior1" \
|
||||
"opengles3 geom interior2" \
|
||||
"opengles3 raytrace msaa" \
|
||||
"opengles3 text C4" \
|
||||
"opengles3 textures alpha_mask" \
|
||||
"boolean bopfuse_simple ZP6" \
|
||||
"boolean gdml_private B5" \
|
||||
"bugs modalg_1 bug19071" \
|
||||
"bugs modalg_5 bug25199"
|
||||
]
|
||||
|
||||
set exclude_str [join $exclude_list ,]
|
||||
testgrid -exclude {*}$exclude_str -outdir results/linux-clang-x64
|
28
.github/actions/testgrid/testlinuxgcc.tcl
vendored
28
.github/actions/testgrid/testlinuxgcc.tcl
vendored
@@ -1,28 +0,0 @@
|
||||
set exclude_list [list \
|
||||
"bugs caf bug31075" \
|
||||
"bugs caf bug31546" \
|
||||
"bugs fclasses bug6143" \
|
||||
"bugs moddata_2 bug712_2" \
|
||||
"bugs moddata_1 bug20627" \
|
||||
"bugs modalg_6 bug27884" \
|
||||
"lowalgos intss bug565" \
|
||||
"lowalgos intss bug567_1" \
|
||||
"lowalgos intss bug23972" \
|
||||
"lowalgos intss bug29910_2" \
|
||||
"opengl background bug27836" \
|
||||
"opengl text C4" \
|
||||
"opengles3 background bug27836" \
|
||||
"opengles3 general msaa" \
|
||||
"opengles3 geom interior1" \
|
||||
"opengles3 geom interior2" \
|
||||
"opengles3 raytrace msaa" \
|
||||
"opengles3 text C4" \
|
||||
"opengles3 textures alpha_mask" \
|
||||
"boolean bopfuse_simple ZP6" \
|
||||
"boolean gdml_private B5" \
|
||||
"bugs modalg_1 bug19071" \
|
||||
"bugs modalg_5 bug25199"
|
||||
]
|
||||
|
||||
set exclude_str [join $exclude_list ,]
|
||||
testgrid -exclude {*}$exclude_str -outdir results/linux-gcc-x64
|
1
.github/actions/testgrid/testmacos.tcl
vendored
1
.github/actions/testgrid/testmacos.tcl
vendored
@@ -1 +0,0 @@
|
||||
testgrid -outdir results/macos-x64 caf basic
|
1
.github/actions/testgrid/testmacosgcc.tcl
vendored
1
.github/actions/testgrid/testmacosgcc.tcl
vendored
@@ -1 +0,0 @@
|
||||
testgrid -outdir results/macos-gcc-x64 caf basic
|
24
.github/actions/testgrid/testwindows.tcl
vendored
24
.github/actions/testgrid/testwindows.tcl
vendored
@@ -1,24 +0,0 @@
|
||||
set exclude_list [list \
|
||||
"bugs fclasses bug6143" \
|
||||
"bugs modalg_5 bug24639" \
|
||||
"bugs modalg_7 bug83" \
|
||||
"bugs caf bug31918_1" \
|
||||
"chamfer dist_angle_sequence A5" \
|
||||
"opengl background bug27836" \
|
||||
"opengl drivers d3dhost" \
|
||||
"opengl background srgb" \
|
||||
"opengl text C4" \
|
||||
"opengles2 text C4" \
|
||||
"opengles3 text C4" \
|
||||
"boolean gdml_private B5" \
|
||||
"chamfer dist_angle A3" \
|
||||
"chamfer dist_angle E5" \
|
||||
"chamfer dist_angle_complex A1" \
|
||||
"chamfer dist_angle_complex A4" \
|
||||
"chamfer dist_angle_complex A5" \
|
||||
"chamfer dist_angle_sequence A1" \
|
||||
"chamfer dist_angle_sequence A4"
|
||||
]
|
||||
|
||||
set exclude_str [join $exclude_list ,]
|
||||
testgrid -exclude {*}$exclude_str -outdir results/windows-x64
|
25
.github/actions/testgrid/testwindowsclang.tcl
vendored
25
.github/actions/testgrid/testwindowsclang.tcl
vendored
@@ -1,25 +0,0 @@
|
||||
set exclude_list [list \
|
||||
"bugs caf bug31918_1" \
|
||||
"bugs fclasses bug6143" \
|
||||
"bugs fclasses bug25574" \
|
||||
"bugs fclasses bug29064" \
|
||||
"chamfer dist_angle_sequence A5" \
|
||||
"collections n arrayMove" \
|
||||
"opengl background bug27836" \
|
||||
"opengl drivers d3dhost" \
|
||||
"opengl background srgb" \
|
||||
"opengl text C4" \
|
||||
"opengles2 text C4" \
|
||||
"opengles3 text C4" \
|
||||
"boolean gdml_private B5" \
|
||||
"chamfer dist_angle A3" \
|
||||
"chamfer dist_angle E5" \
|
||||
"chamfer dist_angle_complex A1" \
|
||||
"chamfer dist_angle_complex A4" \
|
||||
"chamfer dist_angle_complex A5" \
|
||||
"chamfer dist_angle_sequence A1" \
|
||||
"chamfer dist_angle_sequence A4"
|
||||
]
|
||||
|
||||
set exclude_str [join $exclude_list ,]
|
||||
testgrid -exclude {*}$exclude_str -outdir results/windows-clang-x64
|
1318
.github/workflows/build-and-test-multiplatform.yml
vendored
1318
.github/workflows/build-and-test-multiplatform.yml
vendored
File diff suppressed because it is too large
Load Diff
36
.github/workflows/build-docs.yml
vendored
36
.github/workflows/build-docs.yml
vendored
@@ -1,4 +1,4 @@
|
||||
# This workflow builds the OCCT reference manual and overview documentations.
|
||||
# This workflow builds the OCCT reference manual documentation.
|
||||
# It is triggered on pushes to the 'master' branch.
|
||||
# The workflow includes steps to checkout the repository, install dependencies, build the documentation, and upload the generated documentation and logs as artifacts.
|
||||
|
||||
@@ -12,48 +12,34 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
name: Build Refman Documentation
|
||||
runs-on: windows-2022
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
# Step: Checkout the repository
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.2.1
|
||||
|
||||
# Step: Install necessary dependencies for building the documentation
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
choco install -y graphviz
|
||||
choco install -y doxygen.install
|
||||
run: sudo apt-get update && sudo apt-get install -y tcl-dev tk-dev cmake gcc g++ make libbtbb-dev libx11-dev libglu1-mesa-dev doxygen graphviz
|
||||
|
||||
- name: Build refman documentation
|
||||
run: |
|
||||
set PATH=%PATH%;C:\Program Files\doxygen\bin;C:\Program Files\Graphviz\bin;C:\Program Files\doxygen
|
||||
cd adm
|
||||
bash gendoc -refman
|
||||
shell: cmd
|
||||
# Step: Build the reference manual documentation
|
||||
- name: Build documentation
|
||||
run: bash gendoc -refman
|
||||
|
||||
# Step: Upload the generated reference manual documentation as an artifact
|
||||
- name: Upload refman documentation
|
||||
uses: actions/upload-artifact@v4.4.3
|
||||
id: artifact-upload-step
|
||||
with:
|
||||
name: refman-doc
|
||||
path: doc/refman
|
||||
retention-days: 90
|
||||
|
||||
# Step: Upload the documentation generation log as an artifact
|
||||
- name: Upload generation log
|
||||
uses: actions/upload-artifact@v4.4.3
|
||||
with:
|
||||
name: doxygen.log
|
||||
path: doc/html_doxygen_err.log
|
||||
retention-days: 90
|
||||
|
||||
- name: Build documentation Overview
|
||||
run: |
|
||||
set PATH=%PATH%;C:\Program Files\doxygen\bin;C:\Program Files\Graphviz\bin;C:\Program Files\doxygen
|
||||
cd adm
|
||||
bash gendoc -overview
|
||||
shell: cmd
|
||||
|
||||
- name: Upload overview documentation
|
||||
uses: actions/upload-artifact@v4.4.3
|
||||
with:
|
||||
name: overview-doc
|
||||
path: doc/overview
|
||||
retention-days: 90
|
||||
|
216
.github/workflows/build-multiconfig-mingw.yml
vendored
216
.github/workflows/build-multiconfig-mingw.yml
vendored
@@ -1,216 +0,0 @@
|
||||
# This workflow validates the build on Windows using MinGW and MSYS2.
|
||||
# It is triggered on pushes to the master branch.
|
||||
# The workflow includes steps to install dependencies, configure, build, and clean up the project.
|
||||
|
||||
name: MinGW build validation
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
main_job:
|
||||
name: Windows MinGW validation
|
||||
runs-on: windows-2022
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
config:
|
||||
- {
|
||||
name: "GCC",
|
||||
cc: "x86_64-w64-mingw32-gcc",
|
||||
cxx: "x86_64-w64-mingw32-g++",
|
||||
package: "mingw-w64-x86_64-toolchain",
|
||||
thirdparty_dir: "/mingw64",
|
||||
dependencies: "mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja mingw-w64-x86_64-rapidjson mingw-w64-x86_64-freetype mingw-w64-x86_64-draco mingw-w64-x86_64-freeimage mingw-w64-x86_64-tbb mingw-w64-x86_64-tk mingw-w64-x86_64-tcl mingw-w64-x86_64-openvr mingw-w64-x86_64-jemalloc mingw-w64-x86_64-mesa mingw-w64-x86_64-angleproject mingw-w64-x86_64-llvm-openmp mingw-w64-x86_64-winpthreads-git mingw-w64-x86_64-libwinpthread-git mingw-w64-cross-mingwarm64-winpthreads"
|
||||
}
|
||||
- {
|
||||
name: "Clang",
|
||||
cc: "clang",
|
||||
cxx: "clang++",
|
||||
package: "mingw-w64-clang-x86_64-toolchain",
|
||||
thirdparty_dir: "/clang64",
|
||||
dependencies: "mingw-w64-clang-x86_64-cmake mingw-w64-clang-x86_64-ninja mingw-w64-clang-x86_64-rapidjson mingw-w64-clang-x86_64-freetype mingw-w64-clang-x86_64-draco mingw-w64-clang-x86_64-freeimage mingw-w64-clang-x86_64-tbb mingw-w64-clang-x86_64-tk mingw-w64-clang-x86_64-tcl mingw-w64-clang-x86_64-openvr mingw-w64-clang-x86_64-jemalloc mingw-w64-clang-x86_64-mesa mingw-w64-clang-x86_64-angleproject mingw-w64-clang-x86_64-llvm-openmp mingw-w64-clang-x86_64-winpthreads-git mingw-w64-clang-x86_64-libwinpthread-git mingw-w64-cross-mingwarm64-winpthreads"
|
||||
}
|
||||
- {
|
||||
name: "UCRT",
|
||||
cc: "x86_64-w64-mingw32-gcc",
|
||||
cxx: "x86_64-w64-mingw32-g++",
|
||||
package: "mingw-w64-ucrt-x86_64-toolchain",
|
||||
thirdparty_dir: "/ucrt64",
|
||||
dependencies: "mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-gcc-libs mingw-w64-ucrt-x86_64-omp mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja mingw-w64-ucrt-x86_64-rapidjson mingw-w64-ucrt-x86_64-freetype mingw-w64-ucrt-x86_64-draco mingw-w64-ucrt-x86_64-freeimage mingw-w64-ucrt-x86_64-tbb mingw-w64-ucrt-x86_64-tk mingw-w64-ucrt-x86_64-tcl mingw-w64-ucrt-x86_64-openvr mingw-w64-ucrt-x86_64-jemalloc mingw-w64-ucrt-x86_64-mesa mingw-w64-ucrt-x86_64-angleproject mingw-w64-ucrt-x86_64-llvm-openmp mingw-w64-ucrt-x86_64-winpthreads-git mingw-w64-ucrt-x86_64-libwinpthread-git mingw-w64-cross-mingwarm64-winpthreads"
|
||||
}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
- name: Set up MSYS2
|
||||
uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: ${{ matrix.config.name == 'Clang' && 'CLANG64' || matrix.config.name == 'UCRT' && 'UCRT64' || 'MINGW64' }}
|
||||
update: true
|
||||
install: ${{ matrix.config.package }} ${{ matrix.config.dependencies }}
|
||||
|
||||
- name: Setup environment
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
echo "Checking compiler version:"
|
||||
${{ matrix.config.cc }} --version
|
||||
echo "Checking CMake version:"
|
||||
cmake --version
|
||||
echo "Setting up environment variables..."
|
||||
echo "$MSYSTEM_PREFIX/bin" >> $GITHUB_PATH
|
||||
echo "CMAKE_PREFIX_PATH=$MSYSTEM_PREFIX" >> $GITHUB_ENV
|
||||
|
||||
- name: Configure basic
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Ninja" \
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} \
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \
|
||||
-D CMAKE_PREFIX_PATH=$MSYSTEM_PREFIX \
|
||||
-D CMAKE_CXX_FLAGS="-Wall -Wextra" \
|
||||
-D CMAKE_C_FLAGS="-Wall -Wextra" ..
|
||||
|
||||
- name: Build basic
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . -- -j 4
|
||||
|
||||
- name: Clear up after build
|
||||
shell: pwsh
|
||||
run: |
|
||||
Remove-Item -Recurse -Force build
|
||||
|
||||
- name: Configure full shared
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Ninja" \
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} \
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \
|
||||
-D CMAKE_PREFIX_PATH=$MSYSTEM_PREFIX \
|
||||
-D BUILD_USE_PCH=OFF \
|
||||
-D BUILD_INCLUDE_SYMLINK=ON \
|
||||
-D BUILD_OPT_PROFILE=Production \
|
||||
-D BUILD_LIBRARY_TYPE=Shared \
|
||||
-D USE_TK=ON \
|
||||
-D CMAKE_BUILD_TYPE=Debug \
|
||||
-D USE_MMGR_TYPE=JEMALLOC \
|
||||
-D INSTALL_DIR="${{ github.workspace }}/install" \
|
||||
-D USE_FREETYPE=ON \
|
||||
-D USE_DRACO=ON \
|
||||
-D USE_FFMPEG=OFF \
|
||||
-D USE_FREEIMAGE=ON \
|
||||
-D USE_GLES2=ON \
|
||||
-D USE_OPENVR=ON \
|
||||
-D USE_VTK=OFF \
|
||||
-D USE_TBB=OFF \
|
||||
-D USE_RAPIDJSON=ON \
|
||||
-D USE_OPENGL=ON \
|
||||
-D CMAKE_CXX_FLAGS="-Wall -Wextra" \
|
||||
-D CMAKE_C_FLAGS="-Wall -Wextra" ..
|
||||
|
||||
- name: Build full shared
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --target install --config Debug -- -j 4
|
||||
|
||||
- name: Clear up after build
|
||||
shell: pwsh
|
||||
run: |
|
||||
Remove-Item -Recurse -Force build
|
||||
Remove-Item -Recurse -Force ${{ github.workspace }}/install
|
||||
|
||||
- name: Configure full static
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Ninja" \
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} \
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \
|
||||
-D CMAKE_PREFIX_PATH=$MSYSTEM_PREFIX \
|
||||
-D BUILD_USE_PCH=OFF \
|
||||
-D BUILD_INCLUDE_SYMLINK=ON \
|
||||
-D BUILD_OPT_PROFILE=Production \
|
||||
-D BUILD_LIBRARY_TYPE=Static \
|
||||
-D USE_TK=ON \
|
||||
-D CMAKE_BUILD_TYPE=Debug \
|
||||
-D USE_MMGR_TYPE=JEMALLOC \
|
||||
-D INSTALL_DIR="${{ github.workspace }}/install" \
|
||||
-D USE_FREETYPE=ON \
|
||||
-D USE_DRACO=ON \
|
||||
-D USE_FFMPEG=OFF \
|
||||
-D USE_FREEIMAGE=ON \
|
||||
-D USE_GLES2=ON \
|
||||
-D USE_OPENVR=ON \
|
||||
-D USE_VTK=OFF \
|
||||
-D USE_TBB=OFF \
|
||||
-D USE_RAPIDJSON=ON \
|
||||
-D USE_OPENGL=ON \
|
||||
-D CMAKE_CXX_FLAGS="-Wall -Wextra" \
|
||||
-D CMAKE_C_FLAGS="-Wall -Wextra" ..
|
||||
|
||||
- name: Build full static
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --target install --config Debug -- -j 4
|
||||
|
||||
- name: Clear up after build
|
||||
shell: pwsh
|
||||
run: |
|
||||
Remove-Item -Recurse -Force build
|
||||
Remove-Item -Recurse -Force ${{ github.workspace }}/install
|
||||
|
||||
- name: Configure full with DEBUG define
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Ninja" \
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} \
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \
|
||||
-D CMAKE_PREFIX_PATH=$MSYSTEM_PREFIX \
|
||||
-D BUILD_WITH_DEBUG=ON \
|
||||
-D BUILD_USE_PCH=OFF \
|
||||
-D BUILD_INCLUDE_SYMLINK=ON \
|
||||
-D BUILD_OPT_PROFILE=Production \
|
||||
-D BUILD_LIBRARY_TYPE=Shared \
|
||||
-D USE_TK=ON \
|
||||
-D CMAKE_BUILD_TYPE=Debug \
|
||||
-D INSTALL_DIR="${{ github.workspace }}/install" \
|
||||
-D USE_FREETYPE=ON \
|
||||
-D USE_DRACO=ON \
|
||||
-D USE_FFMPEG=OFF \
|
||||
-D USE_FREEIMAGE=ON \
|
||||
-D USE_GLES2=ON \
|
||||
-D USE_OPENVR=ON \
|
||||
-D USE_VTK=OFF \
|
||||
-D USE_TBB=OFF \
|
||||
-D USE_RAPIDJSON=ON \
|
||||
-D USE_OPENGL=ON ..
|
||||
|
||||
- name: Build full with DEBUG define
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --target install --config Debug -- -j 4
|
||||
|
||||
- name: Clear up after build
|
||||
shell: pwsh
|
||||
run: |
|
||||
Remove-Item -Recurse -Force build
|
||||
Remove-Item -Recurse -Force ${{ github.workspace }}/install
|
213
.github/workflows/build-multiconfig-msvc.yml
vendored
213
.github/workflows/build-multiconfig-msvc.yml
vendored
@@ -1,213 +0,0 @@
|
||||
# This workflow validates the build on Windows using MSVC and Clang compilers.
|
||||
# It is triggered on pushes to the master branch.
|
||||
# The workflow includes steps to install dependencies, configure, build, and clean up the project for different configurations.
|
||||
|
||||
name: MSVC build validation
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
main_job:
|
||||
name: Windows MSVC/Clang validation
|
||||
runs-on: windows-2022
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
config:
|
||||
- {
|
||||
name: "MSVC",
|
||||
cc: "cl",
|
||||
cxx: "cl",
|
||||
generator: "Visual Studio 17 2022",
|
||||
toolset: "host=x64",
|
||||
c_flags: "/W4 /WX",
|
||||
cxx_flags: "/W4 /WX"
|
||||
}
|
||||
- {
|
||||
name: "Clang",
|
||||
cc: "clang",
|
||||
cxx: "clang++",
|
||||
generator: "Ninja",
|
||||
toolset: "",
|
||||
c_flags: "-Werror -Wall -Wextra -Wno-unknown-warning-option",
|
||||
cxx_flags: "-Werror -Wall -Wextra -Wno-unknown-warning-option"
|
||||
}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
- name: Set up MSVC
|
||||
uses: ilammy/msvc-dev-cmd@v1.13.0
|
||||
with:
|
||||
arch: x64
|
||||
|
||||
- name: Download and extract 3rdparty dependencies
|
||||
run: |
|
||||
Invoke-WebRequest -Uri https://github.com/Open-Cascade-SAS/OCCT/releases/download/V7_8_0/3rdparty-vc14-64.zip -OutFile 3rdparty-vc14-64.zip
|
||||
Expand-Archive -Path 3rdparty-vc14-64.zip -DestinationPath .
|
||||
Remove-Item 3rdparty-vc14-64.zip
|
||||
shell: pwsh
|
||||
|
||||
- name: Download and extract Mesa3D
|
||||
run: |
|
||||
curl -L -o mesa3d.7z https://github.com/pal1000/mesa-dist-win/releases/download/24.3.2/mesa3d-24.3.2-release-mingw.7z
|
||||
7z x mesa3d.7z -omesa3d
|
||||
|
||||
- name: Run system-wide deployment
|
||||
run: |
|
||||
cd mesa3d
|
||||
.\systemwidedeploy.cmd 1
|
||||
.\systemwidedeploy.cmd 5
|
||||
shell: cmd
|
||||
|
||||
- name: Configure basic
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G "${{ matrix.config.generator }}" ${{ matrix.config.toolset }} `
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} `
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} `
|
||||
-D 3RDPARTY_DIR=${{ github.workspace }}/3rdparty-vc14-64 `
|
||||
-D CMAKE_CXX_FLAGS="${{ matrix.config.cxx_flags }}" `
|
||||
-D CMAKE_C_FLAGS="${{ matrix.config.c_flags }}" ..
|
||||
shell: pwsh
|
||||
|
||||
- name: Build basic
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --config Release
|
||||
shell: pwsh
|
||||
|
||||
- name: Clear up after build
|
||||
run: |
|
||||
Remove-Item -Recurse -Force build
|
||||
shell: pwsh
|
||||
|
||||
- name: Configure full shared
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G "${{ matrix.config.generator }}" ${{ matrix.config.toolset }} `
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} `
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} `
|
||||
-D BUILD_USE_PCH=OFF `
|
||||
-D BUILD_INCLUDE_SYMLINK=ON `
|
||||
-D BUILD_OPT_PROFILE=Production `
|
||||
-D BUILD_LIBRARY_TYPE=Shared `
|
||||
-D CMAKE_BUILD_TYPE=Debug `
|
||||
-D INSTALL_DIR=${{ github.workspace }}/install `
|
||||
-D 3RDPARTY_DIR=${{ github.workspace }}/3rdparty-vc14-64 `
|
||||
-D USE_MMGR_TYPE=JEMALLOC `
|
||||
-D USE_FREETYPE=ON `
|
||||
-D USE_DRACO=ON `
|
||||
-D USE_FFMPEG=ON `
|
||||
-D USE_FREEIMAGE=ON `
|
||||
-D USE_GLES2=ON `
|
||||
-D USE_OPENVR=ON `
|
||||
-D USE_VTK=${{ matrix.config.name == 'MSVC' && 'ON' || 'OFF' }} `
|
||||
-D USE_TBB=ON `
|
||||
-D USE_RAPIDJSON=ON `
|
||||
-D USE_OPENGL=ON `
|
||||
-D CMAKE_CXX_FLAGS="${{ matrix.config.cxx_flags }}" `
|
||||
-D CMAKE_C_FLAGS="${{ matrix.config.c_flags }}" ..
|
||||
shell: pwsh
|
||||
|
||||
- name: Build full shared
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --target install --config Debug
|
||||
shell: pwsh
|
||||
|
||||
- name: Clear up after build
|
||||
run: |
|
||||
Remove-Item -Recurse -Force build
|
||||
Remove-Item -Recurse -Force ${{ github.workspace }}/install
|
||||
shell: pwsh
|
||||
|
||||
- name: Configure full static
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G "${{ matrix.config.generator }}" ${{ matrix.config.toolset }} `
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} `
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} `
|
||||
-D BUILD_USE_PCH=OFF `
|
||||
-D BUILD_INCLUDE_SYMLINK=ON `
|
||||
-D BUILD_OPT_PROFILE=Production `
|
||||
-D BUILD_LIBRARY_TYPE=Static `
|
||||
-D CMAKE_BUILD_TYPE=Debug `
|
||||
-D INSTALL_DIR=${{ github.workspace }}/install `
|
||||
-D 3RDPARTY_DIR=${{ github.workspace }}/3rdparty-vc14-64 `
|
||||
-D USE_MMGR_TYPE=JEMALLOC `
|
||||
-D USE_FREETYPE=ON `
|
||||
-D USE_DRACO=ON `
|
||||
-D USE_FFMPEG=ON `
|
||||
-D USE_FREEIMAGE=ON `
|
||||
-D USE_GLES2=ON `
|
||||
-D USE_OPENVR=ON `
|
||||
-D USE_VTK=OFF `
|
||||
-D USE_TBB=ON `
|
||||
-D USE_RAPIDJSON=ON `
|
||||
-D USE_OPENGL=ON `
|
||||
-D CMAKE_CXX_FLAGS="${{ matrix.config.cxx_flags }}" `
|
||||
-D CMAKE_C_FLAGS="${{ matrix.config.c_flags }}" ..
|
||||
shell: pwsh
|
||||
|
||||
- name: Build full static
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --target install --config Debug
|
||||
shell: pwsh
|
||||
|
||||
- name: Clear up after build
|
||||
run: |
|
||||
Remove-Item -Recurse -Force build
|
||||
Remove-Item -Recurse -Force ${{ github.workspace }}/install
|
||||
shell: pwsh
|
||||
|
||||
- name: Configure full with DEBUG define
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G "${{ matrix.config.generator }}" ${{ matrix.config.toolset }} `
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} `
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} `
|
||||
-D BUILD_WITH_DEBUG=ON `
|
||||
-D BUILD_USE_PCH=OFF `
|
||||
-D BUILD_INCLUDE_SYMLINK=ON `
|
||||
-D BUILD_OPT_PROFILE=Production `
|
||||
-D BUILD_LIBRARY_TYPE=Shared `
|
||||
-D CMAKE_BUILD_TYPE=Debug `
|
||||
-D INSTALL_DIR=${{ github.workspace }}/install `
|
||||
-D 3RDPARTY_DIR=${{ github.workspace }}/3rdparty-vc14-64 `
|
||||
-D USE_FREETYPE=ON `
|
||||
-D USE_DRACO=ON `
|
||||
-D USE_FFMPEG=ON `
|
||||
-D USE_FREEIMAGE=ON `
|
||||
-D USE_GLES2=ON `
|
||||
-D USE_OPENVR=ON `
|
||||
-D USE_VTK=${{ matrix.config.name == 'MSVC' && 'ON' || 'OFF' }} `
|
||||
-D USE_TBB=ON `
|
||||
-D USE_RAPIDJSON=ON `
|
||||
-D USE_OPENGL=ON ` ..
|
||||
shell: pwsh
|
||||
|
||||
- name: Build full with DEBUG define
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --target install --config Debug
|
||||
shell: pwsh
|
||||
|
||||
- name: Clear up after build
|
||||
run: |
|
||||
Remove-Item -Recurse -Force build
|
||||
Remove-Item -Recurse -Force ${{ github.workspace }}/install
|
||||
shell: pwsh
|
179
.github/workflows/build-multiconfig-ubuntu.yml
vendored
179
.github/workflows/build-multiconfig-ubuntu.yml
vendored
@@ -1,179 +0,0 @@
|
||||
# This workflow validates the build on the latest Ubuntu version (24.04) using multiple configurations.
|
||||
# It is triggered on pushes to the master branch.
|
||||
# The workflow includes steps to install dependencies, configure, build, and clean up the project for different configurations.
|
||||
|
||||
name: Ubuntu build validation
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
main_job:
|
||||
name: Latest ubuntu validation
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
config:
|
||||
- {
|
||||
name: "GCC",
|
||||
cc: "gcc",
|
||||
cxx: "g++"
|
||||
}
|
||||
- {
|
||||
name: "Clang",
|
||||
cc: "clang",
|
||||
cxx: "clang++"
|
||||
}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
- name: Install dependencies
|
||||
run: sudo apt-get update && sudo apt-get install -y ninja-build tcl-dev tk-dev cmake clang gcc g++ make libbtbb-dev libx11-dev libglu1-mesa-dev tcllib tcl-thread tcl libvtk9-dev libopenvr-dev libdraco-dev libfreeimage-dev libegl1-mesa-dev libgles2-mesa-dev libfreetype-dev libjemalloc-dev
|
||||
|
||||
- name: Install rapidjson
|
||||
run: |
|
||||
wget https://github.com/Tencent/rapidjson/archive/858451e5b7d1c56cf8f6d58f88cf958351837e53.zip -O rapidjson.zip
|
||||
unzip rapidjson.zip
|
||||
|
||||
- name: Configure basic
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Ninja" \
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} \
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \
|
||||
-D CMAKE_CXX_FLAGS="-Werror -Wall -Wextra" \
|
||||
-D CMAKE_C_FLAGS="-Werror -Wall -Wextra" ..
|
||||
|
||||
- name: Build basic
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . -- -j 4
|
||||
|
||||
- name: Clear up after build
|
||||
run: |
|
||||
rm -rf build
|
||||
|
||||
- name: Configure full shared
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Ninja" \
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} \
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \
|
||||
-D BUILD_USE_PCH=OFF \
|
||||
-D BUILD_INCLUDE_SYMLINK=ON \
|
||||
-D BUILD_OPT_PROFILE=Production \
|
||||
-D BUILD_LIBRARY_TYPE=Shared \
|
||||
-D USE_TK=ON \
|
||||
-D CMAKE_BUILD_TYPE=Debug \
|
||||
-D USE_MMGR_TYPE=JEMALLOC \
|
||||
-D INSTALL_DIR=${{ github.workspace }}/install \
|
||||
-D 3RDPARTY_RAPIDJSON_DIR=${{ github.workspace }}/rapidjson-858451e5b7d1c56cf8f6d58f88cf958351837e53 \
|
||||
-D USE_FREETYPE=ON \
|
||||
-D USE_DRACO=ON \
|
||||
-D USE_FFMPEG=OFF \
|
||||
-D USE_FREEIMAGE=ON \
|
||||
-D USE_GLES2=ON \
|
||||
-D USE_OPENVR=ON \
|
||||
-D USE_VTK=ON \
|
||||
-D USE_TBB=ON \
|
||||
-D USE_RAPIDJSON=ON \
|
||||
-D USE_OPENGL=ON \
|
||||
-D CMAKE_CXX_FLAGS="-Werror -Wall -Wextra" \
|
||||
-D CMAKE_C_FLAGS="-Werror -Wall -Wextra" ..
|
||||
|
||||
- name: Build full shared
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --target install --config Debug -- -j 4
|
||||
|
||||
- name: Clear up after build
|
||||
run: |
|
||||
rm -rf build
|
||||
rm -rf ${{ github.workspace }}/install
|
||||
|
||||
- name: Configure full static
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Ninja" \
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} \
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \
|
||||
-D BUILD_USE_PCH=OFF \
|
||||
-D BUILD_INCLUDE_SYMLINK=ON \
|
||||
-D BUILD_OPT_PROFILE=Production \
|
||||
-D BUILD_LIBRARY_TYPE=Static \
|
||||
-D USE_TK=ON \
|
||||
-D CMAKE_BUILD_TYPE=Debug \
|
||||
-D USE_MMGR_TYPE=JEMALLOC \
|
||||
-D INSTALL_DIR=${{ github.workspace }}/install \
|
||||
-D 3RDPARTY_RAPIDJSON_DIR=${{ github.workspace }}/rapidjson-858451e5b7d1c56cf8f6d58f88cf958351837e53 \
|
||||
-D USE_FREETYPE=ON \
|
||||
-D USE_DRACO=ON \
|
||||
-D USE_FFMPEG=OFF \
|
||||
-D USE_FREEIMAGE=ON \
|
||||
-D USE_GLES2=ON \
|
||||
-D USE_OPENVR=ON \
|
||||
-D USE_VTK=OFF \
|
||||
-D USE_TBB=ON \
|
||||
-D USE_RAPIDJSON=ON \
|
||||
-D USE_OPENGL=ON \
|
||||
-D CMAKE_CXX_FLAGS="-Werror -Wall -Wextra" \
|
||||
-D CMAKE_C_FLAGS="-Werror -Wall -Wextra" ..
|
||||
|
||||
- name: Build full static
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --target install --config Debug -- -j 4
|
||||
|
||||
- name: Clear up after build
|
||||
run: |
|
||||
rm -rf build
|
||||
rm -rf ${{ github.workspace }}/install
|
||||
|
||||
- name: Configure full with DEBUG define
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Ninja" \
|
||||
-D CMAKE_C_COMPILER=${{ matrix.config.cc }} \
|
||||
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }} \
|
||||
-D BUILD_WITH_DEBUG=ON \
|
||||
-D BUILD_USE_PCH=OFF \
|
||||
-D BUILD_INCLUDE_SYMLINK=ON \
|
||||
-D BUILD_OPT_PROFILE=Production \
|
||||
-D BUILD_LIBRARY_TYPE=Shared \
|
||||
-D USE_TK=ON \
|
||||
-D CMAKE_BUILD_TYPE=Debug \
|
||||
-D INSTALL_DIR=${{ github.workspace }}/install \
|
||||
-D 3RDPARTY_RAPIDJSON_DIR=${{ github.workspace }}/rapidjson-858451e5b7d1c56cf8f6d58f88cf958351837e53 \
|
||||
-D USE_FREETYPE=ON \
|
||||
-D USE_DRACO=ON \
|
||||
-D USE_FFMPEG=OFF \
|
||||
-D USE_FREEIMAGE=ON \
|
||||
-D USE_GLES2=ON \
|
||||
-D USE_OPENVR=ON \
|
||||
-D USE_VTK=ON \
|
||||
-D USE_TBB=ON \
|
||||
-D USE_RAPIDJSON=ON \
|
||||
-D USE_OPENGL=ON ..
|
||||
|
||||
- name: Build full with DEBUG define
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --target install --config Debug -- -j 4
|
||||
|
||||
- name: Clear up after build
|
||||
run: |
|
||||
rm -rf build
|
||||
rm -rf ${{ github.workspace }}/install
|
169
.github/workflows/build-occt-with-vcpkg.yml
vendored
169
.github/workflows/build-occt-with-vcpkg.yml
vendored
@@ -1,169 +0,0 @@
|
||||
# This workflow builds OCCT using vcpkg on multiple platforms (Windows, macOS, Linux).
|
||||
# It builds in both Debug and Release modes.
|
||||
# All dependencies except the compiler are installed using vcpkg.
|
||||
# The workflow includes steps to clone vcpkg, install dependencies, configure and build.
|
||||
|
||||
name: Build OCCT with vcpkg
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
USERNAME: Open-Cascade-SAS
|
||||
VCPKG_EXE: ${{ github.workspace }}/vcpkg/vcpkg
|
||||
FEED_URL: https://nuget.pkg.github.com/Open-Cascade-SAS/index.json
|
||||
VCPKG_BINARY_SOURCES: "clear;nuget,https://nuget.pkg.github.com/Open-Cascade-SAS/index.json,readwrite"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-24.04, ubuntu-22.04, ubuntu-20.04, windows-2022, windows-2019, macos-15, macos-14, macos-13]
|
||||
build_type: [Debug, Release]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
- name: Install required packages (Linux)
|
||||
if: runner.os == 'Linux'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential ninja-build curl zip unzip tar nasm autoconf mono-complete
|
||||
sudo apt-get install -y libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev
|
||||
|
||||
- name: Install required packages (macOS)
|
||||
if: runner.os == 'macOS'
|
||||
run: |
|
||||
brew update || true
|
||||
brew install cmake ninja nasm autoconf mono || true
|
||||
# temporary workaround for missing tcl-tk
|
||||
brew install tcl-tk || true
|
||||
# Force link any conflicting packages
|
||||
brew link --overwrite python@3.12 || true
|
||||
brew link --overwrite python@3.13 || true
|
||||
|
||||
- name: Install required packages (Windows)
|
||||
if: runner.os == 'Windows'
|
||||
uses: ilammy/msvc-dev-cmd@v1.13.0
|
||||
with:
|
||||
arch: x64
|
||||
|
||||
- name: Set up vcpkg (Unix)
|
||||
if: runner.os != 'Windows'
|
||||
run: |
|
||||
git clone https://github.com/microsoft/vcpkg.git
|
||||
./vcpkg/bootstrap-vcpkg.sh
|
||||
shell: bash
|
||||
|
||||
- name: Set up vcpkg (Windows)
|
||||
if: runner.os == 'Windows'
|
||||
run: |
|
||||
git clone https://github.com/microsoft/vcpkg.git
|
||||
.\vcpkg\bootstrap-vcpkg.bat
|
||||
shell: cmd
|
||||
|
||||
- name: Add NuGet sources
|
||||
if: runner.os == 'Windows'
|
||||
run: |
|
||||
.$(${{ env.VCPKG_EXE }} fetch nuget) `
|
||||
sources add `
|
||||
-Source "${{ env.FEED_URL }}" `
|
||||
-StorePasswordInClearText `
|
||||
-Name GitHubPackages `
|
||||
-UserName "${{ env.USERNAME }}" `
|
||||
-Password "${{ secrets.GITHUB_TOKEN }}"
|
||||
.$(${{ env.VCPKG_EXE }} fetch nuget) `
|
||||
setapikey "${{ secrets.GITHUB_TOKEN }}" `
|
||||
-Source "${{ env.FEED_URL }}"
|
||||
shell: pwsh
|
||||
|
||||
- name: Add NuGet sources
|
||||
if: runner.os != 'Windows'
|
||||
run: |
|
||||
mono `${{ env.VCPKG_EXE }} fetch nuget | tail -n 1` \
|
||||
sources add \
|
||||
-Source "${{ env.FEED_URL }}" \
|
||||
-StorePasswordInClearText \
|
||||
-Name GitHubPackages \
|
||||
-UserName "${{ env.USERNAME }}" \
|
||||
-Password "${{ secrets.GITHUB_TOKEN }}"
|
||||
mono `${{ env.VCPKG_EXE }} fetch nuget | tail -n 1` \
|
||||
setapikey "${{ secrets.GITHUB_TOKEN }}" \
|
||||
-Source "${{ env.FEED_URL }}"
|
||||
shell: bash
|
||||
|
||||
- name: Configure OCCT ${{ matrix.build_type }} (Unix)
|
||||
if: runner.os != 'Windows'
|
||||
run: |
|
||||
mkdir build-${{ matrix.build_type }}
|
||||
cd build-${{ matrix.build_type }}
|
||||
cmake -G Ninja \
|
||||
-DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake \
|
||||
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
|
||||
-DBUILD_USE_VCPKG=ON \
|
||||
-DUSE_MMGR_TYPE=NATIVE \
|
||||
-DUSE_FREETYPE=ON \
|
||||
-DUSE_TK=OFF \
|
||||
-DBUILD_USE_PCH=ON \
|
||||
-DBUILD_INCLUDE_SYMLINK=ON \
|
||||
-DINSTALL_DIR=${{ github.workspace }}/install-${{ matrix.build_type }} \
|
||||
-DUSE_DRACO=ON \
|
||||
-DUSE_FFMPEG=ON \
|
||||
-DUSE_FREEIMAGE=ON \
|
||||
-DUSE_GLES2=OFF \
|
||||
-DUSE_VTK=ON \
|
||||
-DUSE_TBB=ON \
|
||||
-DUSE_RAPIDJSON=ON \
|
||||
-DUSE_OPENGL=ON \
|
||||
-DBUILD_MODULE_Draw=OFF \
|
||||
-DVCPKG_INSTALL_OPTIONS=--clean-buildtrees-after-build \
|
||||
${{ runner.os != 'macOS' && '-DUSE_OPENVR=ON' || '' }} ..
|
||||
shell: bash
|
||||
|
||||
- name: Configure OCCT ${{ matrix.build_type }} (Windows)
|
||||
if: runner.os == 'Windows'
|
||||
run: |
|
||||
mkdir build-${{ matrix.build_type }}
|
||||
cd build-${{ matrix.build_type }}
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake ^
|
||||
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ^
|
||||
-DBUILD_USE_VCPKG=ON ^
|
||||
-DUSE_MMGR_TYPE=JEMALLOC ^
|
||||
-DUSE_FREETYPE=ON ^
|
||||
-DUSE_TK=OFF ^
|
||||
-DBUILD_USE_PCH=ON ^
|
||||
-DBUILD_INCLUDE_SYMLINK=ON ^
|
||||
-DINSTALL_DIR=${{ github.workspace }}/install-${{ matrix.build_type }} ^
|
||||
-DUSE_DRACO=ON ^
|
||||
-DUSE_FFMPEG=OFF ^
|
||||
-DUSE_FREEIMAGE=ON ^
|
||||
-DUSE_GLES2=ON ^
|
||||
-DUSE_OPENVR=ON ^
|
||||
-DUSE_VTK=ON ^
|
||||
-DUSE_TBB=ON ^
|
||||
-DUSE_RAPIDJSON=ON ^
|
||||
-DVCPKG_INSTALL_OPTIONS=--clean-buildtrees-after-build ^
|
||||
-DUSE_OPENGL=ON ..
|
||||
shell: cmd
|
||||
|
||||
- name: Build OCCT ${{ matrix.build_type }} (Unix)
|
||||
if: runner.os != 'Windows'
|
||||
run: |
|
||||
cd build-${{ matrix.build_type }}
|
||||
cmake --build . --target install --config ${{ matrix.build_type }}
|
||||
shell: bash
|
||||
|
||||
- name: Build OCCT ${{ matrix.build_type }} (Windows)
|
||||
if: runner.os == 'Windows'
|
||||
run: |
|
||||
cd build-${{ matrix.build_type }}
|
||||
cmake --build . --target install --config ${{ matrix.build_type }}
|
||||
shell: cmd
|
84
.github/workflows/clang-format-check.yml
vendored
84
.github/workflows/clang-format-check.yml
vendored
@@ -1,84 +0,0 @@
|
||||
# This workflow checks the code formatting of changed files in a pull request using clang-format.
|
||||
# It is triggered on pull requests to the master branch.
|
||||
# The workflow verifies that the clang-format version matches 18.1.8,
|
||||
# checks formatting of modified files, and if formatting issues are found,
|
||||
# creates a patch file that can be applied to fix the formatting.
|
||||
|
||||
name: Clang-Format Check
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- '**'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
format-check:
|
||||
name: Check code formatting
|
||||
runs-on: windows-2022
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.1.7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Check clang-format version
|
||||
run: |
|
||||
$version = clang-format --version
|
||||
Write-Output "Detected clang-format version: $version"
|
||||
$version | Select-String "18.1.8" >$null
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
echo "::error::Wrong clang-format version. Expected 18.1.8"
|
||||
Write-Output "Error: Version mismatch - expected 18.1.8"
|
||||
exit 1
|
||||
}
|
||||
shell: pwsh
|
||||
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
run: |
|
||||
$changedFiles = git diff --name-only origin/${{ github.base_ref }} HEAD |
|
||||
Where-Object { $_ -match '^(src|tools)/' -and $_ -match '\.(cpp|hxx|cxx|lxx|h|pxx|hpp)$' }
|
||||
$changedFiles | Set-Content "changed_files.txt"
|
||||
if ($changedFiles.Count -gt 0) {
|
||||
echo "has_files=true" >> $env:GITHUB_OUTPUT
|
||||
}
|
||||
shell: pwsh
|
||||
|
||||
- name: Check formatting
|
||||
id: check
|
||||
if: steps.changed-files.outputs.has_files == 'true'
|
||||
run: |
|
||||
$files = Get-Content "changed_files.txt"
|
||||
$files | ForEach-Object -ThrottleLimit 8 -Parallel {
|
||||
clang-format -i -style=file $_
|
||||
}
|
||||
shell: pwsh
|
||||
|
||||
- name: Check git status
|
||||
id: git-check
|
||||
if: steps.changed-files.outputs.has_files == 'true'
|
||||
run: |
|
||||
git diff > format.patch
|
||||
if ((Get-Item format.patch).length -gt 0) {
|
||||
echo "has_changes=true" >> $env:GITHUB_OUTPUT
|
||||
}
|
||||
shell: pwsh
|
||||
|
||||
- name: Upload patch
|
||||
if: steps.git-check.outputs.has_changes == 'true'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: format-patch
|
||||
path: format.patch
|
||||
|
||||
- name: Fail with instructions
|
||||
if: steps.git-check.outputs.has_changes == 'true'
|
||||
run: |
|
||||
echo "::error::Files need formatting. To fix: 1. Download format.patch 2. "git apply format.patch" 3. Commit and push"
|
||||
exit 1
|
||||
shell: pwsh
|
966
CMakeLists.txt
966
CMakeLists.txt
File diff suppressed because it is too large
Load Diff
13
README.md
13
README.md
@@ -28,27 +28,26 @@ You can also find OCCT pre-installed on your system or install it from packages
|
||||
|
||||
Documentation is available at the following links:
|
||||
- [Latest version](https://dev.opencascade.org/doc/overview)
|
||||
- [Version 7.8](https://dev.opencascade.org/doc/occt-7.8.0/overview)
|
||||
- [Version 7.7](https://dev.opencascade.org/doc/occt-7.7.0/overview)
|
||||
|
||||
Documentation can be part of the package. To preview documentation as part of the package, open the file `doc/html/index.html` to browse HTML documentation.
|
||||
|
||||
If HTML documentation is not available in your package, you can:
|
||||
|
||||
- **Generate it from sources:** You need to have Tcl and Doxygen 1.8.4 (or above) installed on your system and accessible in your environment (check the environment variable PATH). Use the batch file `adm/gendoc.bat` on Windows or the Bash script `adm/gendoc` on Linux or OS X to (re)generate documentation.
|
||||
- **Generate together with sources:** You need to have CMake and 1.8.4 (or above) installed on your system. Enable `BUILD_DOC_Overview` CMake parameter and set the path to Doxygen `3RDPARTY_DOXYGEN_EXECUTABLE`. Then build ALL or only `Overview`.
|
||||
- **Read documentation in source plain text (Markdown) format** found in the subfolder `dox` or [GitHub Wiki](https://github.com/Open-Cascade-SAS/OCCT/wiki).
|
||||
- **Generate it from sources:** You need to have Tcl and Doxygen 1.8.4 (or above) installed on your system and accessible in your environment (check the environment variable PATH). Use the batch file `gendoc.bat` on Windows or the Bash script `gendoc` on Linux or OS X to (re)generate documentation.
|
||||
- **Read documentation in source plain text (Markdown) format** found in the subfolder `dox`.
|
||||
|
||||
See [dox/build/build_documentation/building_documentation.md](dox/build/build_documentation/building_documentation.md) or [Building Documentation](https://dev.opencascade.org/doc/occt-7.8.0/overview/html/build_upgrade__building_documentation.html) for details.
|
||||
See `dox/dev_guides/documentation/documentation.md` or [Building Documentation](https://dev.opencascade.org/doc/occt-7.7.0/overview/html/build_upgrade__building_documentation.html) for details.
|
||||
|
||||
## Building
|
||||
|
||||
In most cases, you need to rebuild OCCT on your platform (OS, compiler) before using it in your project to ensure binary compatibility.
|
||||
|
||||
Consult the file [dox/build/build_occt/building_occt.md](dox/build/build_occt/building_occt.md) or [Building OCCT](https://dev.opencascade.org/doc/overview/html/build_upgrade__building_occt.html) or [Building OCCT Wiki](https://github.com/Open-Cascade-SAS/OCCT/wiki/build_upgrade) for instructions on building OCCT from sources on supported platforms.
|
||||
Consult the file `dox/dev_guides/building/building.md` or [Building OCCT](https://dev.opencascade.org/doc/overview/html/build_upgrade__building_occt.html) for instructions on building OCCT from sources on supported platforms.
|
||||
|
||||
## Version
|
||||
|
||||
The current version of OCCT can be found in the file [`adm/cmake/version.cmake`](adm/cmake/version.cmake).
|
||||
The current version of OCCT can be found in the file `src/Standard/Standard_Version.hxx`.
|
||||
|
||||
## Development
|
||||
|
||||
|
@@ -6,6 +6,137 @@ endif()
|
||||
set(3RDPARTY_MACRO_ALREADY_INCLUDED 1)
|
||||
|
||||
|
||||
macro(THIRDPARTY_PRODUCT_LIBRARY PRODUCT_NAME LIBRARY_CSF_NAME LIBRARY_PATH_DEBUG_SUFFIX VARIABLE_DEBUG_SUFFIX)
|
||||
OCCT_MAKE_OS_WITH_BITNESS()
|
||||
OCCT_MAKE_COMPILER_SHORT_NAME()
|
||||
|
||||
foreach (LIBRARY_NAME ${${LIBRARY_CSF_NAME}})
|
||||
string (REPLACE "." "" LIBRARY_NAME_SUFFIX "${LIBRARY_NAME}")
|
||||
# if (BUILD_SHARED_LIBS)
|
||||
# library
|
||||
if (NOT 3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}")
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .so .dylib .a)
|
||||
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES lib${LIBRARY_PATH_DEBUG_SUFFIX})
|
||||
if (WIN32)
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} win${COMPILER_BITNESS}/${COMPILER}/lib${LIBRARY_PATH_DEBUG_SUFFIX})
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} lib${LIBRARY_PATH_DEBUG_SUFFIX}/win${COMPILER_BITNESS})
|
||||
endif()
|
||||
if (ANDROID)
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} libs/${ANDROID_ABI})
|
||||
endif()
|
||||
if(UNIX AND NOT APPLE AND NOT ANDROID)
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} lib/linux${COMPILER_BITNESS})
|
||||
endif()
|
||||
|
||||
# set 3RDPARTY_${PRODUCT_NAME}_LIBRARY as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${PRODUCT_NAME}_LIBRARY
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} "3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}-NOTFOUND" CACHE FILEPATH "The path to ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
|
||||
if ((3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}") OR (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}${VARIABLE_DEBUG_SUFFIX} AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}${VARIABLE_DEBUG_SUFFIX}}"))
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} NAMES ${LIBRARY_NAME}
|
||||
PATHS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}${VARIABLE_DEBUG_SUFFIX}}" "${3RDPARTY_${PRODUCT_NAME}_DIR}"
|
||||
PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES}
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
if ("${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}" STREQUAL "3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}-NOTFOUND")
|
||||
# find directory recursive
|
||||
FIND_SUBDIRECTORY (${3RDPARTY_${PRODUCT_NAME}_DIR} "${${PRODUCT_NAME}_PATH_SUFFIXES}" SUBDIR_NAME)
|
||||
if (NOT "${SUBDIR_NAME}" STREQUAL "")
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} NAMES ${LIBRARY_NAME_SUFFIX}
|
||||
PATHS "${SUBDIR_NAME}"
|
||||
PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES}
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} NAMES ${LIBRARY_NAME}
|
||||
PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES}
|
||||
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}")
|
||||
get_filename_component (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}" PATH)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}" CACHE PATH "The directory containing ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
else()
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} "" CACHE PATH "The directory containing ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}")
|
||||
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX})
|
||||
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} "" CACHE FILEPATH "The path to ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
endif()
|
||||
|
||||
# shared library
|
||||
if (WIN32)
|
||||
if (NOT 3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}")
|
||||
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .dll)
|
||||
|
||||
# set 3RDPARTY_${PRODUCT_NAME}_DLL as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${PRODUCT_NAME}_DLL
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} "3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}-NOTFOUND" CACHE FILEPATH "The path to ${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"" FORCE)
|
||||
|
||||
if ((3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}") OR (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}${VARIABLE_DEBUG_SUFFIX} AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}${VARIABLE_DEBUG_SUFFIX}}"))
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} NAMES ${LIBRARY_NAME}
|
||||
PATHS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}${VARIABLE_DEBUG_SUFFIX}}" "${3RDPARTY_${PRODUCT_NAME}_DIR}"
|
||||
PATH_SUFFIXES bin${LIBRARY_PATH_DEBUG_SUFFIX} win${COMPILER_BITNESS}/${COMPILER}/bin${LIBRARY_PATH_DEBUG_SUFFIX} bin${LIBRARY_PATH_DEBUG_SUFFIX}/win${COMPILER_BITNESS}
|
||||
NO_DEFAULT_PATH)
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} STREQUAL "3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}-NOTFOUND")
|
||||
# find directory recursive
|
||||
FIND_SUBDIRECTORY (${3RDPARTY_${PRODUCT_NAME}_DIR} bin${LIBRARY_PATH_DEBUG_SUFFIX} SUBDIR_NAME)
|
||||
if (NOT "${SUBDIR_NAME}" STREQUAL "")
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} NAMES ${LIBRARY_NAME_SUFFIX}
|
||||
PATHS "${SUBDIR_NAME}"
|
||||
PATH_SUFFIXES bin${LIBRARY_PATH_DEBUG_SUFFIX}
|
||||
NO_DEFAULT_PATH)
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} NAMES ${LIBRARY_NAME} PATH_SUFFIXES bin${LIBRARY_PATH_DEBUG_SUFFIX})
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}")
|
||||
get_filename_component (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}" PATH)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}" CACHE PATH "The directory containing ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
else()
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} "" CACHE PATH "The directory containing ${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"" FORCE)
|
||||
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} "" CACHE FILEPATH "${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} OR EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}")
|
||||
list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX}}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIRS${VARIABLE_DEBUG_SUFFIX} "")
|
||||
else()
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIRS${VARIABLE_DEBUG_SUFFIX} "")
|
||||
endif()
|
||||
|
||||
foreach (LIBRARY_NAME ${${LIBRARY_CSF_NAME}})
|
||||
string (REPLACE "." "" LIBRARY_NAME_SUFFIX "${LIBRARY_NAME}")
|
||||
if (WIN32)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIRS${VARIABLE_DEBUG_SUFFIX} "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}};${3RDPARTY_${PRODUCT_NAME}_DLL_DIRS}")
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIRS${VARIABLE_DEBUG_SUFFIX} "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}}")
|
||||
else()
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIRS${VARIABLE_DEBUG_SUFFIX} "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}}:${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIRS}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
mark_as_advanced (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX} 3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}${VARIABLE_DEBUG_SUFFIX})
|
||||
# endif()
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME_DEBUG_SUFFIX)
|
||||
|
||||
if (NOT DEFINED INSTALL_${PRODUCT_NAME} AND BUILD_SHARED_LIBS)
|
||||
@@ -53,12 +184,27 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME} OR NOT 3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME} OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}}")
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME} "" CACHE FILEPATH "${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME})
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME} "" CACHE PATH "The directory containing ${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"")
|
||||
endif()
|
||||
|
||||
#Debug
|
||||
if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME}_DEBUG OR NOT 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}_DEBUG OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}_DEBUG}")
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME}_DEBUG "" CACHE FILEPATH "${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}_DEBUG)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}_DEBUG "" CACHE PATH "The directory containing ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME}_DEBUG OR NOT 3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}_DEBUG OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}_DEBUG}")
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME}_DEBUG "" CACHE FILEPATH "${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"" FORCE)
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}_DEBUG)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}_DEBUG "" CACHE PATH "The directory containing ${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -84,6 +230,25 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
else()
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_${PRODUCT_NAME}_DIR 3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME} PATH "The directory containing ${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"")
|
||||
endif()
|
||||
|
||||
#Debug
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_${PRODUCT_NAME}_DIR 3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME}_DEBUG FILEPATH "the path to ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"")
|
||||
|
||||
if (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME}_DEBUG AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME}_DEBUG}")
|
||||
get_filename_component (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}_DEBUG "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME}_DEBUG}" PATH)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}_DEBUG "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}_DEBUG}" CACHE PATH "The directory containing ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
else()
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_${PRODUCT_NAME}_DIR 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}_DEBUG PATH "The directory containing ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"")
|
||||
endif()
|
||||
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_${PRODUCT_NAME}_DIR 3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME}_DEBUG FILEPATH "the path to ${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"")
|
||||
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME}_DEBUG AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME}_DEBUG}")
|
||||
get_filename_component (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}_DEBUG "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME}_DEBUG}" PATH)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}_DEBUG "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}_DEBUG}" CACHE PATH "The directory containing ${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"" FORCE)
|
||||
else()
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_${PRODUCT_NAME}_DIR 3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}_DEBUG PATH "The directory containing ${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
@@ -116,192 +281,97 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
set (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR "" CACHE FILEPATH "The path to ${HEADER_NAME}" FORCE)
|
||||
endif()
|
||||
|
||||
foreach (LIBRARY_NAME ${${LIBRARY_CSF_NAME}})
|
||||
string (REPLACE "." "" LIBRARY_NAME_SUFFIX "${LIBRARY_NAME}")
|
||||
# if (BUILD_SHARED_LIBS)
|
||||
# library
|
||||
if (NOT 3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX} OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}}")
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .dll.a .lib .so .dylib .a)
|
||||
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES lib)
|
||||
if (WIN32)
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} win${COMPILER_BITNESS}/${COMPILER}/lib)
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} lib/win${COMPILER_BITNESS})
|
||||
endif()
|
||||
if (ANDROID)
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} libs/${ANDROID_ABI})
|
||||
endif()
|
||||
if(UNIX AND NOT APPLE AND NOT ANDROID)
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} lib/linux${COMPILER_BITNESS})
|
||||
endif()
|
||||
|
||||
# set 3RDPARTY_${PRODUCT_NAME}_LIBRARY as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${PRODUCT_NAME}_LIBRARY
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX} "3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}-NOTFOUND" CACHE FILEPATH "The path to ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
|
||||
if ((3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}") OR (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME} AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}}"))
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX} NAMES ${LIBRARY_NAME}
|
||||
PATHS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME}}" "${3RDPARTY_${PRODUCT_NAME}_DIR}"
|
||||
PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES}
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
if ("${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}}" STREQUAL "3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}-NOTFOUND")
|
||||
# find directory recursive
|
||||
FIND_SUBDIRECTORY (${3RDPARTY_${PRODUCT_NAME}_DIR} "${${PRODUCT_NAME}_PATH_SUFFIXES}" SUBDIR_NAME)
|
||||
if (NOT "${SUBDIR_NAME}" STREQUAL "")
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX} NAMES ${LIBRARY_NAME_SUFFIX}
|
||||
PATHS "${SUBDIR_NAME}"
|
||||
PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES}
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX} NAMES ${LIBRARY_NAME}
|
||||
PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES}
|
||||
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX} AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}}")
|
||||
get_filename_component (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX} "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}}" PATH)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX} "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}}" CACHE PATH "The directory containing ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
else()
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX} "" CACHE PATH "The directory containing ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
endif()
|
||||
THIRDPARTY_PRODUCT_LIBRARY (${PRODUCT_NAME} ${LIBRARY_CSF_NAME} "" "")
|
||||
if (NOT SINGLE_GENERATOR)
|
||||
THIRDPARTY_PRODUCT_LIBRARY (${PRODUCT_NAME} ${LIBRARY_CSF_NAME} "d" "_DEBUG")
|
||||
foreach (LIBRARY_NAME ${${LIBRARY_CSF_NAME}})
|
||||
string (REPLACE "." "" LIBRARY_NAME_SUFFIX "${LIBRARY_NAME}")
|
||||
if (NOT 3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}_DEBUG)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}_DEBUG "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}}" CACHE FILEPATH "The path to ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX} AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}}")
|
||||
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX})
|
||||
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX} "" CACHE FILEPATH "The path to ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
endif()
|
||||
|
||||
# shared library
|
||||
if (WIN32)
|
||||
if (NOT 3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX} OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}")
|
||||
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .dll)
|
||||
|
||||
# set 3RDPARTY_${PRODUCT_NAME}_DLL as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${PRODUCT_NAME}_DLL
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX} "3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}-NOTFOUND" CACHE FILEPATH "The path to ${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"" FORCE)
|
||||
|
||||
if ((3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}") OR (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME} AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}}"))
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX} NAMES ${LIBRARY_NAME}
|
||||
PATHS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}}" "${3RDPARTY_${PRODUCT_NAME}_DIR}"
|
||||
PATH_SUFFIXES bin win${COMPILER_BITNESS}/${COMPILER}/bin bin/win${COMPILER_BITNESS}
|
||||
NO_DEFAULT_PATH)
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX} STREQUAL "3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}-NOTFOUND")
|
||||
# find directory recursive
|
||||
FIND_SUBDIRECTORY (${3RDPARTY_${PRODUCT_NAME}_DIR} bin SUBDIR_NAME)
|
||||
if (NOT "${SUBDIR_NAME}" STREQUAL "")
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX} NAMES ${LIBRARY_NAME_SUFFIX}
|
||||
PATHS "${SUBDIR_NAME}"
|
||||
PATH_SUFFIXES bin
|
||||
NO_DEFAULT_PATH)
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX} NAMES ${LIBRARY_NAME} PATH_SUFFIXES bin)
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX} AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}")
|
||||
get_filename_component (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX} "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}" PATH)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX} "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}}" CACHE PATH "The directory containing ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
else()
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX} "" CACHE PATH "The directory containing ${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"" FORCE)
|
||||
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX} "" CACHE FILEPATH "${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX} OR EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}}")
|
||||
list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX})
|
||||
if (NOT 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}_DEBUG)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}_DEBUG "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}}" CACHE PATH "The directory containing ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
if (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}_DEBUG)
|
||||
list (REMOVE_ITEM 3RDPARTY_NO_LIBS 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}_DEBUG)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIRS "")
|
||||
else()
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIRS "")
|
||||
if (NOT 3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}_DEBUG)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}_DEBUG "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}" CACHE FILEPATH "${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"" FORCE)
|
||||
endif()
|
||||
|
||||
if (NOT 3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}_DEBUG)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}_DEBUG "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}}" CACHE PATH "The directory containing ${PRODUCT_NAME} shared library \"${LIBRARY_NAME}\"" FORCE)
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}_DEBUG)
|
||||
list (REMOVE_ITEM 3RDPARTY_NO_DLLS 3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}_DEBUG)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
foreach (LIBRARY_NAME ${${LIBRARY_CSF_NAME}})
|
||||
string (REPLACE "." "" LIBRARY_NAME_SUFFIX "${LIBRARY_NAME}")
|
||||
if (WIN32)
|
||||
set (3RDPARTY_${PRODUCT_NAME}_DLL_DIRS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}};${3RDPARTY_${PRODUCT_NAME}_DLL_DIRS}")
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIRS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}}")
|
||||
else()
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIRS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}}:${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIRS}")
|
||||
endif()
|
||||
endforeach()
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIRS "")
|
||||
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIRS "")
|
||||
if (INSTALL_${PRODUCT_NAME})
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIR "")
|
||||
|
||||
if (INSTALL_${PRODUCT_NAME})
|
||||
OCCT_MAKE_OS_WITH_BITNESS()
|
||||
OCCT_MAKE_COMPILER_SHORT_NAME()
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIR "")
|
||||
|
||||
if (WIN32)
|
||||
if (SINGLE_GENERATOR)
|
||||
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}" DESTINATION "${INSTALL_DIR_BIN}")
|
||||
else()
|
||||
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}"
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR_BIN}")
|
||||
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR_BIN}i")
|
||||
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}"
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR_BIN}d")
|
||||
endif()
|
||||
else()
|
||||
get_filename_component(ABS_PATH ${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}} REALPATH)
|
||||
|
||||
if ("${PRODUCT_NAME}" STREQUAL "FREEIMAGE")
|
||||
get_filename_component(FREEIMLIB ${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}} NAME)
|
||||
|
||||
if (SINGLE_GENERATOR)
|
||||
install (FILES "${ABS_PATH}" DESTINATION "${INSTALL_DIR_LIB}" RENAME ${FREEIMLIB}.3)
|
||||
else()
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR_LIB}"
|
||||
RENAME ${FREEIMLIB}.3)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR_LIB}i"
|
||||
RENAME ${FREEIMLIB}.3)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR_LIB}d"
|
||||
RENAME ${FREEIMLIB}.3)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endif()
|
||||
if (WIN32)
|
||||
if (SINGLE_GENERATOR)
|
||||
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}" DESTINATION "${INSTALL_DIR_BIN}")
|
||||
else()
|
||||
# the library directory for using by the executable
|
||||
foreach (LIBRARY_NAME ${${LIBRARY_CSF_NAME}})
|
||||
string (REPLACE "." "" LIBRARY_NAME_SUFFIX "${LIBRARY_NAME}")
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIRS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}};${USED_3RDPARTY_${PRODUCT_NAME}_DIRS}")
|
||||
else()
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIRS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}}:${USED_3RDPARTY_${PRODUCT_NAME}_DIRS}")
|
||||
endif()
|
||||
endforeach()
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIR ${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}})
|
||||
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}"
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR_BIN}")
|
||||
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR_BIN}i")
|
||||
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}_DEBUG}"
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR_BIN}d")
|
||||
endif()
|
||||
else()
|
||||
get_filename_component(ABS_PATH ${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}} REALPATH)
|
||||
|
||||
if ("${PRODUCT_NAME}" STREQUAL "FREEIMAGE")
|
||||
get_filename_component(FREEIMLIB ${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}} NAME)
|
||||
|
||||
if (SINGLE_GENERATOR)
|
||||
install (FILES "${ABS_PATH}" DESTINATION "${INSTALL_DIR_LIB}" RENAME ${FREEIMLIB}.3)
|
||||
else()
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR_LIB}"
|
||||
RENAME ${FREEIMLIB}.3)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR_LIB}i"
|
||||
RENAME ${FREEIMLIB}.3)
|
||||
|
||||
get_filename_component(FREEIMLIB_DEBUG ${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}_DEBUG} NAME)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR_LIB}d"
|
||||
RENAME ${FREEIMLIB_DEBUG}.3)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
mark_as_advanced (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX} 3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX})
|
||||
# endif()
|
||||
endforeach()
|
||||
endif()
|
||||
else()
|
||||
# the library directory for using by the executable
|
||||
foreach (LIBRARY_NAME ${${LIBRARY_CSF_NAME}})
|
||||
string (REPLACE "." "" LIBRARY_NAME_SUFFIX "${LIBRARY_NAME}")
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIRS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}};${USED_3RDPARTY_${PRODUCT_NAME}_DIRS}")
|
||||
else()
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIRS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}}:${USED_3RDPARTY_${PRODUCT_NAME}_DIRS}")
|
||||
endif()
|
||||
endforeach()
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIR ${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}})
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro (COMPLIANCE_PRODUCT_CONSISTENCY LIBNAME)
|
||||
|
@@ -1,113 +1,4 @@
|
||||
# Draco - a library for a lossy vertex data compression, used as extension to glTF format.
|
||||
# https://github.com/google/draco
|
||||
|
||||
macro (SEARCH_DRACO_LIB)
|
||||
if (3RDPARTY_DRACO_DIR AND EXISTS "${3RDPARTY_DRACO_DIR}")
|
||||
if (NOT 3RDPARTY_DRACO_LIBRARY OR NOT EXISTS "${3RDPARTY_DRACO_LIBRARY}")
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .a)
|
||||
set (3RDPARTY_DRACO_LIBRARY "3RDPARTY_DRACO_LIBRARY-NOTFOUND" CACHE FILEPATH "The path to Draco library" FORCE)
|
||||
|
||||
find_library (3RDPARTY_DRACO_LIBRARY NAMES ${CSF_Draco}
|
||||
PATHS "${3RDPARTY_DRACO_DIR}"
|
||||
PATH_SUFFIXES lib
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
if (3RDPARTY_DRACO_LIBRARY AND EXISTS "${3RDPARTY_DRACO_LIBRARY}")
|
||||
get_filename_component (3RDPARTY_DRACO_LIBRARY_DIR "${3RDPARTY_DRACO_LIBRARY}" PATH)
|
||||
set (3RDPARTY_DRACO_LIBRARY_DIR "${3RDPARTY_DRACO_LIBRARY_DIR}" CACHE FILEPATH "The directory containing Draco library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (WIN32 AND (NOT 3RDPARTY_DRACO_LIBRARY_DEBUG OR NOT EXISTS "${3RDPARTY_DRACO_LIBRARY_DEBUG}"))
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .a)
|
||||
set (3RDPARTY_DRACO_LIBRARY_DEBUG "3RDPARTY_DRACO_LIBRARY_DEBUG-NOTFOUND" CACHE FILEPATH "The path to debug Draco library" FORCE)
|
||||
|
||||
find_library (3RDPARTY_DRACO_LIBRARY_DEBUG NAMES ${CSF_Draco}
|
||||
PATHS "${3RDPARTY_DRACO_DIR}"
|
||||
PATH_SUFFIXES libd debug/lib
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
if (3RDPARTY_DRACO_LIBRARY_DEBUG AND EXISTS "${3RDPARTY_DRACO_LIBRARY_DEBUG}")
|
||||
get_filename_component (3RDPARTY_DRACO_LIBRARY_DIR_DEBUG "${3RDPARTY_DRACO_LIBRARY_DEBUG}" PATH)
|
||||
set (3RDPARTY_DRACO_LIBRARY_DIR_DEBUG "${3RDPARTY_DRACO_LIBRARY_DIR_DEBUG}" CACHE FILEPATH "The directory containing debug Draco library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# vcpkg processing
|
||||
if (BUILD_USE_VCPKG)
|
||||
find_package (draco CONFIG REQUIRED)
|
||||
|
||||
set (3RDPARTY_DRACO_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}")
|
||||
SEARCH_DRACO_LIB()
|
||||
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/draco")
|
||||
return()
|
||||
endif()
|
||||
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_DRACO_DIR)
|
||||
set (3RDPARTY_DRACO_DIR "" CACHE PATH "The directory containing Draco")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_DRACO_INCLUDE_DIR)
|
||||
set (3RDPARTY_DRACO_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the Draco")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_DRACO_LIBRARY)
|
||||
set (3RDPARTY_DRACO_LIBRARY "" CACHE FILEPATH "Draco library")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_DRACO_LIBRARY_DIR)
|
||||
set (3RDPARTY_DRACO_LIBRARY_DIR "" CACHE PATH "The directory containing Draco library")
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
if (NOT DEFINED 3RDPARTY_DRACO_LIBRARY_DEBUG)
|
||||
set (3RDPARTY_DRACO_LIBRARY_DEBUG "" CACHE FILEPATH "Draco debug library")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_DRACO_LIBRARY_DIR_DEBUG)
|
||||
set (3RDPARTY_DRACO_LIBRARY_DIR_DEBUG "" CACHE PATH "The directory containing Draco debug library")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
|
||||
if (NOT 3RDPARTY_DRACO_DIR OR NOT EXISTS "${3RDPARTY_DRACO_DIR}")
|
||||
FIND_PRODUCT_DIR("${3RDPARTY_DIR}" draco DRACO_DIR_NAME)
|
||||
if (DRACO_DIR_NAME)
|
||||
set (3RDPARTY_DRACO_DIR "${3RDPARTY_DIR}/${DRACO_DIR_NAME}" CACHE PATH "The directory containing Draco" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# header
|
||||
if (NOT 3RDPARTY_DRACO_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_DRACO_INCLUDE_DIR}")
|
||||
set (HEADER_NAMES draco)
|
||||
|
||||
# set 3RDPARTY_DRACO_INCLUDE_DIR as notfound, otherwise find_path can't assign a new value to 3RDPARTY_DRACO_INCLUDE_DIR
|
||||
set (3RDPARTY_DRACO_INCLUDE_DIR "3RDPARTY_DRACO_INCLUDE_DIR-NOTFOUND" CACHE FILEPATH "The directory containing headers of the Draco" FORCE)
|
||||
|
||||
if (3RDPARTY_DRACO_DIR AND EXISTS "${3RDPARTY_DRACO_DIR}")
|
||||
find_path (3RDPARTY_DRACO_INCLUDE_DIR NAMES ${HEADER_NAMES}
|
||||
PATHS ${3RDPARTY_DRACO_DIR}
|
||||
PATH_SUFFIXES "include"
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
else()
|
||||
find_path (3RDPARTY_DRACO_INCLUDE_DIR NAMES ${HEADER_NAMES}
|
||||
PATHS ${3RDPARTY_DRACO_DIR}
|
||||
PATH_SUFFIXES "include"
|
||||
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_DRACO_INCLUDE_DIR AND EXISTS "${3RDPARTY_DRACO_INCLUDE_DIR}")
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_DRACO_INCLUDE_DIR}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_DRACO_INCLUDE_DIR)
|
||||
endif()
|
||||
|
||||
SEARCH_DRACO_LIB()
|
||||
THIRDPARTY_PRODUCT("DRACO" "draco/draco_features.h" "CSF_Draco" "")
|
||||
|
@@ -1,15 +1,4 @@
|
||||
# vcpkg processing
|
||||
if (BUILD_USE_VCPKG)
|
||||
find_package(FFMPEG REQUIRED)
|
||||
set(CSF_FFmpeg ${FFMPEG_LIBRARIES})
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_FREEIMAGE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin")
|
||||
else()
|
||||
set (USED_3RDPARTY_FREEIMAGE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib")
|
||||
endif()
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${FFMPEG_INCLUDE_DIRS}")
|
||||
return()
|
||||
endif()
|
||||
# FFmpeg
|
||||
|
||||
if (NOT DEFINED INSTALL_FFMPEG)
|
||||
set (INSTALL_FFMPEG OFF CACHE BOOL "${INSTALL_FFMPEG_DESCR}")
|
||||
|
@@ -1,16 +1,3 @@
|
||||
#freeimage
|
||||
|
||||
# vcpkg processing
|
||||
if (BUILD_USE_VCPKG)
|
||||
find_package(freeimage CONFIG REQUIRED)
|
||||
set(CSF_FreeImagePlus freeimage::FreeImagePlus)
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_FREEIMAGE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin")
|
||||
else()
|
||||
set (USED_3RDPARTY_FREEIMAGE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib")
|
||||
endif()
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/")
|
||||
return()
|
||||
endif()
|
||||
|
||||
THIRDPARTY_PRODUCT("FREEIMAGE" "FreeImage.h" "CSF_FreeImagePlus" "d")
|
||||
|
@@ -1,18 +1,5 @@
|
||||
# freetype
|
||||
|
||||
# vcpkg processing
|
||||
if (BUILD_USE_VCPKG)
|
||||
find_package (Freetype MODULE REQUIRED)
|
||||
set (CSF_FREETYPE Freetype::Freetype)
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_FREETYPE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin")
|
||||
else()
|
||||
set (USED_3RDPARTY_FREETYPE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib")
|
||||
endif()
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED INSTALL_FREETYPE AND BUILD_SHARED_LIBS)
|
||||
set (INSTALL_FREETYPE OFF CACHE BOOL "${INSTALL_FREETYPE_DESCR}")
|
||||
endif()
|
||||
@@ -177,14 +164,6 @@ if (IS_BUILTIN_SEARCH_REQUIRED)
|
||||
set (3RDPARTY_FREETYPE_LIBRARY_DIR "" CACHE PATH "The directory containing freetype library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# In case of MinGW some libraries can have .dll.a extension, so we should check it and use instead of .a
|
||||
if (MINGW AND 3RDPARTY_FREETYPE_LIBRARY AND EXISTS "${3RDPARTY_FREETYPE_LIBRARY}")
|
||||
string (REPLACE ".a" ".dll.a" 3RDPARTY_FREETYPE_LIBRARY_TEST "${3RDPARTY_FREETYPE_LIBRARY}")
|
||||
if (EXISTS "${3RDPARTY_FREETYPE_LIBRARY_TEST}")
|
||||
set (3RDPARTY_FREETYPE_LIBRARY "${3RDPARTY_FREETYPE_LIBRARY_TEST}" CACHE FILEPATH "The path to freetype library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# the SECOND step in search for freetype library and header folders (additional search algorithms)
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# JeMalloc
|
||||
|
||||
function (JEMALLOC_LIB_SEARCH MMGR_LIB PREFIX)
|
||||
macro (JEMALLOC_LIB_SEARCH MMGR_LIB PREFIX)
|
||||
if (NOT 3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB})
|
||||
set (JEMALLOC_PATH_SUFFIXES "lib" "bin")
|
||||
set (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} "3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}-NOTFOUND")
|
||||
@@ -23,25 +23,20 @@ function (JEMALLOC_LIB_SEARCH MMGR_LIB PREFIX)
|
||||
endif()
|
||||
endif()
|
||||
if (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB})
|
||||
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}}" PARENT_SCOPE)
|
||||
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}}")
|
||||
set (3RDPARTY_JEMALLOC_LIBRARY_DIR "${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}}" CACHE PATH "The directory containing JEMALLOC libraries" FORCE)
|
||||
elseif("${PREFIX}" STREQUAL "SHARED")
|
||||
return()
|
||||
else()
|
||||
message(STATUS "Cannot find ${MMGR_LIB} library in jemalloc 3rdparty")
|
||||
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} PARENT_SCOPE)
|
||||
set (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} "" PARENT_SCOPE)
|
||||
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB})
|
||||
set (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} "")
|
||||
endif()
|
||||
|
||||
set(JEMALLOC_IS_STATIC_LIB FALSE)
|
||||
if ("${PREFIX}" STREQUAL "STATIC")
|
||||
set(JEMALLOC_IS_STATIC_LIB TRUE)
|
||||
endif()
|
||||
|
||||
if (${JEMALLOC_IS_STATIC_LIB})
|
||||
set (OLD_CSF_MMGR ${CSF_MMGR})
|
||||
list (APPEND OLD_CSF_MMGR "${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}}")
|
||||
set (CSF_MMGR "${OLD_CSF_MMGR}" PARENT_SCOPE)
|
||||
set (JEMALLOC_IS_STATIC_LIB FALSE)
|
||||
if (((${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} MATCHES "\.lib$")) OR ((${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} MATCHES "\.a$")))
|
||||
get_filename_component(STATIC_LIB_NAME ${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} NAME)
|
||||
list(APPEND CSF_MMGR "${STATIC_LIB_NAME}")
|
||||
set (JEMALLOC_IS_STATIC_LIB TRUE)
|
||||
endif()
|
||||
# install instructions
|
||||
if (INSTALL_JEMALLOC AND NOT JEMALLOC_IS_STATIC_LIB)
|
||||
@@ -62,18 +57,18 @@ function (JEMALLOC_LIB_SEARCH MMGR_LIB PREFIX)
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${JEMALLOC_INSTALL_DESTINATION}i")
|
||||
endif()
|
||||
set (USED_3RDPARTY_JEMALLOC_DIR "" PARENT_SCOPE)
|
||||
set (USED_3RDPARTY_JEMALLOC_DIR "")
|
||||
elseif(NOT JEMALLOC_IS_STATIC_LIB)
|
||||
# the library directory for using by the executable
|
||||
set (USED_3RDPARTY_JEMALLOC_DIR ${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}} PARENT_SCOPE)
|
||||
set (USED_3RDPARTY_JEMALLOC_DIR ${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}})
|
||||
endif()
|
||||
unset(3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} CACHE)
|
||||
unset(3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} CACHE)
|
||||
endfunction()
|
||||
endmacro()
|
||||
|
||||
macro (SEARCH_JEMALLOC)
|
||||
# find static jemalloc lib
|
||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".lib" ".a")
|
||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".a")
|
||||
if (WIN32)
|
||||
JEMALLOC_LIB_SEARCH ("jemalloc" "STATIC")
|
||||
elseif(NOT WIN32)
|
||||
@@ -90,16 +85,6 @@ endmacro()
|
||||
# Reset CSF variable
|
||||
set (CSF_MMGR "")
|
||||
|
||||
# vcpkg processing
|
||||
if (BUILD_USE_VCPKG)
|
||||
set (3RDPARTY_JEMALLOC_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}")
|
||||
OCCT_CHECK_AND_UNSET_GROUP (3RDPARTY_JEMALLOC_LIBRARY_SHARED)
|
||||
OCCT_CHECK_AND_UNSET_GROUP (3RDPARTY_JEMALLOC_LIBRARY_STATIC)
|
||||
SEARCH_JEMALLOC()
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/jemalloc")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED INSTALL_JEMALLOC)
|
||||
set (INSTALL_JEMALLOC OFF CACHE BOOL "${INSTALL_INSTALL_JEMALLOC_DESCR}")
|
||||
endif()
|
||||
|
@@ -38,10 +38,6 @@ else()
|
||||
else()
|
||||
add_definitions (-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
endif()
|
||||
if (APPLE)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations")
|
||||
endif()
|
||||
add_definitions(-DOCC_CONVERT_SIGNALS)
|
||||
endif()
|
||||
|
||||
@@ -151,19 +147,14 @@ elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPIL
|
||||
# /GL (whole program optimization) is similar to -flto (Link Time Optimization) in GCC/Clang.
|
||||
# /GF (eliminate duplicate strings) doesn't have a direct equivalent in GCC/Clang, but the compilers do string pooling automatically.
|
||||
# /Gy (enable function-level linking) is similar to -ffunction-sections in GCC/Clang.
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -fomit-frame-pointer -flto -ffunction-sections")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -fomit-frame-pointer -flto -ffunction-sections")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -fomit-frame-pointer -flto -ffunction-sections")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -fomit-frame-pointer -flto -ffunction-sections")
|
||||
|
||||
# Link-Time Code Generation(LTCG) is requared for Whole Program Optimisation(GL)
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -flto")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -flto")
|
||||
set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} -flto")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -flto")
|
||||
if (NOT WIN32)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -Wl,--gc-sections")
|
||||
set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} -Wl,--gc-sections")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -Wl,--gc-sections")
|
||||
endif()
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -flto -Wl,--gc-sections")
|
||||
set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} -flto -Wl,--gc-sections")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -flto -Wl,--gc-sections")
|
||||
endif()
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshorten-64-to-32")
|
||||
@@ -172,7 +163,7 @@ elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPIL
|
||||
if (APPLE)
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-lm ${CMAKE_SHARED_LINKER_FLAGS}")
|
||||
elseif(NOT WIN32)
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-lm -Wl,-Bsymbolic ${CMAKE_SHARED_LINKER_FLAGS}")
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-lm ${CMAKE_SHARED_LINKER_FLAGS}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
@@ -182,21 +173,19 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||
# CLang can be used with both libstdc++ and libc++, however on OS X libstdc++ is outdated.
|
||||
set (CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}")
|
||||
endif()
|
||||
if (NOT WIN32)
|
||||
# Optimize size of binaries
|
||||
set (CMAKE_SHARED_LINKER_FLAGS_RELEASE "-Wl,-s ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
|
||||
endif()
|
||||
endif()
|
||||
if(MINGW)
|
||||
# Optimize size of binaries
|
||||
set (CMAKE_SHARED_LINKER_FLAGS_RELEASE "-Wl,-s ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
|
||||
elseif(MINGW)
|
||||
add_definitions(-D_WIN32_WINNT=0x0601)
|
||||
# _WIN32_WINNT=0x0601 (use Windows 7 SDK)
|
||||
#set (CMAKE_SYSTEM_VERSION "6.1")
|
||||
# workaround bugs in mingw with vtable export
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-all-symbols")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wattributes")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wattributes")
|
||||
endif()
|
||||
if (CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE)
|
||||
|
||||
# Optimize size of binaries
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
|
||||
elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
|
||||
# Optimize size of binaries
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
|
||||
|
@@ -75,10 +75,6 @@ endmacro()
|
||||
# COMPILER variable
|
||||
macro (OCCT_MAKE_COMPILER_SHORT_NAME)
|
||||
if (MSVC)
|
||||
if (MSVC_VERSION LESS 1914)
|
||||
message (AUTHOR_WARNING "Microsoft Visual C++ 19.14 (VS 2017 15.7) or newer is required for C++17 support")
|
||||
endif()
|
||||
|
||||
if ((MSVC_VERSION EQUAL 1300) OR (MSVC_VERSION EQUAL 1310))
|
||||
set (COMPILER vc7)
|
||||
elseif (MSVC_VERSION EQUAL 1400)
|
||||
@@ -96,39 +92,20 @@ macro (OCCT_MAKE_COMPILER_SHORT_NAME)
|
||||
elseif ((MSVC_VERSION GREATER 1900) AND (MSVC_VERSION LESS 2000))
|
||||
# Since Visual Studio 15 (2017), its version diverged from version of
|
||||
# compiler which is 14.1; as that compiler uses the same run-time as 14.0,
|
||||
# we keep its id as "vc14" to be compatible
|
||||
# we keep its id as "vc14" to be compatibille
|
||||
set (COMPILER vc14)
|
||||
else()
|
||||
message (FATAL_ERROR "Unrecognized MSVC_VERSION")
|
||||
endif()
|
||||
elseif (DEFINED CMAKE_COMPILER_IS_GNUCC)
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
|
||||
message (AUTHOR_WARNING "GCC version 8.0 or newer is required for C++17 support")
|
||||
endif()
|
||||
set (COMPILER gcc)
|
||||
elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
|
||||
message (AUTHOR_WARNING "GCC version 8.0 or newer is required for C++17 support")
|
||||
endif()
|
||||
set (COMPILER gxx)
|
||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||
if(APPLE)
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0.0)
|
||||
message (AUTHOR_WARNING "Apple Clang version 11.0.0 or newer is required for C++17 support")
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)
|
||||
message (AUTHOR_WARNING "Clang version 7.0 or newer is required for C++17 support")
|
||||
endif()
|
||||
endif()
|
||||
set (COMPILER clang)
|
||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "[Ii][Nn][Tt][Ee][Ll]")
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17.1.1)
|
||||
message (AUTHOR_WARNING "Intel C++ Compiler version 17.1.1 or newer is required for C++17 support")
|
||||
endif()
|
||||
set (COMPILER icc)
|
||||
else()
|
||||
message (AUTHOR_WARNING "Unknown compiler - please verify C++17 support")
|
||||
set (COMPILER ${CMAKE_GENERATOR})
|
||||
string (REGEX REPLACE " " "" COMPILER ${COMPILER})
|
||||
endif()
|
||||
@@ -437,71 +414,29 @@ function (COLLECT_AND_INSTALL_OCCT_HEADER_FILES THE_ROOT_TARGET_OCCT_DIR THE_OCC
|
||||
foreach(OCCT_PACKAGE ${USED_PACKAGES})
|
||||
EXTRACT_PACKAGE_FILES (${THE_RELATIVE_PATH} ${OCCT_PACKAGE} ALL_FILES _)
|
||||
set (HEADER_FILES_FILTERING ${ALL_FILES})
|
||||
list (FILTER HEADER_FILES_FILTERING INCLUDE REGEX ".+[.](h|g|p|lxx)")
|
||||
list (FILTER HEADER_FILES_FILTERING INCLUDE REGEX ".+[.](h|lxx|gxx)")
|
||||
list (APPEND OCCT_HEADER_FILES_COMPLETE ${HEADER_FILES_FILTERING})
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
# Check that copying is done and match the include installation type.
|
||||
# Check by first file in list.
|
||||
list(GET OCCT_HEADER_FILES_COMPLETE 0 FIRST_OCCT_HEADER_FILE)
|
||||
get_filename_component (FIRST_OCCT_HEADER_FILE ${FIRST_OCCT_HEADER_FILE} NAME)
|
||||
set (TO_FORCE_COPY FALSE)
|
||||
if (NOT EXISTS "${THE_ROOT_TARGET_OCCT_DIR}/${THE_OCCT_INSTALL_DIR_PREFIX}/${FIRST_OCCT_HEADER_FILE}")
|
||||
set (TO_FORCE_COPY TRUE)
|
||||
else()
|
||||
# get content and check the number of lines inside file.
|
||||
# If more then 1 then it is a symlink.
|
||||
file (STRINGS "${THE_ROOT_TARGET_OCCT_DIR}/${THE_OCCT_INSTALL_DIR_PREFIX}/${FIRST_OCCT_HEADER_FILE}" FIRST_OCCT_HEADER_FILE_CONTENT)
|
||||
list (LENGTH FIRST_OCCT_HEADER_FILE_CONTENT FIRST_OCCT_HEADER_FILE_CONTENT_LEN)
|
||||
if (${FIRST_OCCT_HEADER_FILE_CONTENT_LEN} EQUAL 1 AND BUILD_INCLUDE_SYMLINK)
|
||||
set (TO_FORCE_COPY TRUE)
|
||||
elseif(${FIRST_OCCT_HEADER_FILE_CONTENT_LEN} GREATER 1 AND NOT BUILD_INCLUDE_SYMLINK)
|
||||
set (TO_FORCE_COPY TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
foreach (OCCT_HEADER_FILE ${OCCT_HEADER_FILES_COMPLETE})
|
||||
get_filename_component (HEADER_FILE_NAME ${OCCT_HEADER_FILE} NAME)
|
||||
set(TARGET_FILE "${THE_ROOT_TARGET_OCCT_DIR}/${THE_OCCT_INSTALL_DIR_PREFIX}/${HEADER_FILE_NAME}")
|
||||
|
||||
# Check if the file already exists in the target directory
|
||||
if (TO_FORCE_COPY OR NOT EXISTS "${TARGET_FILE}")
|
||||
if (BUILD_INCLUDE_SYMLINK)
|
||||
file (CREATE_LINK "${OCCT_HEADER_FILE}" "${TARGET_FILE}" SYMBOLIC)
|
||||
else()
|
||||
set (OCCT_HEADER_FILE_CONTENT "#include \"${OCCT_HEADER_FILE}\"")
|
||||
configure_file ("${TEMPLATE_HEADER_PATH}" "${TARGET_FILE}" @ONLY)
|
||||
endif()
|
||||
if (BUILD_INCLUDE_SYMLINK)
|
||||
file (CREATE_LINK "${OCCT_HEADER_FILE}" "${THE_ROOT_TARGET_OCCT_DIR}/${THE_OCCT_INSTALL_DIR_PREFIX}/${HEADER_FILE_NAME}" SYMBOLIC)
|
||||
else()
|
||||
set (OCCT_HEADER_FILE_CONTENT "#include \"${OCCT_HEADER_FILE}\"")
|
||||
configure_file ("${TEMPLATE_HEADER_PATH}" "${THE_ROOT_TARGET_OCCT_DIR}/${THE_OCCT_INSTALL_DIR_PREFIX}/${HEADER_FILE_NAME}" @ONLY)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set (OCCT_HEADER_FILES_INSTALLATION ${OCCT_HEADER_FILES_COMPLETE})
|
||||
list (FILTER OCCT_HEADER_FILES_INSTALLATION INCLUDE REGEX ".*[.](h|lxx)")
|
||||
install (FILES ${OCCT_HEADER_FILES_INSTALLATION} DESTINATION "${INSTALL_DIR}/${THE_OCCT_INSTALL_DIR_PREFIX}")
|
||||
install (FILES ${OCCT_HEADER_FILES_COMPLETE} DESTINATION "${INSTALL_DIR}/${THE_OCCT_INSTALL_DIR_PREFIX}")
|
||||
endfunction()
|
||||
|
||||
# Macro to configure and install Standard_Version.hxx file
|
||||
macro (CONFIGURE_AND_INSTALL_VERSION_HEADER)
|
||||
if (DEFINED BUILD_OCCT_VERSION_EXT AND "${BUILD_OCCT_VERSION_EXT}" STREQUAL "${OCC_VERSION_STRING_EXT}" AND EXISTS "${CMAKE_BINARY_DIR}/${INSTALL_DIR_INCLUDE}/Standard_Version.hxx")
|
||||
install(FILES "${OCCT_BINARY_DIR}/${INSTALL_DIR_INCLUDE}/Standard_Version.hxx" DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_INCLUDE}")
|
||||
else()
|
||||
set(BUILD_OCCT_VERSION_EXT "${OCC_VERSION_STRING_EXT}" CACHE STRING "OCCT Version string. Used only for caching, can't impact on build. For modification of version, please check adm/cmake/version.cmake" FORCE)
|
||||
mark_as_advanced(BUILD_OCCT_VERSION_EXT)
|
||||
string(TIMESTAMP OCCT_VERSION_DATE "%Y-%m-%d" UTC)
|
||||
OCCT_CONFIGURE_AND_INSTALL ("adm/templates/Standard_Version.hxx.in" "${INSTALL_DIR_INCLUDE}/Standard_Version.hxx" "Standard_Version.hxx" "${INSTALL_DIR}/${INSTALL_DIR_INCLUDE}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
function(ADD_PRECOMPILED_HEADER INPUT_TARGET PRECOMPILED_HEADER THE_IS_PRIVATE)
|
||||
function(ADD_PRECOMPILED_HEADER INPUT_TARGET PRECOMPILED_HEADER)
|
||||
if (NOT BUILD_USE_PCH)
|
||||
return()
|
||||
endif()
|
||||
if (${THE_IS_PRIVATE})
|
||||
target_precompile_headers(${INPUT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:${PRECOMPILED_HEADER}>")
|
||||
else()
|
||||
target_precompile_headers(${INPUT_TARGET} PUBLIC "$<$<COMPILE_LANGUAGE:CXX>:${PRECOMPILED_HEADER}>")
|
||||
endif()
|
||||
target_precompile_headers(${INPUT_TARGET} PUBLIC "$<$<COMPILE_LANGUAGE:CXX>:${PRECOMPILED_HEADER}>")
|
||||
endfunction()
|
||||
|
||||
macro (OCCT_COPY_FILE_OR_DIR BEING_COPIED_OBJECT DESTINATION_PATH)
|
||||
@@ -585,69 +520,42 @@ function (OCCT_MODULES_AND_TOOLKITS FILE_NAME TOOLKITS_NAME_SUFFIX MODULE_LIST)
|
||||
set (${MODULE_LIST} ${${MODULE_LIST}} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
|
||||
# Macro to extract git hash from the source directory
|
||||
# and store it in the variable GIT_HASH
|
||||
# in case if git is not found or error occurs, GIT_HASH is set to empty string
|
||||
macro(OCCT_GET_GIT_HASH)
|
||||
set(GIT_HASH "")
|
||||
|
||||
find_package(Git QUIET)
|
||||
if(GIT_FOUND)
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_HASH
|
||||
ERROR_VARIABLE GIT_ERROR
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(NOT GIT_ERROR)
|
||||
# Check if working directory is clean
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} status --porcelain
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_STATUS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(NOT "${GIT_STATUS}" STREQUAL "")
|
||||
message(DEBUG "Git working directory is not clean. Git hash may be incorrect.")
|
||||
endif()
|
||||
else()
|
||||
set(GIT_HASH "")
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# Returns OCC version string
|
||||
# Returns OCC version string from file Standard_Version.hxx (if available)
|
||||
function (OCC_VERSION OCC_VERSION_MAJOR OCC_VERSION_MINOR OCC_VERSION_MAINTENANCE OCC_VERSION_DEVELOPMENT OCC_VERSION_STRING_EXT)
|
||||
|
||||
include (version)
|
||||
set (OCC_VERSION_COMPLETE "${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}")
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_COMPLETE}")
|
||||
set (OCC_VERSION_MAJOR 7)
|
||||
set (OCC_VERSION_MINOR 0)
|
||||
set (OCC_VERSION_MAINTENANCE 0)
|
||||
set (OCC_VERSION_DEVELOPMENT dev)
|
||||
set (OCC_VERSION_COMPLETE "7.0.0")
|
||||
|
||||
set (STANDARD_VERSION_FILE "${CMAKE_SOURCE_DIR}/src/Standard/Standard_Version.hxx")
|
||||
if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/src/Standard/Standard_Version.hxx")
|
||||
set (STANDARD_VERSION_FILE "${BUILD_PATCH}/src/Standard/Standard_Version.hxx")
|
||||
endif()
|
||||
|
||||
if (EXISTS "${STANDARD_VERSION_FILE}")
|
||||
foreach (SOUGHT_VERSION OCC_VERSION_MAJOR OCC_VERSION_MINOR OCC_VERSION_MAINTENANCE)
|
||||
file (STRINGS "${STANDARD_VERSION_FILE}" ${SOUGHT_VERSION} REGEX "^#define ${SOUGHT_VERSION} .*")
|
||||
string (REGEX REPLACE ".*${SOUGHT_VERSION} .*([^ ]+).*" "\\1" ${SOUGHT_VERSION} "${${SOUGHT_VERSION}}" )
|
||||
endforeach()
|
||||
|
||||
foreach (SOUGHT_VERSION OCC_VERSION_DEVELOPMENT OCC_VERSION_COMPLETE)
|
||||
file (STRINGS "${STANDARD_VERSION_FILE}" ${SOUGHT_VERSION} REGEX "^#define ${SOUGHT_VERSION} .*")
|
||||
string (REGEX REPLACE ".*${SOUGHT_VERSION} .*\"([^ ]+)\".*" "\\1" ${SOUGHT_VERSION} "${${SOUGHT_VERSION}}" )
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
set (OCC_VERSION_MAJOR "${OCC_VERSION_MAJOR}" PARENT_SCOPE)
|
||||
set (OCC_VERSION_MINOR "${OCC_VERSION_MINOR}" PARENT_SCOPE)
|
||||
set (OCC_VERSION_MAINTENANCE "${OCC_VERSION_MAINTENANCE}" PARENT_SCOPE)
|
||||
set (OCCT_ON_DEVELOPMENT OFF)
|
||||
if (NOT "${OCC_VERSION_DEVELOPMENT}" STREQUAL "" AND NOT "${OCC_VERSION_DEVELOPMENT}" STREQUAL "OCC_VERSION_DEVELOPMENT")
|
||||
set (OCCT_ON_DEVELOPMENT ON)
|
||||
endif()
|
||||
if (${OCCT_ON_DEVELOPMENT})
|
||||
set (OCC_VERSION_DEVELOPMENT "${OCC_VERSION_DEVELOPMENT}" PARENT_SCOPE)
|
||||
endif()
|
||||
set (OCC_VERSION_DEVELOPMENT "${OCC_VERSION_DEVELOPMENT}" PARENT_SCOPE)
|
||||
|
||||
set (SET_OCC_VERSION_DEVELOPMENT "")
|
||||
if (${OCCT_ON_DEVELOPMENT})
|
||||
OCCT_GET_GIT_HASH()
|
||||
if (NOT "${GIT_HASH}" STREQUAL "")
|
||||
set (OCC_VERSION_DEVELOPMENT "${OCC_VERSION_DEVELOPMENT}-${GIT_HASH}")
|
||||
set (OCC_VERSION_DEVELOPMENT "${OCC_VERSION_DEVELOPMENT}" PARENT_SCOPE)
|
||||
endif()
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_COMPLETE}.${OCC_VERSION_DEVELOPMENT}")
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_STRING_EXT}" PARENT_SCOPE)
|
||||
set (SET_OCC_VERSION_DEVELOPMENT "#define OCC_VERSION_DEVELOPMENT \"${OCC_VERSION_DEVELOPMENT}\"")
|
||||
if (OCC_VERSION_DEVELOPMENT AND OCC_VERSION_COMPLETE)
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_COMPLETE}.${OCC_VERSION_DEVELOPMENT}" PARENT_SCOPE)
|
||||
else()
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_COMPLETE}" PARENT_SCOPE)
|
||||
endif()
|
||||
set (OCC_VERSION_STRING_EXT "${OCC_VERSION_STRING_EXT}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
macro (CHECK_PATH_FOR_CONSISTENCY THE_ROOT_PATH_NAME THE_BEING_CHECKED_PATH_NAME THE_VAR_TYPE THE_MESSAGE_OF_BEING_CHECKED_PATH)
|
||||
@@ -791,126 +699,3 @@ macro (OCCT_CREATE_SYMLINK_TO_FILE LIBRARY_NAME LINK_NAME)
|
||||
")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# Function to process CSF libraries and append their file names to a specified list.
|
||||
# Additionally, handle library directories for different build configurations.
|
||||
# Arguments:
|
||||
# CURRENT_CSF - The current CSF libraries to process.
|
||||
# LIST_NAME - The name of the list to append the processed library file names to.
|
||||
# TARGET_NAME - The target to which the library directories will be added.
|
||||
function (PROCESS_CSF_LIBRARIES CURRENT_CSF LIST_NAME TARGET_NAME)
|
||||
separate_arguments (CURRENT_CSF)
|
||||
|
||||
# Local variables to collect found libraries and directories
|
||||
set(FOUND_LIBS "")
|
||||
set(FOUND_DEBUG_DIRS "")
|
||||
set(FOUND_RELEASE_DIRS "")
|
||||
|
||||
# Check if the result is already cached
|
||||
string(REPLACE ";" "_" CACHE_KEY "${CURRENT_CSF}")
|
||||
get_property(CACHED_LIBS GLOBAL PROPERTY "CACHED_LIBS_${CACHE_KEY}" SET)
|
||||
get_property(CACHED_DEBUG_DIRS GLOBAL PROPERTY "CACHED_DEBUG_DIRS_${CACHE_KEY}" SET)
|
||||
get_property(CACHED_RELEASE_DIRS GLOBAL PROPERTY "CACHED_RELEASE_DIRS_${CACHE_KEY}" SET)
|
||||
if (CACHED_LIBS AND NOT "${CACHED_LIBS}" STREQUAL "1")
|
||||
list (APPEND FOUND_LIBS ${CACHED_LIBS})
|
||||
if (CACHED_DEBUG_DIRS)
|
||||
list (APPEND FOUND_DEBUG_DIRS ${CACHED_DEBUG_DIRS})
|
||||
endif()
|
||||
if (CACHED_RELEASE_DIRS)
|
||||
list (APPEND FOUND_RELEASE_DIRS ${CACHED_RELEASE_DIRS})
|
||||
endif()
|
||||
else()
|
||||
foreach (CSF_LIBRARY ${CURRENT_CSF})
|
||||
set (LIBRARY_FROM_CACHE 0)
|
||||
set (CSF_LIBRARY_ORIGINAL ${CSF_LIBRARY})
|
||||
string (TOLOWER "${CSF_LIBRARY}" CSF_LIBRARY)
|
||||
string (REPLACE "+" "[+]" CSF_LIBRARY "${CSF_LIBRARY}")
|
||||
string (REPLACE "." "" CSF_LIBRARY "${CSF_LIBRARY}")
|
||||
get_cmake_property(ALL_CACHE_VARIABLES CACHE_VARIABLES)
|
||||
string (REGEX MATCHALL "(^|;)3RDPARTY_[^;]+_LIBRARY[^;]*" ALL_CACHE_VARIABLES "${ALL_CACHE_VARIABLES}")
|
||||
set (DEBUG_DIR "")
|
||||
set (RELEASE_DIR "")
|
||||
foreach (CACHE_VARIABLE ${ALL_CACHE_VARIABLES})
|
||||
set (CURRENT_CACHE_LIBRARY ${${CACHE_VARIABLE}})
|
||||
string (TOLOWER "${CACHE_VARIABLE}" CACHE_VARIABLE)
|
||||
if (NOT EXISTS "${CURRENT_CACHE_LIBRARY}" OR IS_DIRECTORY "${CURRENT_CACHE_LIBRARY}")
|
||||
continue()
|
||||
endif()
|
||||
string (REGEX MATCH "_${CSF_LIBRARY}$" IS_ENDING "${CACHE_VARIABLE}")
|
||||
string (REGEX MATCH "^([a-z]+)" CSF_WO_VERSION "${CSF_LIBRARY}")
|
||||
string (REGEX MATCH "_${CSF_WO_VERSION}$" IS_ENDING_WO_VERSION "${CACHE_VARIABLE}")
|
||||
|
||||
if ("3rdparty_${CSF_LIBRARY}_library" STREQUAL "${CACHE_VARIABLE}" OR
|
||||
"3rdparty_${CSF_WO_VERSION}_library" STREQUAL "${CACHE_VARIABLE}" OR
|
||||
NOT "x${IS_ENDING}" STREQUAL "x" OR
|
||||
NOT "x${IS_ENDING_WO_VERSION}" STREQUAL "x")
|
||||
get_filename_component(LIBRARY_NAME "${CURRENT_CACHE_LIBRARY}" NAME)
|
||||
list (APPEND FOUND_LIBS "${LIBRARY_NAME}")
|
||||
get_filename_component(LIBRARY_DIR "${CURRENT_CACHE_LIBRARY}" DIRECTORY)
|
||||
set (RELEASE_DIR "${LIBRARY_DIR}")
|
||||
set (LIBRARY_FROM_CACHE 1)
|
||||
elseif ("3rdparty_${CSF_LIBRARY}_library_debug" STREQUAL "${CACHE_VARIABLE}" OR
|
||||
"3rdparty_${CSF_LIBRARY}_debug_library" STREQUAL "${CACHE_VARIABLE}")
|
||||
get_filename_component(LIBRARY_NAME "${CURRENT_CACHE_LIBRARY}" NAME)
|
||||
list (APPEND FOUND_LIBS "${LIBRARY_NAME}")
|
||||
get_filename_component(LIBRARY_DIR "${CURRENT_CACHE_LIBRARY}" DIRECTORY)
|
||||
set (DEBUG_DIR "${LIBRARY_DIR}")
|
||||
set (LIBRARY_FROM_CACHE 1)
|
||||
endif()
|
||||
|
||||
if (DEBUG_DIR AND RELEASE_DIR)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
if (NOT ${LIBRARY_FROM_CACHE} AND NOT "${CSF_LIBRARY}" STREQUAL "")
|
||||
list (APPEND FOUND_LIBS "${CSF_LIBRARY_ORIGINAL}")
|
||||
continue()
|
||||
endif()
|
||||
if (DEBUG_DIR AND RELEASE_DIR)
|
||||
list (APPEND FOUND_DEBUG_DIRS "${DEBUG_DIR}")
|
||||
list (APPEND FOUND_RELEASE_DIRS "${RELEASE_DIR}")
|
||||
elseif (DEBUG_DIR)
|
||||
list (APPEND FOUND_DEBUG_DIRS "${DEBUG_DIR}")
|
||||
list (APPEND FOUND_RELEASE_DIRS "${DEBUG_DIR}")
|
||||
message (WARNING "Debug directory found but no release directory found. Using debug directory for both configurations.")
|
||||
elseif (RELEASE_DIR)
|
||||
list (APPEND FOUND_DEBUG_DIRS "${RELEASE_DIR}")
|
||||
list (APPEND FOUND_RELEASE_DIRS "${RELEASE_DIR}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Cache the result
|
||||
set_property(GLOBAL PROPERTY "CACHED_LIBS_${CACHE_KEY}" "${FOUND_LIBS}")
|
||||
set_property(GLOBAL PROPERTY "CACHED_DEBUG_DIRS_${CACHE_KEY}" "${FOUND_DEBUG_DIRS}")
|
||||
set_property(GLOBAL PROPERTY "CACHED_RELEASE_DIRS_${CACHE_KEY}" "${FOUND_RELEASE_DIRS}")
|
||||
endif()
|
||||
|
||||
# Append found values to the external variable
|
||||
list(APPEND ${LIST_NAME} ${FOUND_LIBS})
|
||||
set(${LIST_NAME} "${${LIST_NAME}}" PARENT_SCOPE)
|
||||
|
||||
# Handle library directories for different build configurations
|
||||
list (REMOVE_DUPLICATES FOUND_RELEASE_DIRS)
|
||||
list (REMOVE_DUPLICATES FOUND_DEBUG_DIRS)
|
||||
|
||||
foreach (RELEASE_DIR ${FOUND_RELEASE_DIRS})
|
||||
get_filename_component(RELEASE_DIR_ABS "${RELEASE_DIR}" ABSOLUTE)
|
||||
target_link_directories(${TARGET_NAME} PUBLIC "$<$<CONFIG:RELEASE>:${RELEASE_DIR_ABS}>;$<$<CONFIG:RELWITHDEBINFO>:${RELEASE_DIR_ABS}>")
|
||||
endforeach()
|
||||
|
||||
foreach (DEBUG_DIR ${FOUND_DEBUG_DIRS})
|
||||
get_filename_component(DEBUG_DIR_ABS "${DEBUG_DIR}" ABSOLUTE)
|
||||
target_link_directories(${TARGET_NAME} PUBLIC "$<$<CONFIG:DEBUG>:${DEBUG_DIR_ABS}>")
|
||||
endforeach()
|
||||
endfunction()
|
||||
macro(OCCT_ADD_VCPKG_FEATURE THE_FEATURE)
|
||||
if (BUILD_USE_VCPKG)
|
||||
list(APPEND VCPKG_MANIFEST_FEATURES "${THE_FEATURE}" PARENT_SCOPE)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_UNSET_VCPKG_FEATURE THE_FEATURE)
|
||||
if (BUILD_USE_VCPKG)
|
||||
list (REMOVE_ITEM VCPKG_MANIFEST_FEATURES "${THE_FEATURE}" PARENT_SCOPE)
|
||||
endif()
|
||||
endmacro()
|
||||
|
@@ -28,6 +28,9 @@ if ("${USED_PACKAGES}" STREQUAL "")
|
||||
set (USED_PACKAGES ${PROJECT_NAME})
|
||||
endif()
|
||||
|
||||
set (PROJECT_LIBRARIES_DEBUG)
|
||||
set (PROJECT_LIBRARIES_RELEASE)
|
||||
|
||||
if (USE_QT)
|
||||
# Qt dependencies
|
||||
OCCT_INCLUDE_CMAKE_FILE (adm/cmake/qt_macro)
|
||||
@@ -56,6 +59,10 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
|
||||
set (OCCT_PACKAGE_NAME "${OCCT_PACKAGE}")
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
list (APPEND PRECOMPILED_DEFS "-D__${OCCT_PACKAGE_NAME}_DLL")
|
||||
endif()
|
||||
|
||||
set (SOURCE_FILES)
|
||||
set (HEADER_FILES)
|
||||
|
||||
@@ -64,7 +71,7 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
|
||||
set (HEADER_FILES_FILTERING ${ALL_FILES})
|
||||
set (SOURCE_FILES_FILTERING ${ALL_FILES})
|
||||
|
||||
list (FILTER HEADER_FILES_FILTERING INCLUDE REGEX ".+[.](h|p|g|lxx)")
|
||||
list (FILTER HEADER_FILES_FILTERING INCLUDE REGEX ".+[.](h|lxx|gxx)")
|
||||
|
||||
if(APPLE)
|
||||
list (FILTER SOURCE_FILES_FILTERING INCLUDE REGEX ".+[.](c|mm)")
|
||||
@@ -199,7 +206,9 @@ set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_D
|
||||
VERSION "${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}")
|
||||
|
||||
set (USED_TOOLKITS_BY_CURRENT_PROJECT)
|
||||
set (USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT)
|
||||
set (USED_EXTERNLIB_AND_TOOLKITS)
|
||||
set (USED_PROJECT_LIBRARIES)
|
||||
|
||||
# SOME EXECUTABLE PROJECTS MAY USE CUSTOM TOOLKITS AND EXTERNAL LIBRARIES
|
||||
if (CUSTOM_EXTERNLIB)
|
||||
@@ -243,9 +252,55 @@ foreach (USED_ITEM ${USED_EXTERNLIB_AND_TOOLKITS})
|
||||
if ("${CURRENT_CSF}" STREQUAL "${CSF_OpenGlesLibs}")
|
||||
add_definitions (-DHAVE_GLES2)
|
||||
endif()
|
||||
PROCESS_CSF_LIBRARIES ("${CURRENT_CSF}" USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT "${PROJECT_NAME}")
|
||||
set (LIBRARY_FROM_CACHE 0)
|
||||
separate_arguments (CURRENT_CSF)
|
||||
foreach (CSF_LIBRARY ${CURRENT_CSF})
|
||||
string (TOLOWER "${CSF_LIBRARY}" CSF_LIBRARY)
|
||||
string (REPLACE "+" "[+]" CSF_LIBRARY "${CSF_LIBRARY}")
|
||||
string (REPLACE "." "" CSF_LIBRARY "${CSF_LIBRARY}")
|
||||
get_cmake_property(ALL_CACHE_VARIABLES CACHE_VARIABLES)
|
||||
string (REGEX MATCHALL "(^|;)3RDPARTY_[^;]+_LIBRARY[^;]*" ALL_CACHE_VARIABLES "${ALL_CACHE_VARIABLES}")
|
||||
foreach (CACHE_VARIABLE ${ALL_CACHE_VARIABLES})
|
||||
set (CURRENT_CACHE_LIBRARY ${${CACHE_VARIABLE}})
|
||||
string (TOLOWER "${CACHE_VARIABLE}" CACHE_VARIABLE)
|
||||
if (EXISTS "${CURRENT_CACHE_LIBRARY}" AND NOT IS_DIRECTORY "${CURRENT_CACHE_LIBRARY}")
|
||||
string (REGEX MATCH "_${CSF_LIBRARY}(_debug|_release)*$" IS_ENDING "${CACHE_VARIABLE}")
|
||||
string (REGEX MATCH "^([a-z]+)" CSF_WO_VERSION "${CSF_LIBRARY}")
|
||||
string (REGEX MATCH "_${CSF_WO_VERSION}(_debug|_release)*$" IS_ENDING_WO_VERSION "${CACHE_VARIABLE}")
|
||||
if ("3rdparty_${CSF_LIBRARY}_library" STREQUAL "${CACHE_VARIABLE}" OR
|
||||
"3rdparty_${CSF_WO_VERSION}_library" STREQUAL "${CACHE_VARIABLE}" OR
|
||||
NOT "x${IS_ENDING}" STREQUAL "x" OR
|
||||
NOT "x${IS_ENDING_WO_VERSION}" STREQUAL "x")
|
||||
string (REGEX MATCH "_debug$" IS_DEBUG "${CACHE_VARIABLE}")
|
||||
list (APPEND USED_PROJECT_LIBRARIES "${CSF_LIBRARY}")
|
||||
if ("x${IS_DEBUG}" STREQUAL "x")
|
||||
list (APPEND PROJECT_LIBRARIES_RELEASE "${CURRENT_CACHE_LIBRARY}")
|
||||
set (USED_PROJECT_LIBRARY_${CSF_LIBRARY}_RELEASE "${CURRENT_CACHE_LIBRARY}")
|
||||
else()
|
||||
list (APPEND PROJECT_LIBRARIES_DEBUG "${CURRENT_CACHE_LIBRARY}")
|
||||
set (USED_PROJECT_LIBRARY_${CSF_LIBRARY}_DEBUG "${CURRENT_CACHE_LIBRARY}")
|
||||
endif()
|
||||
set (LIBRARY_FROM_CACHE 1)
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
if (NOT ${LIBRARY_FROM_CACHE} AND NOT "${CURRENT_CSF}" STREQUAL "")
|
||||
# prepare a list from a string with whitespaces
|
||||
separate_arguments (CURRENT_CSF)
|
||||
list (APPEND USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT ${CURRENT_CSF})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
foreach (USED_ITEM ${USED_PROJECT_LIBRARIES})
|
||||
if (USED_PROJECT_LIBRARY_${USED_ITEM}_RELEASE AND NOT USED_PROJECT_LIBRARY_${USED_ITEM}_DEBUG)
|
||||
list (APPEND PROJECT_LIBRARIES_DEBUG "${USED_PROJECT_LIBRARY_${USED_ITEM}_RELEASE}")
|
||||
endif()
|
||||
unset (USED_PROJECT_LIBRARY_${CSF_LIBRARY}_RELEASE)
|
||||
unset (USED_PROJECT_LIBRARY_${CSF_LIBRARY}_DEBUG)
|
||||
endforeach()
|
||||
unset (USED_PROJECT_LIBRARIES)
|
||||
|
||||
if (APPLE)
|
||||
list (FIND USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT X11 IS_X11_FOUND)
|
||||
if (NOT ${IS_X11_FOUND} EQUAL -1)
|
||||
@@ -288,14 +343,12 @@ if (BUILD_SHARED_LIBS OR EXECUTABLE_PROJECT)
|
||||
endif()
|
||||
target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT})
|
||||
|
||||
if (USE_QT)
|
||||
foreach (PROJECT_LIBRARY_DEBUG ${PROJECT_LIBRARIES_DEBUG})
|
||||
target_link_libraries (${PROJECT_NAME} debug ${PROJECT_LIBRARY_DEBUG})
|
||||
endforeach()
|
||||
foreach (PROJECT_LIBRARY_RELEASE ${PROJECT_LIBRARIES_RELEASE})
|
||||
target_link_libraries (${PROJECT_NAME} optimized ${PROJECT_LIBRARY_RELEASE})
|
||||
endforeach()
|
||||
endif()
|
||||
foreach (PROJECT_LIBRARY_DEBUG ${PROJECT_LIBRARIES_DEBUG})
|
||||
target_link_libraries (${PROJECT_NAME} debug ${PROJECT_LIBRARY_DEBUG})
|
||||
endforeach()
|
||||
foreach (PROJECT_LIBRARY_RELEASE ${PROJECT_LIBRARIES_RELEASE})
|
||||
target_link_libraries (${PROJECT_NAME} optimized ${PROJECT_LIBRARY_RELEASE})
|
||||
endforeach()
|
||||
|
||||
# suppress deprecation warnings inside OCCT itself for old gcc versions with unavailable Standard_DISABLE_DEPRECATION_WARNINGS
|
||||
if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
@@ -2,17 +2,4 @@
|
||||
# OpenVR is an API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting.
|
||||
# https://github.com/ValveSoftware/openvr
|
||||
|
||||
# vcpkg processing
|
||||
if (BUILD_USE_VCPKG)
|
||||
set (USED_3RDPARTY_OPENVR_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin")
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .so .dylib .a)
|
||||
find_library (FIND_OPENVR_LIB NAMES "${CSF_OpenVR}"
|
||||
PATHS "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib"
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
set (CSF_OpenVR "${FIND_OPENVR_LIB}")
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/")
|
||||
return()
|
||||
endif()
|
||||
|
||||
THIRDPARTY_PRODUCT("OPENVR" "openvr.h" "CSF_OpenVR" "")
|
||||
|
@@ -1,13 +1,5 @@
|
||||
# RapidJSON
|
||||
|
||||
# vcpkg processing
|
||||
if (BUILD_USE_VCPKG)
|
||||
find_package(RapidJSON CONFIG REQUIRED)
|
||||
set(CSF_RapidJSON rapidjson)
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/rapidjson")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED INSTALL_RAPIDJSON)
|
||||
set (INSTALL_RAPIDJSON OFF CACHE BOOL "${INSTALL_RAPIDJSON_DESCR}")
|
||||
endif()
|
||||
|
@@ -1,18 +1,5 @@
|
||||
# tbb
|
||||
|
||||
# vcpkg processing
|
||||
if (BUILD_USE_VCPKG)
|
||||
find_package(TBB CONFIG REQUIRED)
|
||||
set(CSF_TBB TBB::tbb TBB::tbbmalloc)
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_TBB_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin")
|
||||
else()
|
||||
set (USED_3RDPARTY_TBB_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib")
|
||||
endif()
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/tbb")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if (MSVC AND BUILD_SHARED_LIBS)
|
||||
add_definitions (-D__TBB_NO_IMPLICIT_LINKAGE)
|
||||
add_definitions (-D__TBBMALLOC_NO_IMPLICIT_LINKAGE)
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# tcl
|
||||
|
||||
if (NOT DEFINED INSTALL_TCL AND NOT BUILD_USE_VCPKG)
|
||||
if (NOT DEFINED INSTALL_TCL)
|
||||
set (INSTALL_TCL OFF CACHE BOOL "${INSTALL_TCL_DESCR}")
|
||||
endif()
|
||||
|
||||
@@ -14,10 +14,6 @@ if (NOT DEFINED 3RDPARTY_TCL_INCLUDE_DIR)
|
||||
set (3RDPARTY_TCL_INCLUDE_DIR "" CACHE FILEPATH "The directory containing headers of tcl")
|
||||
endif()
|
||||
|
||||
if (BUILD_USE_VCPKG)
|
||||
set (3RDPARTY_TCL_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" CACHE PATH "The directory containing tcl" FORCE)
|
||||
set (3RDPARTY_TCL_INCLUDE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" CACHE FILEPATH "The directory containing headers of tcl" FORCE)
|
||||
endif()
|
||||
|
||||
# tcl library file (with absolute path)
|
||||
if (NOT DEFINED 3RDPARTY_TCL_LIBRARY OR NOT 3RDPARTY_TCL_LIBRARY_DIR)
|
||||
|
@@ -18,12 +18,6 @@ if (NOT DEFINED 3RDPARTY_TK_INCLUDE_DIR)
|
||||
set (3RDPARTY_TK_INCLUDE_DIR "" CACHE FILEPATH "The directory containing headers of tk")
|
||||
endif()
|
||||
|
||||
# if (BUILD_USE_VCPKG)
|
||||
# set (3RDPARTY_TK_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" CACHE PATH "The directory containing tk" FORCE)
|
||||
# set (3RDPARTY_TCLTK_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" CACHE PATH "The directory containing tcltk" FORCE)
|
||||
# set (3RDPARTY_TK_INCLUDE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" CACHE FILEPATH "The directory containing headers of tk" FORCE)
|
||||
# endif()
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# tk library file (with absolute path)
|
||||
if (NOT DEFINED 3RDPARTY_TK_LIBRARY OR NOT 3RDPARTY_TK_LIBRARY_DIR)
|
||||
@@ -196,8 +190,7 @@ if (BUILD_SHARED_LIBS)
|
||||
if (3RDPARTY_TK_LIBRARY AND EXISTS "${3RDPARTY_TK_LIBRARY}")
|
||||
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_TK_LIBRARY_DIR}")
|
||||
else()
|
||||
set (USE_TK OFF)
|
||||
message(STATUS "Warning: TK library is not found. TK will be disabled.")
|
||||
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_TK_LIBRARY_DIR)
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
|
@@ -1,22 +0,0 @@
|
||||
#======================================================================
|
||||
#
|
||||
# Purpose: Defines macros identifying current version of Open CASCADE
|
||||
#
|
||||
# OCC_VERSION_MAJOR : (integer) number identifying major version
|
||||
# OCC_VERSION_MINOR : (integer) number identifying minor version
|
||||
# OCC_VERSION_MAINTENANCE : (integer) number identifying maintenance version
|
||||
# OCC_VERSION_DEVELOPMENT : (string) if defined, indicates development or modified version
|
||||
# in case of release, remove the value
|
||||
#
|
||||
# Sample values of OCC_VERSION_DEVELOPMENT:
|
||||
# - "dev" for development version between releases
|
||||
# - "beta..." or "rc..." for beta releases or release candidates
|
||||
# - "project..." for version containing project-specific fixes
|
||||
#
|
||||
# For development version git commit hash can be added to the version string
|
||||
#======================================================================
|
||||
|
||||
set (OCC_VERSION_MAJOR 7 )
|
||||
set (OCC_VERSION_MINOR 8 )
|
||||
set (OCC_VERSION_MAINTENANCE 2 )
|
||||
set (OCC_VERSION_DEVELOPMENT "dev" )
|
@@ -1,19 +1,5 @@
|
||||
# vtk
|
||||
|
||||
# vcpkg processing
|
||||
if (BUILD_USE_VCPKG)
|
||||
find_package(VTK REQUIRED)
|
||||
set(CSF_VTK VTK::CommonCore)
|
||||
set(IS_VTK_9XX 1)
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_VTK_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin")
|
||||
else()
|
||||
set (USED_3RDPARTY_VTK_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib")
|
||||
endif()
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED INSTALL_VTK)
|
||||
set (INSTALL_VTK OFF CACHE BOOL "${INSTALL_VTK_DESCR}")
|
||||
endif()
|
||||
|
@@ -142,20 +142,17 @@ proc OCCDoc_GetRelPath {thePathFrom thePathTo} {
|
||||
return $thePathTo
|
||||
}
|
||||
|
||||
# Returns OCCT version string from version.cmake (if available)
|
||||
# Returns OCCT version string from file Standard_Version.hxx (if available)
|
||||
proc OCCDoc_DetectCasVersion {} {
|
||||
set occt_ver "7.8.0"
|
||||
set occt_ver 6.7.0
|
||||
set occt_ver_add ""
|
||||
set filename "[OCCDoc_GetSourceDir]/../adm/cmake/version.cmake"
|
||||
set filename "[OCCDoc_GetSourceDir]/Standard/Standard_Version.hxx"
|
||||
if { [file exists $filename] } {
|
||||
set fh [open $filename "r"]
|
||||
set fh_loaded [read $fh]
|
||||
close $fh
|
||||
regexp {set\s+OCC_VERSION_MAJOR\s+([0-9]+)} $fh_loaded dummy major
|
||||
regexp {set\s+OCC_VERSION_MINOR\s+([0-9]+)} $fh_loaded dummy minor
|
||||
regexp {set\s+OCC_VERSION_MAINTENANCE\s+([0-9]+)} $fh_loaded dummy maint
|
||||
regexp {set\s+OCC_VERSION_DEVELOPMENT\s+\"([^\"]+)\"} $fh_loaded dummy occt_ver_add
|
||||
set occt_ver "$major.$minor.$maint"
|
||||
regexp {[^/]\s*#\s*define\s+OCC_VERSION_COMPLETE\s+\"([^\s]*)\"} $fh_loaded dummy occt_ver
|
||||
regexp {[^/]\s*#\s*define\s+OCC_VERSION_DEVELOPMENT\s+\"([^\s]*)\"} $fh_loaded dummy occt_ver_add
|
||||
if { "$occt_ver_add" != "" } { set occt_ver ${occt_ver}.$occt_ver_add }
|
||||
}
|
||||
return $occt_ver
|
||||
|
5
adm/qmake/.gitignore
vendored
Normal file
5
adm/qmake/.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
/*/*.pro
|
||||
/*/*/*.pro
|
||||
*.pro.user
|
||||
custom.pri
|
||||
custom.auto.pri
|
165
adm/qmake/OccCppConfig.pri
Normal file
165
adm/qmake/OccCppConfig.pri
Normal file
@@ -0,0 +1,165 @@
|
||||
# This is project defines C++ compilation rules for building an OCCT Toolkit.
|
||||
|
||||
exists(custom.auto.pri) { include(custom.auto.pri) }
|
||||
exists(custom.pri) { include(custom.pri) }
|
||||
|
||||
# Disable some dummy Qt defaults
|
||||
QT -= core gui
|
||||
CONFIG -= qt app_bundle
|
||||
CONFIG -= qml_debug
|
||||
CONFIG -= debug_and_release
|
||||
|
||||
OccGitRoot = $$_PRO_FILE_PWD_/../../../..
|
||||
|
||||
# Define compilation flags
|
||||
CONFIG += warn_on
|
||||
QMAKE_CFLAGS_WARN_ON = -Wall -Wextra
|
||||
QMAKE_CXXFLAGS_WARN_ON = -Wall -Wextra
|
||||
win32 {
|
||||
QMAKE_CFLAGS_WARN_ON = -W4
|
||||
QMAKE_CXXFLAGS_WARN_ON = -W4
|
||||
QMAKE_CXXFLAGS_EXCEPTIONS_ON = /EHa
|
||||
QMAKE_CXXFLAGS_STL_ON = /EHa
|
||||
|
||||
QMAKE_CXXFLAGS += -fp:precise
|
||||
#QMAKE_CXXFLAGS -= -Zc:throwingNew
|
||||
#QMAKE_CXXFLAGS -= -Zc:rvalueCast
|
||||
|
||||
QMAKE_LFLAGS += -INCREMENTAL:NO
|
||||
|
||||
CONFIG(debug, debug|release) {
|
||||
QMAKE_CXXFLAGS += -Od
|
||||
QMAKE_CXXFLAGS += -Ob1
|
||||
}
|
||||
|
||||
DEFINES -= WIN32
|
||||
DEFINES -= WIN64
|
||||
DEFINES += _CRT_SECURE_NO_WARNINGS
|
||||
DEFINES += _CRT_NONSTDC_NO_DEPRECATE
|
||||
DEFINES += _SCL_SECURE_NO_WARNINGS
|
||||
} else {
|
||||
CONFIG += c++11
|
||||
clang {
|
||||
QMAKE_CFLAGS_WARN_ON += -Wshorten-64-to-32
|
||||
QMAKE_CXXFLAGS_WARN_ON += -Wshorten-64-to-32
|
||||
}
|
||||
QMAKE_CFLAGS += -fexceptions
|
||||
QMAKE_CXXFLAGS += -fexceptions
|
||||
QMAKE_CXXFLAGS += -fvisibility=default
|
||||
DEFINES += OCC_CONVERT_SIGNALS
|
||||
mac {
|
||||
iphoneos {
|
||||
QMAKE_IOS_DEPLOYMENT_TARGET = 8.0
|
||||
} else {
|
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14
|
||||
}
|
||||
} else:gcc {
|
||||
# ask linker to report missing library dependencies
|
||||
QMAKE_LFLAGS += -Wl,-z,defs
|
||||
}
|
||||
}
|
||||
!CONFIG(debug, debug|release) {
|
||||
# disable exceptions in Release builds
|
||||
DEFINES += No_Exception
|
||||
HAVE_RelWithDebInfo {
|
||||
win32 {
|
||||
CONFIG += force_debug_info
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Define output folder depending on compiler name
|
||||
MY_BITNESS = 32
|
||||
|
||||
equals(QMAKE_TARGET.arch, x86_64) | equals(QMAKE_HOST.arch, x86_64) { MY_BITNESS = 64 }
|
||||
equals(ANDROID_TARGET_ARCH, arm64-v8a) { MY_BITNESS = 64 }
|
||||
has64Target = $$find(QMAKE_TARGET.arch, "x64")
|
||||
count(has64Target, 1) { MY_BITNESS = 64 }
|
||||
|
||||
MY_PLATFORM = platform
|
||||
CONFIG(iphonesimulator, iphoneos|iphonesimulator) { MY_PLATFORM = iphonesimulator
|
||||
} else:CONFIG(iphoneos, iphoneos|iphonesimulator) { MY_PLATFORM = iphoneos
|
||||
} else:android { MY_PLATFORM = android-$$ANDROID_TARGET_ARCH
|
||||
} else:win32 { MY_PLATFORM = win$$MY_BITNESS
|
||||
} else:mac { MY_PLATFORM = mac
|
||||
} else:linux { MY_PLATFORM = lin
|
||||
} else:unix { MY_PLATFORM = unix
|
||||
} else { warning (Unknown platform. "$$MY_PLATFORM" is used) }
|
||||
|
||||
MY_COMPILER = compiler
|
||||
MY_VC_VER = 0
|
||||
android-g++ {
|
||||
MY_COMPILER = gcc
|
||||
} else:clang {
|
||||
MY_COMPILER = clang
|
||||
} else:gcc {
|
||||
MY_COMPILER = gcc
|
||||
} else:win32-msvc2010 {
|
||||
MY_COMPILER = vc10
|
||||
MY_VC_VER = 10
|
||||
} else:win32-msvc2012 {
|
||||
MY_COMPILER = vc11
|
||||
MY_VC_VER = 11
|
||||
} else:win32-msvc2013 {
|
||||
MY_COMPILER = vc12
|
||||
MY_VC_VER = 12
|
||||
} else:win32-msvc2015 {
|
||||
MY_COMPILER = vc14
|
||||
MY_VC_VER = 14
|
||||
} else:win32-msvc2017 {
|
||||
MY_COMPILER = vc14
|
||||
MY_VC_VER = 14
|
||||
} else:win32-msvc {
|
||||
MY_COMPILER = vc14
|
||||
MY_VC_VER = 14
|
||||
aMsvcVer = $$(VisualStudioVersion)
|
||||
equals(aMsvcVer, 14.0){
|
||||
# VS2015, vc140
|
||||
} else:equals(aMsvcVer, 15.0){
|
||||
# VS2015, vc141
|
||||
} else:equals(aMsvcVer, 16.0){
|
||||
# VS2019, vc142
|
||||
} else:equals(aMsvcVer, 17.0){
|
||||
# VS2022, vc143
|
||||
} else {
|
||||
warning (Unknown msvc version. "$$MY_COMPILER" is used)
|
||||
}
|
||||
} else {
|
||||
warning (Unknown compiler. "$$MY_COMPILER" is used)
|
||||
}
|
||||
MY_PLATFORM_AND_COMPILER = $$MY_PLATFORM/$$MY_COMPILER
|
||||
#warning (The platform is "$$MY_PLATFORM"; bitness is "$$MY_BITNESS"; compiler is "$$MY_COMPILER")
|
||||
|
||||
CONFIG(debug, debug|release) { MY_BUILDTYPE = d }
|
||||
|
||||
DESTDIR = $$OccGitRoot/$${MY_PLATFORM_AND_COMPILER}/lib$${MY_BUILDTYPE}
|
||||
win32 {
|
||||
DESTDIR = $$OccGitRoot/win$${MY_BITNESS}/vc$${MY_VC_VER}/bin$${MY_BUILDTYPE}
|
||||
aLibDest = $$DESTDIR/../lib$${MY_BUILDTYPE}
|
||||
#DLLDESTDIR = $$DESTDIR/../bin$${MY_BUILDTYPE}
|
||||
|
||||
# dummy target creating lib/libd folder
|
||||
occtkgen_libfolder.input = $$_PRO_FILE_PWD_/../../OcctDummy.in
|
||||
occtkgen_libfolder.output = $$aLibDest/dummy.tmp
|
||||
occtkgen_libfolder.config = verbatim
|
||||
QMAKE_SUBSTITUTES += occtkgen_libfolder
|
||||
|
||||
LIBS += -L$$aLibDest
|
||||
equals(TEMPLATE, lib) {
|
||||
QMAKE_CLEAN += $$DESTDIR/$${TARGET}.dll
|
||||
QMAKE_CLEAN += $$aLibDest/$${TARGET}.lib
|
||||
QMAKE_CLEAN += $$aLibDest/$${TARGET}.exp
|
||||
} else {
|
||||
QMAKE_CLEAN += $$DESTDIR/$${TARGET}.exe
|
||||
}
|
||||
QMAKE_CLEAN += $$DESTDIR/$${TARGET}.pdb
|
||||
QMAKE_LFLAGS += -PDB:"$$DESTDIR/$${TARGET}.pdb"
|
||||
QMAKE_LFLAGS += -IMPLIB:"$$aLibDest/$${TARGET}.lib"
|
||||
} else {
|
||||
LIBS += -L$$DESTDIR
|
||||
equals(TEMPLATE, app) {
|
||||
DESTDIR = $$OccGitRoot/$${MY_PLATFORM_AND_COMPILER}/bin$${MY_BUILDTYPE}
|
||||
}
|
||||
}
|
||||
|
||||
OBJECTS_DIR = $$DESTDIR/../obj$${MY_BUILDTYPE}/$${TARGET}
|
42
adm/qmake/OccModule.pri
Normal file
42
adm/qmake/OccModule.pri
Normal file
@@ -0,0 +1,42 @@
|
||||
# This is a project template file defining an OCCT Module.
|
||||
# This project should be included with predefined OCC_MODULE_NAME variable.
|
||||
TEMPLATE = subdirs
|
||||
exists(custom.auto.pri) { include(custom.auto.pri) }
|
||||
exists(custom.pri) { include(custom.pri) }
|
||||
|
||||
# Iterate over Toolkits within current Module and generate sub-project per Toolkit
|
||||
aModuleList = $$cat(../MODULES, lines)
|
||||
for (aModuleIter, aModuleList) {
|
||||
#aTkList = $$list($$aModuleIter) - this doesn't work, qmake bug?
|
||||
aModule = $$first($$list($$aModuleIter))
|
||||
equals (aModule, $$OCC_MODULE_NAME) {
|
||||
for (aToolKit, $$list($$aModuleIter)) {
|
||||
toSkipToolkit = 0
|
||||
equals (aToolKit, $$OCC_MODULE_NAME) { toSkipToolkit = 1 }
|
||||
!HAVE_VTK:equals (aToolKit, "TKIVtk") { toSkipToolkit = 1 }
|
||||
!HAVE_VTK:equals (aToolKit, "TKIVtkDraw") { toSkipToolkit = 1 }
|
||||
#!HAVE_OPENGL: equals (aToolKit, "TKOpenGl") { toSkipToolkit = 1 }
|
||||
#!HAVE_OPENGL: equals (aToolKit, "TKOpenGlTest") { toSkipToolkit = 1 }
|
||||
!HAVE_GLES2: equals (aToolKit, "TKOpenGles") { toSkipToolkit = 1 }
|
||||
!HAVE_GLES2: equals (aToolKit, "TKOpenGlesTest") { toSkipToolkit = 1 }
|
||||
!win32: equals (aToolKit, "TKD3DHost") { toSkipToolkit = 1 }
|
||||
!win32: equals (aToolKit, "TKD3DHostTest") { toSkipToolkit = 1 }
|
||||
equals (toSkipToolkit, 0) {
|
||||
|
||||
#warning(aToolKit($$OCC_MODULE_NAME)=$$aToolKit)
|
||||
eval(occtkgen_$${aToolKit}.input = $$_PRO_FILE_PWD_/../OccToolkit.pro.in)
|
||||
eval(occtkgen_$${aToolKit}.output = $$_PRO_FILE_PWD_/$${aToolKit}/$${aToolKit}.pro)
|
||||
eval(occtkgen_$${aToolKit}.config = verbatim)
|
||||
eval(QMAKE_SUBSTITUTES += occtkgen_$${aToolKit})
|
||||
SUBDIRS += $${aToolKit}
|
||||
|
||||
aModExtList = $$cat(../../src/$${aToolKit}/EXTERNLIB, lines)
|
||||
aTkDepends = $${aToolKit}.depends
|
||||
for (aModExtIter, aModExtList) {
|
||||
contains ($$list($$aModuleIter), $$aModExtIter) { eval ($${aTkDepends} += $$aModExtIter) }
|
||||
}
|
||||
#warning($$aToolKit depends on: $$reverse($${aTkDepends}))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
2
adm/qmake/OccModule.pro.in
Normal file
2
adm/qmake/OccModule.pro.in
Normal file
@@ -0,0 +1,2 @@
|
||||
OCC_MODULE_NAME = \$\$TARGET
|
||||
include(../OccModule.pri)
|
166
adm/qmake/OccToolkit.pri
Normal file
166
adm/qmake/OccToolkit.pri
Normal file
@@ -0,0 +1,166 @@
|
||||
# This is a project template file defining an OCCT Toolkit.
|
||||
# This project should be included with predefined OCC_TOOLKIT_NAME variable.
|
||||
|
||||
TEMPLATE = lib
|
||||
!exists(../../src/$$OCC_TOOLKIT_NAME/PACKAGES) {
|
||||
TEMPLATE = app
|
||||
CONFIG += console
|
||||
}
|
||||
win32 {
|
||||
# do not append version to DLL name
|
||||
CONFIG += skip_target_version_ext
|
||||
}
|
||||
|
||||
include(OccCppConfig.pri)
|
||||
|
||||
aSrcRoot = $$OccGitRoot/src
|
||||
aHxxRoot = $$OccGitRoot/inc
|
||||
INCLUDEPATH += $$aHxxRoot
|
||||
|
||||
# CSF variables
|
||||
HAVE_FREETYPE { CSF_FREETYPE = -lfreetype }
|
||||
CSF_TclLibs = -ltcl8.6
|
||||
CSF_TclTkLibs = -ltk8.6
|
||||
HAVE_FREEIMAGE { CSF_FreeImagePlus = -lfreeimage } else:win32 { CSF_FreeImagePlus = -lwindowscodecs -lole32 }
|
||||
HAVE_FFMPEG { CSF_FFmpeg = -lavcodec -lavformat -lswscale -lavutil }
|
||||
HAVE_TBB { CSF_TBB = -ltbb -ltbbmalloc }
|
||||
HAVE_ZLIB { CSF_ZLIB = -lzlib }
|
||||
HAVE_LIBLZMA { CSF_LIBLZMA = -lliblzma }
|
||||
HAVE_DRACO { CSF_Draco = -ldraco }
|
||||
win32 {
|
||||
CSF_kernel32 = -lkernel32
|
||||
CSF_advapi32 = -ladvapi32
|
||||
CSF_gdi32 = -lgdi32
|
||||
CSF_user32 = -luser32 -lcomdlg32
|
||||
CSF_shell32 = -lShell32
|
||||
CSF_opengl32 = -lopengl32
|
||||
CSF_wsock32 = -lwsock32
|
||||
CSF_netapi32 = -lnetapi32
|
||||
CSF_OpenGlLibs = -lopengl32
|
||||
CSF_OpenGlesLibs = -llibEGL -llibGLESv2
|
||||
CSF_psapi = -lPsapi
|
||||
CSF_winmm = -lwinmm
|
||||
CSF_d3d9 = -ld3d9
|
||||
CSF_TclLibs = -ltcl86
|
||||
CSF_TclTkLibs = -ltk86
|
||||
CSF_TBB =
|
||||
} else:mac {
|
||||
CSF_dl = -ldl
|
||||
CSF_objc = -lobjc
|
||||
CSF_OpenGlLibs = -framework OpenGL
|
||||
CSF_OpenGlesLibs = -framework OpenGLES
|
||||
iphoneos {
|
||||
CSF_Appkit = -framework UIKit
|
||||
} else {
|
||||
CSF_Appkit = -framework AppKit
|
||||
}
|
||||
CSF_IOKit = -framework IOKit
|
||||
CSF_TclLibs = -framework Tcl
|
||||
CSF_TclTkLibs = -framework Tk
|
||||
} else {
|
||||
CSF_dl = -ldl
|
||||
CSF_ThreadLibs = -lpthread -lrt
|
||||
CSF_OpenGlesLibs = -lEGL -lGLESv2
|
||||
CSF_TclTkLibs = -ltk8.6
|
||||
HAVE_XLIB {
|
||||
CSF_OpenGlLibs = -lGL
|
||||
CSF_XwLibs = -lX11
|
||||
} else {
|
||||
CSF_OpenGlLibs = -lGL -lEGL
|
||||
}
|
||||
HAVE_FREETYPE { CSF_fontconfig = -lfontconfig }
|
||||
}
|
||||
|
||||
for (aCfgIter, CONFIG) {
|
||||
aRes = $$find(aCfgIter, "^HAVE_")
|
||||
!equals(aCfgIter, "HAVE_GLES2") {
|
||||
count(aRes, 1) {
|
||||
DEFINES += $$aCfgIter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Define the list of standard OCCT file extensions
|
||||
aHxxRegex = ^.*\.(hxx|h|lxx|gxx)$
|
||||
aPxxRegex = ^.*\.(pxx)$
|
||||
aCxxRegex = ^.*\.(cxx|cpp|c)$
|
||||
mac { aCxxRegex = ^.*\.(cxx|cpp|c|m|mm)$ }
|
||||
|
||||
# Auxiliary function for probing file extension
|
||||
defineTest (occCheckExtension) {
|
||||
aProbe = $$find(1, "$$2")
|
||||
count(aProbe, 1) { return(true) } else { return(false) }
|
||||
}
|
||||
|
||||
# Auxiliary function for probing compilable files
|
||||
defineTest (occIsCxxFile) { occCheckExtension ($$1, $$aCxxRegex) { return(true) } else { return(false) } }
|
||||
|
||||
# Auxiliary function for probing header files
|
||||
defineTest (occIsHxxFile) { occCheckExtension ($$1, $$aHxxRegex) { return(true) } else { return(false) } }
|
||||
|
||||
aTkFiles = $$cat($$aSrcRoot/$$OCC_TOOLKIT_NAME/FILES, lines)
|
||||
aTkFiles += CMakeLists.txt
|
||||
aPackages = $$cat($$aSrcRoot/$$OCC_TOOLKIT_NAME/PACKAGES, lines)
|
||||
anExternLibs = $$cat($$aSrcRoot/$$OCC_TOOLKIT_NAME/EXTERNLIB, lines)
|
||||
|
||||
for (aTkFileIter, aTkFiles) { OTHER_FILES += $$aSrcRoot/$$OCC_TOOLKIT_NAME/$$aTkFileIter }
|
||||
for (anExternLib, anExternLibs) {
|
||||
hasCsf = $$find(anExternLib, CSF_)
|
||||
count(hasCsf, 1) {
|
||||
aList = $$split($$anExternLib, "\n")
|
||||
LIBS += $$aList
|
||||
equals(anExternLib, "CSF_OpenGlLibs") {
|
||||
DEFINES += "HAVE_OPENGL"
|
||||
}
|
||||
equals(anExternLib, "CSF_OpenGlesLibs") {
|
||||
DEFINES += "HAVE_GLES2"
|
||||
}
|
||||
} else {
|
||||
LIBS += -l$$anExternLib
|
||||
}
|
||||
}
|
||||
|
||||
# Iterate over Packages and add compilable files into this project
|
||||
isEmpty (aPackages) { aPackages = $$OCC_TOOLKIT_NAME }
|
||||
for (aPackage, aPackages) {
|
||||
aPackageFolder = $$aSrcRoot/$$OCC_TOOLKIT_NAME/$$aPackage
|
||||
aPackageFiles = $$cat($$aSrcRoot/$$aPackage/FILES, lines)
|
||||
for (aFileIter, aPackageFiles) {
|
||||
occIsCxxFile($$aFileIter) {
|
||||
SOURCES += $$aSrcRoot/$$aPackage/$$aFileIter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
!win32 {
|
||||
aVerList = $$split(VERSION, ".")
|
||||
aVerMaj = $$member(aVerList, 0)
|
||||
aVerMin = $$member(aVerList, 1)
|
||||
aVerMic = $$member(aVerList, 2)
|
||||
|
||||
equals(TEMPLATE, app) {
|
||||
QMAKE_CLEAN += $$DESTDIR/$${TARGET}
|
||||
} else {
|
||||
mac {
|
||||
# override qmake soname versionong logic
|
||||
QMAKE_LFLAGS_SONAME =
|
||||
QMAKE_LFLAGS += -Wl,-soname=lib$${TARGET}.dylib.$${aVerMaj}.$${aVerMin}
|
||||
|
||||
# extend clean with versioned .dylib files
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.dylib
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.$${aVerMaj}.dylib
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.$${aVerMaj}.$${aVerMin}.dylib
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.$${aVerMaj}.$${aVerMin}.$${aVerMic}.dylib
|
||||
} else {
|
||||
# override qmake soname versionong logic
|
||||
QMAKE_LFLAGS_SONAME =
|
||||
QMAKE_LFLAGS += -Wl,-soname=lib$${TARGET}.so.$${aVerMaj}.$${aVerMin}
|
||||
|
||||
# extend clean with versioned .so files
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.so
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.so.$${aVerMaj}
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.so.$${aVerMaj}.$${aVerMin}
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.so.$${aVerMaj}.$${aVerMin}.$${aVerMic}
|
||||
}
|
||||
}
|
||||
}
|
2
adm/qmake/OccToolkit.pro.in
Normal file
2
adm/qmake/OccToolkit.pro.in
Normal file
@@ -0,0 +1,2 @@
|
||||
OCC_TOOLKIT_NAME = \$\$TARGET
|
||||
include(../../OccToolkit.pri)
|
45
adm/qmake/Occt.pro
Normal file
45
adm/qmake/Occt.pro
Normal file
@@ -0,0 +1,45 @@
|
||||
# This is an experimental Solution project for building entire OCCT framework using qmake.
|
||||
# It can be also used for just source code navigation in Qt Creator without actually building OCCT.
|
||||
# Note, as this is an experimental project, compiler flags might differ from official builds - use it on your own risk!
|
||||
# Building OCCT using CMake is a preferred solution.
|
||||
#
|
||||
# This project GENERATES sub-projects (OCCT modules) dynamically, so to start using it:
|
||||
# - Launch genconf, select Project Format "Qt Project" and configure dependencies; this will also generate "custom.auto.pri".
|
||||
# - Launch genproj to fill in "inc" folder with links to header files.
|
||||
# - Open project in Qt Creator, and call "Run qmake".
|
||||
# - Close the project in Qt Creator, open it again so that you should see the sub-modules in Project tree; call "Run qmake" again.
|
||||
# - "Run qmake" and perform Build.
|
||||
#
|
||||
# Within Debian-based Linux repository Qt Creator can be installed like this:
|
||||
# > sudo apt-get install qtcreator qtbase5-dev
|
||||
|
||||
TEMPLATE = subdirs
|
||||
exists(custom.auto.pri) { include(custom.auto.pri) }
|
||||
exists(custom.pri) { include(custom.pri) }
|
||||
|
||||
OTHER_FILES += OccModule.pro.in \
|
||||
OcctHeaderLink.hxx.in \
|
||||
OccToolkit.pro.in \
|
||||
OccCppConfig.pri \
|
||||
OccModule.pri \
|
||||
OccToolkit.pri \
|
||||
custom.pri.template
|
||||
|
||||
# Iterate over Modules and generate sub-projects
|
||||
aSolModuleList = $$cat(../MODULES, lines)
|
||||
for (aSolModuleIter, aSolModuleList) {
|
||||
aSolModule = $$first($$list($$aSolModuleIter))
|
||||
eval(occtkgen_$${aSolModule}.input = $$_PRO_FILE_PWD_/OccModule.pro.in)
|
||||
eval(occtkgen_$${aSolModule}.output = $$_PRO_FILE_PWD_/$${aSolModule}/$${aSolModule}.pro)
|
||||
eval(occtkgen_$${aSolModule}.config = verbatim)
|
||||
eval(QMAKE_SUBSTITUTES += occtkgen_$${aSolModule})
|
||||
SUBDIRS += $${aSolModule}
|
||||
}
|
||||
|
||||
# These dependencies are manually defined
|
||||
ModelingData.depends = FoundationClasses
|
||||
ModelingAlgorithms.depends = FoundationClasses ModelingData
|
||||
Visualization.depends = FoundationClasses ModelingData ModelingAlgorithms
|
||||
ApplicationFramework.depends = FoundationClasses ModelingData ModelingAlgorithms Visualization
|
||||
DataExchange.depends = FoundationClasses ModelingData ModelingAlgorithms ApplicationFramework
|
||||
Draw.depends = FoundationClasses ModelingData ModelingAlgorithms ApplicationFramework DataExchange Visualization
|
0
adm/qmake/OcctDummy.in
Normal file
0
adm/qmake/OcctDummy.in
Normal file
1
adm/qmake/OcctHeaderLink.hxx.in
Normal file
1
adm/qmake/OcctHeaderLink.hxx.in
Normal file
@@ -0,0 +1 @@
|
||||
#include \"../src/$${OCCT_PACKAGE}/$${OCCT_HEADER}\"
|
17
adm/qmake/custom.pri.template
Normal file
17
adm/qmake/custom.pri.template
Normal file
@@ -0,0 +1,17 @@
|
||||
PRODUCTS_PATH = c:/3rdparty/vc14
|
||||
|
||||
#CONFIG += HAVE_FREEIMAGE
|
||||
#CONFIG += HAVE_FFMPEG
|
||||
#CONFIG += HAVE_TBB
|
||||
#CONFIG += HAVE_GLES2
|
||||
#CONFIG += HAVE_D3D
|
||||
#CONFIG += HAVE_VTK
|
||||
|
||||
aFreeType = $$PRODUCTS_PATH/freetype-2.5.5-vc14-64
|
||||
aTclTk = $$PRODUCTS_PATH/tcltk-86-64
|
||||
|
||||
INCLUDEPATH += $$aFreeType/include
|
||||
LIBS += -L$$aFreeType/lib
|
||||
|
||||
INCLUDEPATH += $$aTclTk/include
|
||||
LIBS += -L$$aTclTk/lib
|
39
adm/qmake/qtcreator-occt-cpp.xml
Normal file
39
adm/qmake/qtcreator-occt-cpp.xml
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorCodeStyle>
|
||||
<!-- Written by QtCreator 3.6.1, 2016-05-19T14:46:43. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>CodeStyleData</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="AlignAssignments">true</value>
|
||||
<value type="bool" key="AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="BindStarToIdentifier">false</value>
|
||||
<value type="bool" key="BindStarToLeftSpecifier">true</value>
|
||||
<value type="bool" key="BindStarToRightSpecifier">false</value>
|
||||
<value type="bool" key="BindStarToTypeName">true</value>
|
||||
<value type="bool" key="ExtraPaddingForConditionsIfConfusingAlign">true</value>
|
||||
<value type="bool" key="IndentAccessSpecifiers">false</value>
|
||||
<value type="bool" key="IndentBlockBody">true</value>
|
||||
<value type="bool" key="IndentBlockBraces">false</value>
|
||||
<value type="bool" key="IndentBlocksRelativeToSwitchLabels">true</value>
|
||||
<value type="bool" key="IndentClassBraces">false</value>
|
||||
<value type="bool" key="IndentControlFlowRelativeToSwitchLabels">true</value>
|
||||
<value type="bool" key="IndentDeclarationsRelativeToAccessSpecifiers">true</value>
|
||||
<value type="bool" key="IndentEnumBraces">false</value>
|
||||
<value type="bool" key="IndentFunctionBody">true</value>
|
||||
<value type="bool" key="IndentFunctionBraces">false</value>
|
||||
<value type="bool" key="IndentNamespaceBody">true</value>
|
||||
<value type="bool" key="IndentNamespaceBraces">false</value>
|
||||
<value type="int" key="IndentSize">2</value>
|
||||
<value type="bool" key="IndentStatementsRelativeToSwitchLabels">true</value>
|
||||
<value type="bool" key="IndentSwitchLabels">true</value>
|
||||
<value type="int" key="PaddingMode">2</value>
|
||||
<value type="bool" key="SpacesForTabs">true</value>
|
||||
<value type="int" key="TabSize">2</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>DisplayName</variable>
|
||||
<value type="QString">occt</value>
|
||||
</data>
|
||||
</qtcreator>
|
@@ -67,9 +67,8 @@ if ["%toCMake%"] == ["1"] (
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
set "aGitBranch="
|
||||
rem Get OCCT version
|
||||
call "%~dp0build_common.bat"
|
||||
set "aGitBranch="
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_DEVELOPMENT" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVerSuffix=%%i" )
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_COMPLETE" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVersion=%%i" )
|
||||
for /f %%i in ('git symbolic-ref --short HEAD') do ( set "aGitBranch=%%i" )
|
||||
|
||||
for %%s in (%anNdkAbiList%) do (
|
||||
|
@@ -1,8 +0,0 @@
|
||||
@echo OFF
|
||||
|
||||
rem Extract version info from version.cmake
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr OCC_VERSION_DEVELOPMENT "%~dp0\..\cmake\version.cmake"') do ( set "anOcctVerSuffix=%%i" )
|
||||
for /f tokens^=3 %%i in ('findstr OCC_VERSION_MAJOR "%~dp0\..\cmake\version.cmake"') do ( set "OCC_VERSION_MAJOR=%%i" )
|
||||
for /f tokens^=3 %%i in ('findstr OCC_VERSION_MINOR "%~dp0\..\cmake\version.cmake"') do ( set "OCC_VERSION_MINOR=%%i" )
|
||||
for /f tokens^=3 %%i in ('findstr OCC_VERSION_MAINTENANCE "%~dp0\..\cmake\version.cmake"') do ( set "OCC_VERSION_MAINTENANCE=%%i" )
|
||||
set "anOcctVersion=%OCC_VERSION_MAJOR%.%OCC_VERSION_MINOR%.%OCC_VERSION_MAINTENANCE%"
|
@@ -1,30 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Ensure script dir is defined
|
||||
if [ -z "$aScriptDir" ]; then
|
||||
aScriptDir=$(dirname "$0")
|
||||
fi
|
||||
|
||||
# Check if version file exists
|
||||
versionFile="$aScriptDir/../cmake/version.cmake"
|
||||
if [ ! -f "$versionFile" ]; then
|
||||
echo "Error: version.cmake not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Extract version info from version.cmake
|
||||
OCC_VERSION_MAJOR=$(awk '/set.*OCC_VERSION_MAJOR/ {print $3}' "$versionFile")
|
||||
OCC_VERSION_MINOR=$(awk '/set.*OCC_VERSION_MINOR/ {print $3}' "$versionFile")
|
||||
OCC_VERSION_MAINTENANCE=$(awk '/set.*OCC_VERSION_MAINTENANCE/ {print $3}' "$versionFile")
|
||||
anOcctVerSuffix=$(awk '/set.*OCC_VERSION_DEVELOPMENT/ {
|
||||
if (NF > 2) {
|
||||
gsub(/[)" ]/, "", $3)
|
||||
print $3
|
||||
} else {
|
||||
print ""
|
||||
}
|
||||
}' "$versionFile")
|
||||
|
||||
# Combine version string
|
||||
anOcctVersion="${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}"
|
||||
|
@@ -49,7 +49,8 @@ if [[ -f "${aScriptDir}/ios_custom.sh" ]]; then
|
||||
source "${aScriptDir}/ios_custom.sh"
|
||||
fi
|
||||
|
||||
source "${aScriptDir}/build_common.sh"
|
||||
anOcctVerSuffix=`grep -e "#define OCC_VERSION_DEVELOPMENT" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
anOcctVersion=`grep -e "#define OCC_VERSION_COMPLETE" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
aGitBranch=`git symbolic-ref --short HEAD`
|
||||
|
||||
YEAR=$(date +"%Y")
|
||||
|
@@ -51,7 +51,8 @@ if [[ -f "${aScriptDir}/macos_custom.sh" ]]; then
|
||||
source "${aScriptDir}/macos_custom.sh"
|
||||
fi
|
||||
|
||||
source "${aScriptDir}/build_common.sh"
|
||||
anOcctVerSuffix=`grep -e "#define OCC_VERSION_DEVELOPMENT" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
anOcctVersion=`grep -e "#define OCC_VERSION_COMPLETE" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
aGitBranch=`git symbolic-ref --short HEAD`
|
||||
|
||||
YEAR=$(date +"%Y")
|
||||
|
@@ -53,8 +53,9 @@ if not ["%aCmakeBin%"] == [""] ( set "PATH=%aCmakeBin%;%PATH%" )
|
||||
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
call "%~dp0build_common.bat"
|
||||
set "aGitBranch="
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_DEVELOPMENT" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVerSuffix=%%i" )
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_COMPLETE" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVersion=%%i" )
|
||||
for /f %%i in ('git symbolic-ref --short HEAD') do ( set "aGitBranch=%%i" )
|
||||
|
||||
set "aBuildType=Release"
|
||||
|
@@ -55,8 +55,8 @@ if not ["%aCmakeBin%"] == [""] ( set "PATH=%aCmakeBin%;%PATH%" )
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
set "aGitBranch="
|
||||
call "%~dp0build_common.bat"
|
||||
set "aGitBranch="
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_DEVELOPMENT" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVerSuffix=%%i" )
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_COMPLETE" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVersion=%%i" )
|
||||
for /f %%i in ('git symbolic-ref --short HEAD') do ( set "aGitBranch=%%i" )
|
||||
|
||||
set "aBuildType=Release"
|
||||
|
@@ -16,7 +16,12 @@ if /I "%VCVER%" == "@COMPILER@" (
|
||||
set "FFMPEG_DIR=@3RDPARTY_FFMPEG_DLL_DIR@"
|
||||
set "JEMALLOC_DIR=@3RDPARTY_JEMALLOC_LIBRARY_DIR@"
|
||||
set "OPENVR_DIR=@3RDPARTY_OPENVR_DLL_DIRS@"
|
||||
|
||||
if exist "@3RDPARTY_DRACO_DLL_DIR_draco@%3" (
|
||||
set "DRACO_DIR=@3RDPARTY_DRACO_DLL_DIR_draco@%3"
|
||||
) else (
|
||||
set "DRACO_DIR=@3RDPARTY_DRACO_DLL_DIR_draco@"
|
||||
)
|
||||
|
||||
if not "@3RDPARTY_QT_DIR@" == "" (
|
||||
set "QTDIR=@3RDPARTY_QT_DIR@"
|
||||
)
|
||||
|
@@ -13,6 +13,7 @@ if [ "$1" == "@BIN_LETTER@" ]; then
|
||||
export VTK_DIR="@3RDPARTY_VTK_LIBRARY_DIR@"
|
||||
export FFMPEG_DIR="@3RDPARTY_FFMPEG_LIBRARY_DIR@"
|
||||
export JEMALLOC_DIR="@3RDPARTY_JEMALLOC_LIBRARY_DIR@"
|
||||
export DRACO_DIR="@3RDPARTY_DRACO_LIBRARY_DIRS@"
|
||||
|
||||
if [ "x@3RDPARTY_QT_DIR" != "x" ]; then
|
||||
export QTDIR="@3RDPARTY_QT_DIR@"
|
||||
|
@@ -18,6 +18,11 @@ if /I "%VCVER%" == "@COMPILER@" (
|
||||
set "FFMPEG_DIR=@USED_3RDPARTY_FFMPEG_DIR@"
|
||||
set "JEMALLOC_DIR=@USED_3RDPARTY_JEMALLOC_DIR@"
|
||||
set "OPENVR_DIR=@USED_3RDPARTY_OPENVR_DIR@"
|
||||
if exist "@USED_3RDPARTY_DRACO_DIR@%3" (
|
||||
set "DRACO_DIR=@USED_3RDPARTY_DRACO_DIR@%3"
|
||||
) else (
|
||||
set "DRACO_DIR=@USED_3RDPARTY_DRACO_DIR@"
|
||||
)
|
||||
|
||||
if not "@USED_3RDPARTY_QT_DIR@" == "" (
|
||||
set "QTDIR=@USED_3RDPARTY_QT_DIR@"
|
||||
|
@@ -13,6 +13,7 @@ if [ "$1" == "@BIN_LETTER@" ]; then
|
||||
export VTK_DIR="@USED_3RDPARTY_VTK_DIR@"
|
||||
export FFMPEG_DIR="@USED_3RDPARTY_FFMPEG_DIR@"
|
||||
export JEMALLOC_DIR="@USED_3RDPARTY_JEMALLOC_DIR@"
|
||||
export DRACO_DIR="@USED_3RDPARTY_DRACO_DIR@"
|
||||
|
||||
if [ "x@USED_3RDPARTY_QT_DIR@" != "x" ]; then
|
||||
export QTDIR="@USED_3RDPARTY_QT_DIR@"
|
||||
|
@@ -160,6 +160,7 @@ if not ["%VTK_DIR%"] == [""] set "PATH=%VTK_DIR%;%PATH%"
|
||||
if not ["%FFMPEG_DIR%"] == [""] set "PATH=%FFMPEG_DIR%;%PATH%"
|
||||
if not ["%JEMALLOC_DIR%"] == [""] set "PATH=%JEMALLOC_DIR%;%PATH%"
|
||||
if not ["%OPENVR_DIR%"] == [""] set "PATH=%OPENVR_DIR%;%PATH%"
|
||||
if not ["%DRACO_DIR%"] == [""] set "PATH=%DRACO_DIR%;%PATH%"
|
||||
|
||||
rem ----- Set path to 3rd party and OCCT libraries -----
|
||||
if not "%CSF_OCCTBinPath%" == "" (
|
||||
|
@@ -21,7 +21,7 @@ shopt -u nocasematch
|
||||
|
||||
# ----- Set path to 3rd party and OCCT libraries -----
|
||||
anArch=`uname -m`
|
||||
if [ "$anArch" != "x86_64" ] && [ "$anArch" != "ia64" ] && [ "$anArch" != "aarch64"]; then
|
||||
if [ "$anArch" != "x86_64" ] && [ "$anArch" != "ia64" ]; then
|
||||
export ARCH="32";
|
||||
else
|
||||
export ARCH="64";
|
||||
|
@@ -23,7 +23,7 @@ shopt -u nocasematch
|
||||
|
||||
# ----- Set path to 3rd party and OCCT libraries -----
|
||||
anArch=`uname -m`
|
||||
if [ "$anArch" != "x86_64" ] && [ "$anArch" != "ia64" ] && [ "$anArch" != "aarch64"]; then
|
||||
if [ "$anArch" != "x86_64" ] && [ "$anArch" != "ia64" ]; then
|
||||
export ARCH="32";
|
||||
else
|
||||
export ARCH="64";
|
||||
|
@@ -20,7 +20,7 @@ BEGIN
|
||||
VALUE "LegalCopyright", "\251 OPEN CASCADE SAS\000"
|
||||
VALUE "ProductName", "Open CASCADE Technology\000"
|
||||
VALUE "ProductVersion", OCC_VERSION_STRING_EXT "\000"
|
||||
VALUE "OfficialSite", "www.occt3d.com\000"
|
||||
VALUE "OfficialSite", "www.opencascade.com\000"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@@ -1,25 +0,0 @@
|
||||
diff --git a/configure b/configure
|
||||
index 89af70d..405680e 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -5480,15 +5480,17 @@ case $target_os in
|
||||
;;
|
||||
win32|win64)
|
||||
disable symver
|
||||
- if enabled shared; then
|
||||
+# if enabled shared; then
|
||||
# Link to the import library instead of the normal static library
|
||||
# for shared libs.
|
||||
LD_LIB='%.lib'
|
||||
# Cannot build both shared and static libs with MSVC or icl.
|
||||
- disable static
|
||||
- fi
|
||||
+# disable static
|
||||
+# fi
|
||||
enabled x86_32 && check_ldflags -LARGEADDRESSAWARE
|
||||
shlibdir_default="$bindir_default"
|
||||
+ LIBPREF=""
|
||||
+ LIBSUF=".lib"
|
||||
SLIBPREF=""
|
||||
SLIBSUF=".dll"
|
||||
SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)'
|
@@ -1,13 +0,0 @@
|
||||
diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c
|
||||
index fe424b6..2df70df 100644
|
||||
--- a/fftools/cmdutils.c
|
||||
+++ b/fftools/cmdutils.c
|
||||
@@ -60,6 +60,8 @@
|
||||
#include <sys/resource.h>
|
||||
#endif
|
||||
#ifdef _WIN32
|
||||
+#define _WIN32_WINNT 0x0502
|
||||
+#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
@@ -1,40 +0,0 @@
|
||||
diff --git a/configure b/configure
|
||||
index 405680e..cc5bf29 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -4111,6 +4111,9 @@ for opt do
|
||||
--libfuzzer=*)
|
||||
libfuzzer_path="$optval"
|
||||
;;
|
||||
+ --debug)
|
||||
+ enable debug_configure
|
||||
+ ;;
|
||||
*)
|
||||
optname="${opt%%=*}"
|
||||
optname="${optname#--}"
|
||||
@@ -6316,7 +6319,11 @@ fi
|
||||
|
||||
enabled zlib && { check_pkg_config zlib zlib "zlib.h" zlibVersion ||
|
||||
check_lib zlib zlib.h zlibVersion -lz; }
|
||||
-enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2
|
||||
+if enabled debug_configure; then
|
||||
+ enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2d
|
||||
+else
|
||||
+ enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2
|
||||
+fi
|
||||
enabled lzma && check_lib lzma lzma.h lzma_version_number -llzma
|
||||
|
||||
# On some systems dynamic loading requires no extra linker flags
|
||||
@@ -6434,7 +6441,11 @@ enabled librubberband && require_pkg_config librubberband "rubberband >= 1.8
|
||||
enabled libshine && require_pkg_config libshine shine shine/layer3.h shine_encode_buffer
|
||||
enabled libsmbclient && { check_pkg_config libsmbclient smbclient libsmbclient.h smbc_init ||
|
||||
require libsmbclient libsmbclient.h smbc_init -lsmbclient; }
|
||||
-enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++
|
||||
+if enabled debug_configure; then
|
||||
+ enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++
|
||||
+else
|
||||
+ enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++
|
||||
+fi
|
||||
enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr
|
||||
enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init
|
||||
enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init
|
@@ -1,49 +0,0 @@
|
||||
diff --git a/configure b/configure
|
||||
index cc5bf29..ee26559 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6406,7 +6406,8 @@ if enabled libmfx; then
|
||||
fi
|
||||
|
||||
enabled libmodplug && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load
|
||||
-enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs
|
||||
+enabled libmp3lame && { check_lib libmp3lame lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs ||
|
||||
+ require libmp3lame lame/lame.h lame_set_VBR_quality -llibmp3lame-static -llibmpghip-static $libm_extralibs; }
|
||||
enabled libmysofa && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine ||
|
||||
require libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine -lmysofa $zlib_extralibs; }
|
||||
enabled libnpp && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei ||
|
||||
@@ -6446,7 +6447,7 @@ if enabled debug_configure; then
|
||||
else
|
||||
enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++
|
||||
fi
|
||||
-enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr
|
||||
+enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr -lm
|
||||
enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init
|
||||
enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init
|
||||
enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket
|
||||
@@ -6527,6 +6528,8 @@ enabled openal && { { for al_extralibs in "${OPENAL_LIBS}" "-lopenal"
|
||||
enabled opencl && { check_pkg_config opencl OpenCL CL/cl.h clEnqueueNDRangeKernel ||
|
||||
check_lib opencl OpenCL/cl.h clEnqueueNDRangeKernel -Wl,-framework,OpenCL ||
|
||||
check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL ||
|
||||
+ check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL -lAdvapi32 -lOle32 -lCfgmgr32||
|
||||
+ check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL -pthread -ldl ||
|
||||
die "ERROR: opencl not found"; } &&
|
||||
{ test_cpp_condition "OpenCL/cl.h" "defined(CL_VERSION_1_2)" ||
|
||||
test_cpp_condition "CL/cl.h" "defined(CL_VERSION_1_2)" ||
|
||||
@@ -6550,6 +6553,7 @@ enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OP
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto ||
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
|
||||
+ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -llibssl -llibcrypto -lws2_32 -lgdi32 -lcrypt32 -lAdvapi32 -lUser32||
|
||||
die "ERROR: openssl not found"; }
|
||||
enabled pocketsphinx && require_pkg_config pocketsphinx pocketsphinx pocketsphinx/pocketsphinx.h ps_init
|
||||
enabled rkmpp && { require_pkg_config rkmpp rockchip_mpp rockchip/rk_mpi.h mpp_create &&
|
||||
@@ -6811,7 +6815,7 @@ enabled amf &&
|
||||
if enabled libc_iconv; then
|
||||
check_func_headers iconv.h iconv
|
||||
elif enabled iconv; then
|
||||
- check_func_headers iconv.h iconv || check_lib iconv iconv.h iconv -liconv
|
||||
+ check_func_headers iconv.h iconv || check_lib iconv iconv.h iconv -liconv || check_lib iconv iconv.h iconv -liconv -llibcharset
|
||||
fi
|
||||
|
||||
enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel"
|
@@ -1,15 +0,0 @@
|
||||
diff --git a/configure b/configure
|
||||
index ee26559..f2c83b7 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -4496,6 +4496,10 @@ msvc_common_flags(){
|
||||
-march=*) ;;
|
||||
-lz) echo zlib.lib ;;
|
||||
-lx264) echo libx264.lib ;;
|
||||
+ -lx265) echo libx265.lib ;;
|
||||
+ -lmp3lame) echo libmp3lame.lib ;;
|
||||
+ -liconv) echo iconv.lib ;;
|
||||
+ -lm) ;;
|
||||
-lstdc++) ;;
|
||||
-l*) echo ${flag#-l}.lib ;;
|
||||
-LARGEADDRESSAWARE) echo $flag ;;
|
@@ -1,13 +0,0 @@
|
||||
diff --git a/configure b/configure
|
||||
index f2c83b7..5e42b12 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6379,7 +6379,7 @@ enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.6.0" davs2.
|
||||
enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new
|
||||
enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h drmGetVersion
|
||||
enabled libfdk_aac && { check_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen ||
|
||||
- { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac &&
|
||||
+ { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac -lm -lstdc++ &&
|
||||
warn "using libfdk without pkg-config"; } }
|
||||
flite_extralibs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite"
|
||||
enabled libflite && require libflite "flite/flite.h" flite_init $flite_extralibs
|
@@ -1,13 +0,0 @@
|
||||
diff --git a/configure b/configure
|
||||
index 5e42b12..d8f059f 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6497,7 +6497,7 @@ enabled libwebp && {
|
||||
enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion
|
||||
enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; }
|
||||
enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode ||
|
||||
- { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs" &&
|
||||
+ { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs -ldl" &&
|
||||
warn "using libx264 without pkg-config"; } } &&
|
||||
require_cpp_condition libx264 x264.h "X264_BUILD >= 118" &&
|
||||
check_cpp_condition libx262 x264.h "X264_MPEG2"
|
@@ -1,16 +0,0 @@
|
||||
diff --git a/configure b/configure
|
||||
index d8f059f..f3688ad 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6501,7 +6501,10 @@ enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x
|
||||
warn "using libx264 without pkg-config"; } } &&
|
||||
require_cpp_condition libx264 x264.h "X264_BUILD >= 118" &&
|
||||
check_cpp_condition libx262 x264.h "X264_MPEG2"
|
||||
-enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get &&
|
||||
+enabled libx265 && { check_pkg_config libx265 x265 x265.h x265_api_get ||
|
||||
+ { { check_lib libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++ -lgcc_s -lgcc -lrt -lnuma" ||
|
||||
+ require libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++"; } &&
|
||||
+ warn "using libx265 without pkg-config"; } } &&
|
||||
require_cpp_condition libx265 x265.h "X265_BUILD >= 70"
|
||||
enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs"
|
||||
enabled libxavs2 && require_pkg_config libxavs2 "xavs2 >= 1.3.0" "stdint.h xavs2.h" xavs2_api_get
|
@@ -1,12 +0,0 @@
|
||||
diff --git a/configure b/configure
|
||||
index f3688ad..26e512e 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6556,6 +6556,7 @@ enabled omx_rpi && { test_code cc OMX_Core.h OMX_IndexConfigBrcmVideoR
|
||||
enabled omx && require_headers OMX_Core.h
|
||||
enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OPENSSL_init_ssl ||
|
||||
check_pkg_config openssl openssl openssl/ssl.h SSL_library_init ||
|
||||
+ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto $pthreads_extralibs -ldl ||
|
||||
check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto ||
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto ||
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
|
@@ -1,16 +0,0 @@
|
||||
diff --git a/libavcodec/mf_utils.c b/libavcodec/mf_utils.c
|
||||
index eeabd0c..ea3a03b 100644
|
||||
--- a/libavcodec/mf_utils.c
|
||||
+++ b/libavcodec/mf_utils.c
|
||||
@@ -22,6 +22,11 @@
|
||||
#define _WIN32_WINNT 0x0602
|
||||
#endif
|
||||
|
||||
+#if !defined(WINVER) || WINVER < 0x0602
|
||||
+#undef WINVER
|
||||
+#define WINVER 0x0602
|
||||
+#endif
|
||||
+
|
||||
#include "mf_utils.h"
|
||||
#include "libavutil/pixdesc.h"
|
||||
|
@@ -1,23 +0,0 @@
|
||||
diff --git a/configure b/configure
|
||||
index 26e512e..c0377b6 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -3674,6 +3674,18 @@ vpp_qsv_filter_select="qsvvpp"
|
||||
xfade_opencl_filter_deps="opencl"
|
||||
yadif_cuda_filter_deps="ffnvcodec"
|
||||
yadif_cuda_filter_deps_any="cuda_nvcc cuda_llvm"
|
||||
+ametadata_filter_deps="avformat"
|
||||
+metadata_filter_deps="avformat"
|
||||
+headphone_filter_deps="avcodec"
|
||||
+headphone_filter_select="fft"
|
||||
+showspatial_filter_deps="avcodec"
|
||||
+showspatial_filter_select="fft"
|
||||
+superequalizer_filter_deps="avcodec"
|
||||
+superequalizer_filter_select="rdft"
|
||||
+surround_filter_deps="avcodec"
|
||||
+surround_filter_select="rdft"
|
||||
+sinc_filter_deps="avcodec"
|
||||
+sinc_filter_select="rdft"
|
||||
|
||||
# examples
|
||||
avio_list_dir_deps="avformat avutil"
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user