mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
Compare commits
6 Commits
CR33664_1
...
CR0_CADVie
Author | SHA1 | Date | |
---|---|---|---|
|
9f7af82cde | ||
|
e23f5331d9 | ||
|
d54e1b4c57 | ||
|
0f3127a3bc | ||
|
7dced57d92 | ||
|
2b751582ac |
4
.gitattributes
vendored
4
.gitattributes
vendored
@@ -1,8 +1,6 @@
|
||||
.gitattributes eol=lf
|
||||
.gitignore eol=lf
|
||||
*.txt eol=lf
|
||||
*.htm eol=lf
|
||||
*.html eol=lf
|
||||
*.h eol=lf
|
||||
*.c eol=lf
|
||||
*.inl eol=lf
|
||||
@@ -31,7 +29,6 @@
|
||||
*.xib eol=lf
|
||||
*.plist eol=lf
|
||||
*.java eol=lf
|
||||
*.js eol=lf
|
||||
*.igs eol=lf
|
||||
*.iges eol=lf
|
||||
*.stp eol=lf
|
||||
@@ -47,7 +44,6 @@
|
||||
FILES eol=lf
|
||||
PACKAGES eol=lf
|
||||
EXTERNLIB eol=lf
|
||||
EXTERNLIB_STATIC eol=lf
|
||||
UDLIST eol=lf
|
||||
tests/* eol=lf
|
||||
tests/*/* eol=lf
|
||||
|
@@ -1,40 +0,0 @@
|
||||
# This workflow will build OCCT on Ubuntu with Clang compiler
|
||||
# using the provided Docker image with Clang tools.
|
||||
#
|
||||
# Notes:
|
||||
# freetype is disabled
|
||||
# samples are not built
|
||||
|
||||
name: Build OCCT on Linux with Clang x64 dynamic
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- '**'
|
||||
|
||||
jobs:
|
||||
build-linux-clang:
|
||||
name: Build on Ubuntu with Clang
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
- name: Install dependencies
|
||||
run: sudo apt-get update && sudo apt-get install -y tcl-dev tk-dev cmake clang make libbtbb-dev libx11-dev libglu1-mesa-dev
|
||||
|
||||
- name: Configure OCCT
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Unix Makefiles" \
|
||||
-D CMAKE_C_COMPILER=clang \
|
||||
-D CMAKE_CXX_COMPILER=clang++ \
|
||||
-D USE_FREETYPE=OFF \
|
||||
-D CMAKE_BUILD_TYPE=Release ..
|
||||
|
||||
- name: Build OCCT
|
||||
run: |
|
||||
cd build
|
||||
make -j$(nproc)
|
@@ -1,40 +0,0 @@
|
||||
# This workflow will build OCCT on Linux with GCC x64 dynamic
|
||||
# using the provided Docker image with GCC tools.
|
||||
#
|
||||
# Notes:
|
||||
# freetype is disabled
|
||||
# samples are not built
|
||||
|
||||
name: Build OCCT on Linux with GCC x64 dynamic
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- '**'
|
||||
|
||||
jobs:
|
||||
build-linux-gcc:
|
||||
name: Build on Ubuntu with GCC
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
- name: Install dependencies
|
||||
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
|
||||
|
||||
- name: Configure OCCT
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Unix Makefiles" \
|
||||
-D CMAKE_C_COMPILER=gcc \
|
||||
-D CMAKE_CXX_COMPILER=g++ \
|
||||
-D USE_FREETYPE=OFF \
|
||||
-D CMAKE_BUILD_TYPE=Release ..
|
||||
|
||||
- name: Build OCCT
|
||||
run: |
|
||||
cd build
|
||||
make -j$(nproc)
|
@@ -1,43 +0,0 @@
|
||||
# This workflow builds OCCT on macOS with Clang x64 dynamic.
|
||||
#
|
||||
# Notes:
|
||||
# freetype is disabled
|
||||
# samples are not built
|
||||
|
||||
name: Build OCCT on macOS with Clang x64 dynamic
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- '**'
|
||||
|
||||
jobs:
|
||||
build-macos-clang:
|
||||
name: Build on macOS with Clang
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew update
|
||||
brew install tcl-tk tbb gl2ps xerces-c \
|
||||
libxmu libxi libxft libxpm \
|
||||
glew
|
||||
|
||||
- name: Configure OCCT
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Unix Makefiles" \
|
||||
-D CMAKE_C_COMPILER=clang \
|
||||
-D CMAKE_CXX_COMPILER=clang++ \
|
||||
-D USE_FREETYPE=OFF \
|
||||
-D CMAKE_BUILD_TYPE=Release ..
|
||||
|
||||
- name: Build OCCT
|
||||
run: |
|
||||
cd build
|
||||
make -j$(sysctl -n hw.logicalcpu)
|
@@ -1,44 +0,0 @@
|
||||
# This workflow will build OCCT on Windows with MSVC x64 in dynamic mode
|
||||
# using the provided Docker image with MSVC tools.
|
||||
#
|
||||
# Notes:
|
||||
# freetype is disabled
|
||||
# Draw module is disabled
|
||||
# samples are not built
|
||||
|
||||
name: Build OCCT on Windows with MSVC x64 dynamic
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- '**'
|
||||
|
||||
jobs:
|
||||
build-windows-msvc:
|
||||
name: Build on Windows with MSVC
|
||||
runs-on: windows-latest
|
||||
|
||||
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: Install dependencies
|
||||
run: |
|
||||
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System' -y
|
||||
choco install magicsplat-tcl-tk -y
|
||||
|
||||
- name: Configure OCCT
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -T host=x64 -D USE_FREETYPE=OFF -D BUILD_MODULE_Draw=OFF -D CMAKE_BUILD_TYPE=Release ..
|
||||
|
||||
- name: Build OCCT
|
||||
run: |
|
||||
cd build
|
||||
cmake --build . --config Release -- /m
|
69
.github/workflows/codemsvc.yml
vendored
69
.github/workflows/codemsvc.yml
vendored
@@ -1,69 +0,0 @@
|
||||
# Security scanning with Microsoft C++ Code Analysis.
|
||||
# Checks any master integration and publish warnings into security GitHub tab.
|
||||
#
|
||||
# Find more information at:
|
||||
# https://github.com/microsoft/msvc-code-analysis-action
|
||||
|
||||
name: Microsoft C++ Code Analysis
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
env:
|
||||
# Path to the CMake build directory.
|
||||
build: '${{ github.workspace }}/build'
|
||||
config: 'Debug'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
permissions:
|
||||
contents: read # for actions/checkout to fetch code
|
||||
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
|
||||
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
|
||||
name: Analyze
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System' -y
|
||||
choco install magicsplat-tcl-tk -y
|
||||
|
||||
- name: Configure CMake
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -D USE_FREETYPE=OFF -DCMAKE_BUILD_TYPE=${{ env.config }} ..
|
||||
|
||||
- name: Run MSVC Code Analysis
|
||||
uses: microsoft/msvc-code-analysis-action@v0.1.1
|
||||
# Provide a unique ID to access the sarif output path
|
||||
id: run-analysis
|
||||
with:
|
||||
cmakeBuildDirectory: ${{ env.build }}
|
||||
buildConfiguration: ${{ env.config }}
|
||||
# Ruleset file that will determine what checks will be run
|
||||
ruleset: NativeRecommendedRules.ruleset
|
||||
# Paths to ignore analysis of CMake targets and includes
|
||||
# ignoredPaths: ${{ github.workspace }}/dependencies;${{ github.workspace }}/test
|
||||
|
||||
# Upload SARIF file to GitHub Code Scanning Alerts
|
||||
#- name: Upload SARIF to GitHub
|
||||
# uses: github/codeql-action/upload-sarif@v3.26.5
|
||||
# with:
|
||||
# sarif_file: ${{ steps.run-analysis.outputs.sarif }}
|
||||
|
||||
# Upload SARIF file as an Artifact to download and view
|
||||
- name: Upload SARIF as an Artifact
|
||||
uses: actions/upload-artifact@v4.3.6
|
||||
with:
|
||||
name: sarif-file
|
||||
path: ${{ steps.run-analysis.outputs.sarif }}
|
60
.github/workflows/codeql.yml
vendored
60
.github/workflows/codeql.yml
vendored
@@ -1,60 +0,0 @@
|
||||
# Security scanning with CodeQL.
|
||||
# Checks any master integration and publish warnings into security GitHub tab.
|
||||
#
|
||||
# Find more information at:
|
||||
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning
|
||||
|
||||
name: CodeQL Code Analysis
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze (${{ matrix.language }})
|
||||
runs-on: ${{ 'ubuntu-latest' }}
|
||||
permissions:
|
||||
# required for all workflows
|
||||
security-events: write
|
||||
|
||||
# required to fetch internal or private CodeQL packs
|
||||
packages: read
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- language: c-cpp
|
||||
build-mode: manual
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
- name: Install dependencies
|
||||
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
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3.26.5
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
build-mode: ${{ matrix.build-mode }}
|
||||
|
||||
- if: matrix.build-mode == 'manual'
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G "Unix Makefiles" \
|
||||
-D CMAKE_C_COMPILER=gcc \
|
||||
-D CMAKE_CXX_COMPILER=g++ \
|
||||
-D USE_FREETYPE=OFF \
|
||||
-D CMAKE_BUILD_TYPE=Release ..
|
||||
make -j$(nproc)
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3.26.5
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
11
.gitignore
vendored
11
.gitignore
vendored
@@ -1,11 +1,14 @@
|
||||
|
||||
# standard directories for derived files in CASROOT
|
||||
/.adm
|
||||
/.vscode
|
||||
/sun
|
||||
/lin
|
||||
/mac
|
||||
/ao1
|
||||
/sil
|
||||
/wnt
|
||||
/doc
|
||||
/drv
|
||||
/inc
|
||||
/work
|
||||
|
||||
@@ -13,6 +16,12 @@
|
||||
win32
|
||||
win64
|
||||
|
||||
# standard names of directories for objects and binaries for samples
|
||||
bin
|
||||
obj
|
||||
Debug
|
||||
Release
|
||||
|
||||
# project files and artifacts
|
||||
/adm/msvc
|
||||
/adm/wnt
|
||||
|
372
CMakeLists.txt
372
CMakeLists.txt
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 3.1 FATAL_ERROR)
|
||||
cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR)
|
||||
|
||||
set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/adm/cmake")
|
||||
|
||||
@@ -6,26 +6,6 @@ set (CMAKE_SUPPRESS_REGENERATION TRUE)
|
||||
|
||||
set (CMAKE_CONFIGURATION_TYPES Release Debug RelWithDebInfo CACHE INTERNAL "" FORCE)
|
||||
|
||||
# set using C++ standard
|
||||
set (BUILD_CPP_STANDARD "C++11" CACHE STRING "Select using c++ standard.")
|
||||
set_property(CACHE BUILD_CPP_STANDARD PROPERTY STRINGS "C++11" "C++14" "C++17" "C++20" "C++23")
|
||||
|
||||
# Set desired C++ standard
|
||||
if ("${BUILD_CPP_STANDARD}" STREQUAL "C++11")
|
||||
set (CMAKE_CXX_STANDARD 11)
|
||||
elseif ("${BUILD_CPP_STANDARD}" STREQUAL "C++14")
|
||||
set (CMAKE_CXX_STANDARD 14)
|
||||
elseif ("${BUILD_CPP_STANDARD}" STREQUAL "C++17")
|
||||
set (CMAKE_CXX_STANDARD 17)
|
||||
elseif ("${BUILD_CPP_STANDARD}" STREQUAL "C++20")
|
||||
set (CMAKE_CXX_STANDARD 20)
|
||||
elseif ("${BUILD_CPP_STANDARD}" STREQUAL "C++23")
|
||||
set (CMAKE_CXX_STANDARD 23)
|
||||
else ()
|
||||
message (FATAL_ERROR, "misprint in c++ standard name")
|
||||
endif()
|
||||
set (CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# macro: include patched file if it exists
|
||||
macro (OCCT_INCLUDE_CMAKE_FILE BEING_INCLUDED_FILE)
|
||||
if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/${BEING_INCLUDED_FILE}.cmake")
|
||||
@@ -35,14 +15,6 @@ macro (OCCT_INCLUDE_CMAKE_FILE BEING_INCLUDED_FILE)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# set using memory manager option for TKernel
|
||||
set (USE_MMGR_TYPE "NATIVE" CACHE STRING "Select using memory manager tool.")
|
||||
set_property(CACHE USE_MMGR_TYPE PROPERTY STRINGS "NATIVE" "FLEXIBLE" "TBB" "JEMALLOC")
|
||||
|
||||
# set profile for C++ compiler and linker
|
||||
set (BUILD_OPT_PROFILE "Default" CACHE STRING "Select profile for compiler and linker.")
|
||||
set_property(CACHE BUILD_OPT_PROFILE PROPERTY STRINGS "Default" "Production")
|
||||
|
||||
# include variable description
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/vardescr")
|
||||
|
||||
@@ -84,20 +56,6 @@ set_property (GLOBAL PROPERTY OCC_VERSION_MAJOR ${OCC_VERSION_MAJOR})
|
||||
set_property (GLOBAL PROPERTY OCC_VERSION_MINOR ${OCC_VERSION_MINOR})
|
||||
set_property (GLOBAL PROPERTY OCC_VERSION_MAINTENANCE ${OCC_VERSION_MAINTENANCE})
|
||||
|
||||
# set soversion variable determining compatibility version on platforms with symlinks
|
||||
# 0 - for empty, 1 - for major, 2 - for major.minor, 3 - for major.minor.maintenance
|
||||
if (NOT BUILD_SOVERSION_NUMBERS)
|
||||
set (BUILD_SOVERSION_NUMBERS "0" CACHE STRING "${BUILD_SOVERSION_NUMBERS_DESCR}" FORCE)
|
||||
SET_PROPERTY(CACHE BUILD_SOVERSION_NUMBERS PROPERTY STRINGS 0 1 2 3)
|
||||
|
||||
# update default state of soversion on different platforms
|
||||
if (WIN32 OR ANDROID OR EMSCRIPTEN)
|
||||
set (BUILD_SOVERSION_NUMBERS 0)
|
||||
else()
|
||||
set (BUILD_SOVERSION_NUMBERS 2)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set (INSTALL_TEST_CASES OFF CACHE BOOL "${INSTALL_TEST_CASES_DESCR}")
|
||||
|
||||
# Regeneration of OCCT resource files
|
||||
@@ -105,7 +63,7 @@ set (BUILD_RESOURCES OFF CACHE BOOL "${BUILD_RESOURCES_DESCR}")
|
||||
|
||||
# single-configuration generator
|
||||
set (SINGLE_GENERATOR OFF)
|
||||
if (DEFINED CMAKE_BUILD_TYPE)
|
||||
if (CMAKE_BUILD_TYPE)
|
||||
set (SINGLE_GENERATOR ON)
|
||||
endif()
|
||||
|
||||
@@ -128,21 +86,6 @@ if (BUILD_WITH_DEBUG)
|
||||
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:DEBUG>:OCCT_DEBUG>)
|
||||
endif()
|
||||
|
||||
# option disabling OCCT exceptions in Release builds (No_Exception)
|
||||
if (NOT DEFINED BUILD_RELEASE_DISABLE_EXCEPTIONS)
|
||||
set (BUILD_RELEASE_DISABLE_EXCEPTIONS ON CACHE BOOL "${BUILD_RELEASE_DISABLE_EXCEPTIONS_DESCR}")
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
set (BUILD_FORCE_RelWithDebInfo OFF CACHE BOOL "${BUILD_FORCE_RelWithDebInfo_DESCR}")
|
||||
else()
|
||||
set (BUILD_FORCE_RelWithDebInfo OFF)
|
||||
endif()
|
||||
|
||||
if (BUILD_FORCE_RelWithDebInfo)
|
||||
set (CMAKE_CONFIGURATION_TYPES Release Debug CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
|
||||
# option to enable or disable use of precompiled headers
|
||||
if (NOT DEFINED BUILD_USE_PCH)
|
||||
set (BUILD_USE_PCH OFF CACHE BOOL "${BUILD_USE_PCH_DESCR}")
|
||||
@@ -271,7 +214,7 @@ if (NOT DEFINED INSTALL_DIR_BIN)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# define folder containing all shell/batch scripts
|
||||
# define folder contaning all shell/batch scripts
|
||||
if (NOT DEFINED INSTALL_DIR_SCRIPT)
|
||||
if ("${INSTALL_DIR_LAYOUT}" STREQUAL "Unix")
|
||||
set (INSTALL_DIR_SCRIPT "${INSTALL_DIR_BIN}" CACHE PATH "${INSTALL_DIR_SCRIPT_DESCR}")
|
||||
@@ -363,7 +306,7 @@ if (NOT DEFINED INSTALL_DIR_DOC)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# define folder containing CMake configuration files
|
||||
# define folder contaning CMake configuration files
|
||||
if (NOT DEFINED INSTALL_DIR_CMAKE)
|
||||
if ("${INSTALL_DIR_LAYOUT}" STREQUAL "Unix")
|
||||
if (INSTALL_DIR_WITH_VERSION)
|
||||
@@ -416,28 +359,12 @@ if (MSVC)
|
||||
endif()
|
||||
|
||||
# whether use optional 3rdparty or not
|
||||
set (USE_TK ON CACHE BOOL "${USE_TK_DESCR}")
|
||||
set (USE_FREETYPE ON CACHE BOOL "${USE_FREETYPE_DESCR}")
|
||||
set (USE_FREEIMAGE OFF CACHE BOOL "${USE_FREEIMAGE_DESCR}")
|
||||
set (USE_FFMPEG OFF CACHE BOOL "${USE_FFMPEG_DESCR}")
|
||||
set (USE_OPENVR OFF CACHE BOOL "${USE_OPENVR_DESCR}")
|
||||
set (USE_RAPIDJSON OFF CACHE BOOL "${USE_RAPIDJSON_DESCR}")
|
||||
set (USE_DRACO OFF CACHE BOOL "${USE_DRACO_DESCR}")
|
||||
set (USE_TBB OFF CACHE BOOL "${USE_TBB_DESCR}")
|
||||
set (USE_EIGEN OFF CACHE BOOL "${USE_EIGEN_DESCR}")
|
||||
|
||||
if (WIN32 OR ANDROID OR IOS OR EMSCRIPTEN)
|
||||
# no Xlib
|
||||
elseif (APPLE)
|
||||
set (USE_XLIB OFF CACHE BOOL "${USE_XLIB_DESCR}")
|
||||
else()
|
||||
set (USE_XLIB ON CACHE BOOL "${USE_XLIB_DESCR}")
|
||||
if (APPLE)
|
||||
set (USE_GLX OFF CACHE BOOL "${USE_GLX_DESCR}")
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
set (USE_D3D OFF CACHE BOOL "${USE_D3D_DESCR}")
|
||||
else()
|
||||
set (USE_D3D OFF)
|
||||
endif()
|
||||
|
||||
# Enable/Disable the floating point exceptions (FPE) during runtime.
|
||||
@@ -451,15 +378,6 @@ else()
|
||||
set (BUILD_ENABLE_FPE_SIGNAL_HANDLER 0)
|
||||
endif()
|
||||
|
||||
# OpenGL
|
||||
if (ANDROID OR IOS OR EMSCRIPTEN OR "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
|
||||
set (USE_OPENGL OFF)
|
||||
set (USE_GLES2 ON)
|
||||
else()
|
||||
set (USE_OPENGL ON CACHE BOOL "${USE_OPENGL_DESCR}")
|
||||
set (USE_GLES2 OFF CACHE BOOL "${USE_GLES2_DESCR}")
|
||||
endif()
|
||||
|
||||
# include the patched or original list of modules
|
||||
# list <MODULENAME>_TOOLKITS is created foreach module and contains its toolkits
|
||||
# list <OCCT_MODULES> will contain all modules
|
||||
@@ -491,6 +409,10 @@ if (NOT DEFINED BUILD_DOC_Overview)
|
||||
set (BUILD_DOC_Overview ${CAN_DOXYGEN_BE_USED} CACHE BOOL "${BUILD_DOC_Overview_DESCR}")
|
||||
endif()
|
||||
|
||||
if (NOT USE_D3D)
|
||||
list (REMOVE_ITEM Visualization_TOOLKITS TKD3DHost)
|
||||
endif()
|
||||
|
||||
# accumulate used toolkits (first level) in BUILD_TOOLKITS variable
|
||||
list (APPEND BUILD_TOOLKITS ${BUILD_ADDITIONAL_TOOLKITS})
|
||||
|
||||
@@ -500,6 +422,12 @@ foreach (OCCT_MODULE ${OCCT_MODULES})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# DRAWEXE excluded when library build is static
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS DRAWEXE)
|
||||
message (STATUS "Info: DRAWEXE is not included due to ${BUILD_LIBRARY_TYPE} build library type")
|
||||
endif()
|
||||
|
||||
# accumulate all used toolkits
|
||||
list (REMOVE_DUPLICATES BUILD_TOOLKITS)
|
||||
set (RAW_BUILD_TOOLKITS)
|
||||
@@ -551,71 +479,37 @@ endif()
|
||||
# search for CSF variable in EXTERNLIB of each being used toolkit
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_FreeImagePlus CAN_USE_FREEIMAGE)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_TclLibs USE_TCL)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_TclTkLibs CAN_USE_TK)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_XwLibs CAN_USE_XLIB)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_FREETYPE CAN_USE_FREETYPE)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_OpenGlLibs CAN_USE_OPENGL)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_OpenGlesLibs CAN_USE_GLES2)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_FREETYPE USE_FREETYPE)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_OpenGlLibs CAN_USE_GLES2)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_GL2PS CAN_USE_GL2PS)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_TBB CAN_USE_TBB)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_EIGEN CAN_USE_EIGEN)
|
||||
|
||||
# define CSF variable
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_csf")
|
||||
|
||||
# Tcl (mandatory for Draw Harness)
|
||||
if (USE_TCL)
|
||||
message (STATUS "Info: TCL is used by OCCT")
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tcl")
|
||||
|
||||
message (STATUS "Info: TK is used by OCCT")
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tk")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TCL")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TK")
|
||||
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_TCL")
|
||||
endif()
|
||||
|
||||
# Tk (optional for Draw Harness)
|
||||
if (CAN_USE_TK)
|
||||
if (USE_TK)
|
||||
message (STATUS "Info: TK is used by OCCT")
|
||||
add_definitions (-DHAVE_TK)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tk")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TK")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_TK")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_TK")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TK")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_TK")
|
||||
endif()
|
||||
|
||||
# Xlib
|
||||
if (CAN_USE_XLIB)
|
||||
if (USE_XLIB)
|
||||
message (STATUS "Info: Xlib is used by OCCT")
|
||||
add_definitions (-DHAVE_XLIB)
|
||||
if (APPLE)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/glx")
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_XLIB")
|
||||
endif()
|
||||
|
||||
# FreeType
|
||||
if (CAN_USE_FREETYPE)
|
||||
if (USE_FREETYPE)
|
||||
message (STATUS "Info: FreeType is used by OCCT")
|
||||
add_definitions (-DHAVE_FREETYPE)
|
||||
if (USE_FREETYPE)
|
||||
message (STATUS "Info: Freetype is used by OCCT")
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freetype")
|
||||
else()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREETYPE")
|
||||
OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2")
|
||||
OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_FREETYPE")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_FREETYPE")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREETYPE")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_FREETYPE")
|
||||
endif()
|
||||
|
||||
# VTK
|
||||
@@ -634,8 +528,25 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# D3D
|
||||
if (USE_D3D)
|
||||
add_definitions (-DHAVE_D3D)
|
||||
#if(MSVC_VERSION LESS 1700)
|
||||
#OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/d3d")
|
||||
#endif()
|
||||
endif()
|
||||
|
||||
# GLX
|
||||
if (USE_GLX)
|
||||
add_definitions (-DMACOSX_USE_GLX)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/glx")
|
||||
endif()
|
||||
|
||||
# FREEIMAGE
|
||||
|
||||
if (CAN_USE_FREEIMAGE)
|
||||
set (USE_FREEIMAGE OFF CACHE BOOL "${USE_FREEIMAGE_DESCR}")
|
||||
|
||||
if (USE_FREEIMAGE)
|
||||
add_definitions (-DHAVE_FREEIMAGE)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freeimage")
|
||||
@@ -650,29 +561,13 @@ else()
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_FREEIMAGE")
|
||||
endif()
|
||||
|
||||
# OpenVR
|
||||
# search for CSF_OpenVR variable in EXTERNLIB of each being used toolkit
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_OpenVR CAN_USE_OPENVR)
|
||||
if (CAN_USE_OPENVR)
|
||||
if (USE_OPENVR)
|
||||
add_definitions (-DHAVE_OPENVR)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/openvr")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_OPENVR")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_OPENVR")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_OPENVR")
|
||||
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_OPENVR")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_OPENVR")
|
||||
endif()
|
||||
|
||||
# FFmpeg
|
||||
# search for CSF_FFmpeg variable in EXTERNLIB of each being used toolkit
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_FFmpeg CAN_USE_FFMPEG)
|
||||
|
||||
if (CAN_USE_FFMPEG)
|
||||
set (USE_FFMPEG OFF CACHE BOOL "${USE_FFMPEG_DESCR}")
|
||||
|
||||
if (USE_FFMPEG)
|
||||
add_definitions (-DHAVE_FFMPEG)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/ffmpeg")
|
||||
@@ -687,33 +582,23 @@ else()
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_FFMPEG")
|
||||
endif()
|
||||
|
||||
# OpenGL
|
||||
if (CAN_USE_OPENGL)
|
||||
if (USE_OPENGL)
|
||||
add_definitions (-DHAVE_OPENGL_EXT)
|
||||
else()
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKOpenGl)
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKOpenGlTest)
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_OPENGL")
|
||||
endif()
|
||||
|
||||
# OpenGL ES 2.0
|
||||
if (CAN_USE_GLES2)
|
||||
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
|
||||
set (USE_GLES2 ON)
|
||||
else()
|
||||
set (USE_GLES2 OFF CACHE BOOL "${USE_GLES2_DESCR}")
|
||||
endif()
|
||||
|
||||
if (USE_GLES2)
|
||||
add_definitions (-DHAVE_GLES2_EXT)
|
||||
if (NOT IOS)
|
||||
add_definitions (-DHAVE_GLES2)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/egl")
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/gles2")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_EGL")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_GLES2")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_EGL")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_GLES2")
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKOpenGles)
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKOpenGlesTest)
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_GLES2")
|
||||
@@ -724,19 +609,28 @@ else()
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_GLES2")
|
||||
endif()
|
||||
|
||||
# D3D
|
||||
if (USE_D3D)
|
||||
add_definitions (-DHAVE_D3D)
|
||||
#if(MSVC_VERSION LESS 1700)
|
||||
#OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/d3d")
|
||||
#endif()
|
||||
# GL2PS
|
||||
if (NOT DEFINED ANDROID AND CAN_USE_GL2PS)
|
||||
set (USE_GL2PS OFF CACHE BOOL "${USE_GL2PS_DESCR}")
|
||||
|
||||
if (USE_GL2PS)
|
||||
add_definitions (-DHAVE_GL2PS)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/gl2ps")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_GL2PS")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_GL2PS")
|
||||
endif()
|
||||
else()
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKD3DHost)
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKD3DHostTest)
|
||||
OCCT_CHECK_AND_UNSET ("USE_GL2PS")
|
||||
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_GL2PS")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_GL2PS")
|
||||
endif()
|
||||
|
||||
# TBB
|
||||
if (NOT DEFINED ANDROID AND CAN_USE_TBB)
|
||||
set (USE_TBB OFF CACHE BOOL "${USE_TBB_DESCR}")
|
||||
|
||||
if (USE_TBB)
|
||||
add_definitions (-DHAVE_TBB)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tbb")
|
||||
@@ -753,44 +647,10 @@ else()
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_TBB")
|
||||
endif()
|
||||
|
||||
# RapidJSON
|
||||
# search for CSF_RapidJSON variable in EXTERNLIB of each being used toolkit
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_RapidJSON CAN_USE_RAPIDJSON)
|
||||
if (CAN_USE_RAPIDJSON)
|
||||
if (USE_RAPIDJSON)
|
||||
add_definitions (-DHAVE_RAPIDJSON)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/rapidjson")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_RAPIDJSON")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_RAPIDJSON")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_RAPIDJSON")
|
||||
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_RAPIDJSON")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_RAPIDJSON")
|
||||
endif()
|
||||
|
||||
# Draco library
|
||||
# search for CSF_Draco variable in EXTERNLIB of each being used toolkit
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_Draco CAN_USE_DRACO)
|
||||
if (CAN_USE_DRACO)
|
||||
if (USE_DRACO)
|
||||
add_definitions (-DHAVE_DRACO)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/draco")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_DRACO")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_DRACO")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_DRACO")
|
||||
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_DRACO")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_DRACO")
|
||||
endif()
|
||||
|
||||
# EIGEN
|
||||
if (CAN_USE_EIGEN)
|
||||
set (USE_EIGEN OFF CACHE BOOL "${USE_EIGEN_DESCR}")
|
||||
|
||||
if (USE_EIGEN)
|
||||
add_definitions (-DHAVE_EIGEN)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/eigen")
|
||||
@@ -842,26 +702,6 @@ else()
|
||||
OCCT_CHECK_AND_UNSET ("3RDPARTY_FLEX_EXECUTABLE")
|
||||
endif()
|
||||
|
||||
# Jemalloc
|
||||
if ("${USE_MMGR_TYPE}" STREQUAL "JEMALLOC")
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/jemalloc")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_JEMALLOC")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_JEMALLOC")
|
||||
endif()
|
||||
|
||||
# qt for inspector and samples
|
||||
if (BUILD_Inspector OR BUILD_SAMPLES_QT)
|
||||
# check qt 3rdparty path
|
||||
add_definitions (-DHAVE_QT)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/qt")
|
||||
message (STATUS "Info: Qt is used by OCCT")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_QT")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TQTMALLOC")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_QT")
|
||||
endif()
|
||||
|
||||
# check all 3rdparty include paths
|
||||
string (REGEX REPLACE ";" " " 3RDPARTY_NOT_INCLUDED "${3RDPARTY_NOT_INCLUDED}")
|
||||
if (3RDPARTY_NOT_INCLUDED)
|
||||
@@ -949,6 +789,17 @@ else()
|
||||
set (SCRIPT_EXT sh)
|
||||
endif()
|
||||
|
||||
if (BUILD_Inspector OR BUILD_SAMPLES_QT)
|
||||
# check qt 3rdparty path
|
||||
add_definitions (-DHAVE_QT)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/qt")
|
||||
message (STATUS "Info: Qt is used by OCCT")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_QT")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TQTMALLOC")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_QT")
|
||||
endif()
|
||||
|
||||
# OCCT tools
|
||||
# include the patched or original list of tools
|
||||
# list <TOOLNAME>_TOOLKITS is created foreach tool and contains its toolkits
|
||||
@@ -991,11 +842,9 @@ if (INSTALL_SAMPLES)
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/java" "${INSTALL_DIR_SAMPLES}")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/ocafsamples" "${INSTALL_DIR_SAMPLES}")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/qt" "${INSTALL_DIR_SAMPLES}")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code" "${INSTALL_DIR_SAMPLES}/OCCTOverview")
|
||||
|
||||
install (FILES "${CMAKE_BINARY_DIR}/env.samples.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SAMPLES}/qt/FuncDemo" RENAME "env.${SCRIPT_EXT}")
|
||||
install (FILES "${CMAKE_BINARY_DIR}/env.samples.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SAMPLES}/qt/IESample" RENAME "env.${SCRIPT_EXT}")
|
||||
install (FILES "${CMAKE_BINARY_DIR}/env.samples.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SAMPLES}/qt/OCCTOverview" RENAME "env.${SCRIPT_EXT}")
|
||||
install (FILES "${CMAKE_BINARY_DIR}/env.samples.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SAMPLES}/qt/Tutorial" RENAME "env.${SCRIPT_EXT}")
|
||||
endif()
|
||||
|
||||
@@ -1012,10 +861,10 @@ if (${DRAWEXE_INDEX} GREATER -1)
|
||||
# copy draw script to install script folder
|
||||
if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/adm/templates/draw.${SCRIPT_EXT}")
|
||||
install (FILES "${BUILD_PATCH}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
|
||||
else()
|
||||
install (FILES "${CMAKE_SOURCE_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
|
||||
endif()
|
||||
|
||||
# copy draw script to CMake binary folder
|
||||
@@ -1069,22 +918,11 @@ if (BUILD_SAMPLES_MFC OR BUILD_SAMPLES_QT)
|
||||
OCCT_COPY_FILE_OR_DIR ("adm/templates/sample.${SCRIPT_EXT}" "${CMAKE_BINARY_DIR}")
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
# env script for draw in building environment
|
||||
OCCT_CONFIGURE ("adm/templates/env.${SCRIPT_EXT}.in" "env.${SCRIPT_EXT}")
|
||||
# install env script
|
||||
install (FILES "${CMAKE_BINARY_DIR}/env.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}")
|
||||
# copy build.bat and install.bat scripts to CMake binary folder
|
||||
OCCT_COPY_FILE_OR_DIR ("adm/templates/build.bat" "${CMAKE_BINARY_DIR}")
|
||||
OCCT_COPY_FILE_OR_DIR ("adm/templates/install.bat" "${CMAKE_BINARY_DIR}")
|
||||
else()
|
||||
set (SUB_ENV_NAME "env.${SCRIPT_EXT}")
|
||||
set (SUB_ENV_BUILD_NAME "env.install.${SCRIPT_EXT}")
|
||||
# install env script
|
||||
OCCT_CONFIGURE_AND_INSTALL ("adm/templates/env.install.${SCRIPT_EXT}.in" "${SUB_ENV_BUILD_NAME}" "${SUB_ENV_NAME}" "${INSTALL_DIR_SCRIPT}")
|
||||
# env script for draw in building environment
|
||||
OCCT_CONFIGURE ("adm/templates/env.build.${SCRIPT_EXT}.in" "env.${SCRIPT_EXT}")
|
||||
endif()
|
||||
# env script for draw in building environment
|
||||
OCCT_CONFIGURE ("adm/templates/env.${SCRIPT_EXT}.in" "env.${SCRIPT_EXT}")
|
||||
|
||||
# install env script
|
||||
install (FILES "${CMAKE_BINARY_DIR}/env.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}")
|
||||
|
||||
# copy DrawAppliInit from OCCT source to build directory
|
||||
if (NOT EXISTS "${CMAKE_BINARY_DIR}/DrawAppliInit")
|
||||
@@ -1109,15 +947,6 @@ if (BUILD_SAMPLES_QT)
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/${RESOURCE}" "${INSTALL_DIR_RESOURCE}/samples")
|
||||
#message("Copy Sample resources: samples/${RESOURCE} into ${INSTALL_DIR_RESOURCE}/samples")
|
||||
endforeach()
|
||||
|
||||
## Copy sources of OCCTOverview for using in the sample
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/DataExchangeSamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/OcafSamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/GeometrySamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/TopologySamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/TriangulationSamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/Viewer2dSamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/Viewer3dSamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
endif()
|
||||
|
||||
|
||||
@@ -1176,8 +1005,14 @@ if (BUILD_SAMPLES_MFC)
|
||||
add_subdirectory(samples/mfc/standard/mfcsample)
|
||||
add_subdirectory(samples/mfc/standard/01_Geometry)
|
||||
add_subdirectory(samples/mfc/standard/02_Modeling)
|
||||
add_subdirectory(samples/mfc/standard/03_ImportExport)
|
||||
add_subdirectory(samples/mfc/standard/04_HLR)
|
||||
add_subdirectory(samples/mfc/standard/03_Viewer2d)
|
||||
add_subdirectory(samples/mfc/standard/04_Viewer3d)
|
||||
add_subdirectory(samples/mfc/standard/05_ImportExport)
|
||||
add_subdirectory(samples/mfc/standard/06_Ocaf)
|
||||
add_subdirectory(samples/mfc/standard/07_Triangulation)
|
||||
add_subdirectory(samples/mfc/standard/08_HLR)
|
||||
add_subdirectory(samples/mfc/standard/09_Animation)
|
||||
add_subdirectory(samples/mfc/standard/10_Convert)
|
||||
|
||||
message (STATUS "Info: \(${CURRENT_TIME}\) MFC Sample projects added")
|
||||
endif()
|
||||
@@ -1217,10 +1052,10 @@ if (BUILD_TOOL_TOOLKITS)
|
||||
# copy tinspector script to install script folder
|
||||
if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/adm/templates/inspector.${SCRIPT_EXT}")
|
||||
install (FILES "${BUILD_PATCH}/adm/templates/inspector.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
|
||||
else()
|
||||
install (FILES "${CMAKE_SOURCE_DIR}/adm/templates/inspector.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
|
||||
endif()
|
||||
|
||||
set (OpenCASCADE_BINARY_DIR "${INSTALL_DIR}/${INSTALL_DIR_BIN}")
|
||||
@@ -1255,9 +1090,6 @@ foreach (OCCT_TOOLKIT ${BUILD_TOOLKITS})
|
||||
endforeach()
|
||||
list (REMOVE_DUPLICATES OCCT_MODULES_ENABLED)
|
||||
list (REMOVE_DUPLICATES OCCT_COMPILE_DEFINITIONS)
|
||||
# these macros are defined for specific toolkits, not globalwise
|
||||
list (REMOVE_ITEM OCCT_COMPILE_DEFINITIONS HAVE_OPENGL)
|
||||
list (REMOVE_ITEM OCCT_COMPILE_DEFINITIONS HAVE_GLES2)
|
||||
|
||||
# export compile definitions and C/C++ flags for each configuration to OpenCASCADE config files
|
||||
foreach (OCCT_CONFIGURATION ${CMAKE_CONFIGURATION_TYPES})
|
||||
@@ -1275,7 +1107,7 @@ foreach (OCCT_CONFIGURATION ${CMAKE_CONFIGURATION_TYPES})
|
||||
endforeach()
|
||||
# install OpenCASCADE config file with compile definitions and C/C++ flags ONLY for current configuration
|
||||
install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWER)")
|
||||
install (CODE "file(INSTALL FILES \"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" DESTINATION \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/\" TYPE FILE)")
|
||||
install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
|
||||
|
||||
foreach (OCCT_MODULE ${OCCT_MODULES})
|
||||
if (BUILD_MODULE_${OCCT_MODULE})
|
||||
@@ -1311,7 +1143,7 @@ if (WIN32)
|
||||
set (SET_OpenCASCADE_WITH_D3D "set (OpenCASCADE_WITH_D3D ${USE_D3D})")
|
||||
endif()
|
||||
if (APPLE)
|
||||
set (SET_OpenCASCADE_WITH_GLX "set (OpenCASCADE_WITH_GLX ${USE_XLIB})")
|
||||
set (SET_OpenCASCADE_WITH_GLX "set (OpenCASCADE_WITH_GLX ${USE_GLX})")
|
||||
endif()
|
||||
|
||||
# Configure and install cmake config file
|
||||
|
1
adm/.gitignore
vendored
1
adm/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
/build-*
|
12
adm/CMPLRS
12
adm/CMPLRS
@@ -1,17 +1,17 @@
|
||||
wnt WOKSteps_exec_link DRAWEXE #WOKStep_EXELink(exec.tks)
|
||||
lin WOKSteps_exec_link DRAWEXE #WOKStep_EXELink(exec.tks)
|
||||
|
||||
wnt cmplrs_cxx f -D_CRT_SECURE_NO_DEPRECATE -DHAVE_FREEIMAGE -DHAVE_TBB -DHAVE_OPENCL
|
||||
wnt cmplrs_cxx b -D_CRT_SECURE_NO_DEPRECATE -DHAVE_FREEIMAGE -DHAVE_TBB -DHAVE_OPENCL
|
||||
wnt cmplrs_cxx f -D_CRT_SECURE_NO_DEPRECATE -DHAVE_FREEIMAGE -DHAVE_GL2PS -DHAVE_TBB -DHAVE_OPENCL
|
||||
wnt cmplrs_cxx b -D_CRT_SECURE_NO_DEPRECATE -DHAVE_FREEIMAGE -DHAVE_GL2PS -DHAVE_TBB -DHAVE_OPENCL
|
||||
wnt cmplrs_cxx Aspect (wnt cmplrs_cxx b) -D_AFXDLL
|
||||
wnt cmplrs_cxx (wnt cmplrs_cxx b) -D_AFXDLL -D_AFXDLL
|
||||
|
||||
wnt cmplrs_c f -D_CRT_SECURE_NO_DEPRECATE -DHAVE_FREEIMAGE -DHAVE_TBB -DHAVE_OPENCL
|
||||
wnt cmplrs_c b -D_CRT_SECURE_NO_DEPRECATE -DHAVE_FREEIMAGE -DHAVE_TBB -DHAVE_OPENCL
|
||||
wnt cmplrs_c f -D_CRT_SECURE_NO_DEPRECATE -DHAVE_FREEIMAGE -DHAVE_GL2PS -DHAVE_TBB -DHAVE_OPENCL
|
||||
wnt cmplrs_c b -D_CRT_SECURE_NO_DEPRECATE -DHAVE_FREEIMAGE -DHAVE_GL2PS -DHAVE_TBB -DHAVE_OPENCL
|
||||
wnt cmplrs_c NIS (wnt cmplrs_c b) -DSILGL -DSILGL_VRS=50
|
||||
|
||||
lin cmplrs_cxx f -DOCC_CONVERT_SIGNALS -D_GNU_SOURCE=1 -DHAVE_FREEIMAGE -DHAVE_TBB -DHAVE_OPENCL
|
||||
lin cmplrs_cxx b -DOCC_CONVERT_SIGNALS -D_GNU_SOURCE=1 -DHAVE_FREEIMAGE -DHAVE_TBB -DHAVE_OPENCL
|
||||
lin cmplrs_cxx f -DOCC_CONVERT_SIGNALS -D_GNU_SOURCE=1 -DHAVE_FREEIMAGE -DHAVE_GL2PS -DHAVE_TBB -DHAVE_OPENCL
|
||||
lin cmplrs_cxx b -DOCC_CONVERT_SIGNALS -D_GNU_SOURCE=1 -DHAVE_FREEIMAGE -DHAVE_GL2PS -DHAVE_TBB -DHAVE_OPENCL
|
||||
|
||||
lin cmplrs_c f -D_GNU_SOURCE=1 -fexceptions
|
||||
lin cmplrs_c b -D_GNU_SOURCE=1 -fexceptions
|
||||
|
@@ -1,8 +1,7 @@
|
||||
FoundationClasses TKernel TKMath
|
||||
ModelingData TKG2d TKG3d TKGeomBase TKBRep
|
||||
ModelingAlgorithms TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing
|
||||
Visualization TKService TKV3d TKOpenGl TKOpenGles TKMeshVS TKIVtk TKD3DHost
|
||||
Visualization TKService TKV3d TKOpenGl TKMeshVS TKIVtk TKD3DHost
|
||||
ApplicationFramework TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF
|
||||
DataExchange TKDE TKXSBase TKDESTEP TKDEIGES TKDESTL TKDEVRML TKDECascade TKDEOBJ TKDEGLTF TKDEPLY TKXCAF TKXmlXCAF TKBinXCAF TKRWMesh
|
||||
DETools TKExpress ExpToCasExe
|
||||
Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE TKXSDRAWDE TKXSDRAWGLTF TKXSDRAWIGES TKXSDRAWOBJ TKXSDRAWPLY TKXSDRAWSTEP TKXSDRAWSTL TKXSDRAWVRML
|
||||
DataExchange TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF
|
||||
Draw TKDraw TKTopTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE
|
||||
|
@@ -3,7 +3,6 @@ StdResource
|
||||
SHMessage
|
||||
Textures
|
||||
Shaders
|
||||
XRResources
|
||||
XSMessage
|
||||
XSTEPResource
|
||||
XmlOcafResource
|
||||
|
@@ -1 +1 @@
|
||||
qt AndroidQt FuncDemo IESample Tutorial OCCTOverview
|
||||
qt AndroidQt FuncDemo IESample Tutorial
|
@@ -1,3 +1,2 @@
|
||||
qt/Common/res/
|
||||
qt/Tutorial/res/
|
||||
qt/OCCTOverview/res/
|
@@ -1,4 +1,4 @@
|
||||
TModelingData TKShapeView TKMessageModel TKMessageView
|
||||
TModelingData TKShapeView
|
||||
TVisualization TKView TKVInspector
|
||||
TApplicationFramework TKTreeModel TKTInspectorAPI TKDFBrowser
|
||||
TTool TKTInspector TKToolsDraw TInspectorEXE
|
86
adm/UDLIST
86
adm/UDLIST
@@ -11,6 +11,7 @@ n Expr
|
||||
n ExprIntrp
|
||||
n FSD
|
||||
n GeomAbs
|
||||
n MMgt
|
||||
n Message
|
||||
n OSD
|
||||
n PLib
|
||||
@@ -32,7 +33,6 @@ n UnitsAPI
|
||||
n gp
|
||||
n math
|
||||
r OS
|
||||
n FlexLexer
|
||||
t TKMath
|
||||
t TKernel
|
||||
n Adaptor2d
|
||||
@@ -105,10 +105,8 @@ n BRepIntCurveSurface
|
||||
n BRepLib
|
||||
n BRepMAT2d
|
||||
n BRepMesh
|
||||
n BRepMeshData
|
||||
n BRepOffset
|
||||
n BRepOffsetAPI
|
||||
n BRepPreviewAPI
|
||||
n BRepPrim
|
||||
n BRepPrimAPI
|
||||
n BRepProj
|
||||
@@ -143,8 +141,6 @@ n HLRTopoBRep
|
||||
n HLRAppli
|
||||
n Hatch
|
||||
n HatchGen
|
||||
n IMeshData
|
||||
n IMeshTools
|
||||
n IntCurve
|
||||
n IntCurveSurface
|
||||
n IntCurvesFace
|
||||
@@ -198,16 +194,14 @@ t TKPrim
|
||||
t TKShHealing
|
||||
t TKTopAlgo
|
||||
t TKXMesh
|
||||
n InterfaceGraphic
|
||||
n AIS
|
||||
n Aspect
|
||||
n DsgPrs
|
||||
n PrsDim
|
||||
n Graphic3d
|
||||
n Image
|
||||
n Media
|
||||
n MeshVS
|
||||
n OpenGl
|
||||
n OpenGles
|
||||
n D3DHost
|
||||
n Prs3d
|
||||
n PrsMgr
|
||||
@@ -216,17 +210,15 @@ n SelectBasics
|
||||
n SelectMgr
|
||||
n StdPrs
|
||||
n StdSelect
|
||||
n TColQuantity
|
||||
n V3d
|
||||
n Wasm
|
||||
n WNT
|
||||
n Xw
|
||||
n Cocoa
|
||||
r Textures
|
||||
r Shaders
|
||||
r XRResources
|
||||
t TKMeshVS
|
||||
t TKOpenGl
|
||||
t TKOpenGles
|
||||
t TKD3DHost
|
||||
t TKService
|
||||
t TKV3d
|
||||
@@ -329,7 +321,6 @@ n RWStepDimTol
|
||||
n RWStepElement
|
||||
n RWStepFEA
|
||||
n RWStepGeom
|
||||
n RWStepKinematics
|
||||
n RWStepRepr
|
||||
n RWStepShape
|
||||
n RWStepVisual
|
||||
@@ -349,7 +340,6 @@ n StepDimTol
|
||||
n StepElement
|
||||
n StepFEA
|
||||
n StepGeom
|
||||
n StepKinematics
|
||||
n StepRepr
|
||||
n StepSelect
|
||||
n StepShape
|
||||
@@ -377,13 +367,16 @@ r SHMessage
|
||||
r XSMessage
|
||||
r XSTEPResource
|
||||
t TKBinXCAF
|
||||
t TKDESTL
|
||||
t TKDEVRML
|
||||
t TKIGES
|
||||
t TKSTEP
|
||||
t TKSTEP209
|
||||
t TKSTEPAttr
|
||||
t TKSTEPBase
|
||||
t TKSTL
|
||||
t TKVRML
|
||||
t TKXCAF
|
||||
t TKDE
|
||||
t TKDECascade
|
||||
t TKDEIGES
|
||||
t TKDESTEP
|
||||
t TKXDEIGES
|
||||
t TKXDESTEP
|
||||
t TKXSBase
|
||||
t TKXmlXCAF
|
||||
n BOPTest
|
||||
@@ -392,9 +385,6 @@ n DBRep
|
||||
n DDF
|
||||
n DDataStd
|
||||
n DDocStd
|
||||
n DE
|
||||
n DEXCAFCascade
|
||||
n DEBRepCascade
|
||||
n DNaming
|
||||
n DPrsStd
|
||||
n Draw
|
||||
@@ -407,39 +397,20 @@ n HLRTest
|
||||
n MeshTest
|
||||
n SWDRAW
|
||||
n TObjDRAW
|
||||
n OpenGlTest
|
||||
n OpenGlesTest
|
||||
n D3DHostTest
|
||||
n ViewerTest
|
||||
n XDEDRAW
|
||||
n XSDRAW
|
||||
n XSDRAWIGES
|
||||
n XSDRAWSTEP
|
||||
n XSDRAWSTL
|
||||
n XSDRAWVRML
|
||||
n XSDRAWDE
|
||||
n XSDRAWGLTF
|
||||
n XSDRAWOBJ
|
||||
n XSDRAWPLY
|
||||
n XSDRAWSTLVRML
|
||||
r DrawResources
|
||||
t TKDCAF
|
||||
t TKDraw
|
||||
t TKTObjDRAW
|
||||
t TKTopTest
|
||||
t TKOpenGlTest
|
||||
t TKOpenGlesTest
|
||||
t TKD3DHostTest
|
||||
t TKViewerTest
|
||||
t TKXDEDRAW
|
||||
t TKXSDRAW
|
||||
t TKXSDRAWIGES
|
||||
t TKXSDRAWSTEP
|
||||
t TKXSDRAWSTL
|
||||
t TKXSDRAWVRML
|
||||
t TKXSDRAWDE
|
||||
t TKXSDRAWGLTF
|
||||
t TKXSDRAWOBJ
|
||||
t TKXSDRAWPLY
|
||||
x DRAWEXE
|
||||
n QADraw
|
||||
n QANCollection
|
||||
@@ -464,34 +435,3 @@ n Geom2dEvaluator
|
||||
t TKVCAF
|
||||
n XCAFView
|
||||
n XCAFNoteObjects
|
||||
t TKRWMesh
|
||||
t TKDEGLTF
|
||||
t TKDEOBJ
|
||||
t TKDEPLY
|
||||
n RWGltf
|
||||
n RWMesh
|
||||
n RWObj
|
||||
n RWPly
|
||||
n DFBrowser
|
||||
n DFBrowserPane
|
||||
n DFBrowserPaneXDE
|
||||
n ShapeView
|
||||
n TInspector
|
||||
n TInspectorAPI
|
||||
x TInspectorEXE
|
||||
t TKDFBrowser
|
||||
t TKShapeView
|
||||
t TKTInspector
|
||||
t TKTInspectorAPI
|
||||
t TKToolsDraw
|
||||
t TKTreeModel
|
||||
t TKView
|
||||
t TKVInspector
|
||||
n ToolsDraw
|
||||
n TreeModel
|
||||
n View
|
||||
n ViewControl
|
||||
n VInspector
|
||||
n Express
|
||||
t TKExpress
|
||||
x ExpToCasExe
|
||||
|
@@ -19,7 +19,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
# include occt macros. compiler_bitness, os_wiht_bit, compiler
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
|
||||
|
||||
# specify product folder in connection with 3RDPARTY_DIR
|
||||
# specify product folder in connectin with 3RDPARTY_DIR
|
||||
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
|
||||
#CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_DIR 3RDPARTY_${PRODUCT_NAME}_DIR PATH "The directory containing ${PRODUCT_NAME}")
|
||||
|
||||
@@ -97,12 +97,12 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}")
|
||||
find_path (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR NAMES ${HEADER_NAME}
|
||||
PATHS ${3RDPARTY_${PRODUCT_NAME}_DIR}
|
||||
PATH_SUFFIXES include inc headers
|
||||
PATH_SUFFIXES include inc
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
else()
|
||||
find_path (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR NAMES ${HEADER_NAME}
|
||||
PATH_SUFFIXES include inc headers
|
||||
PATH_SUFFIXES include inc
|
||||
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||
endif()
|
||||
endif()
|
||||
@@ -125,19 +125,15 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
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}}"))
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}")
|
||||
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}
|
||||
@@ -185,10 +181,10 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
# 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}}"))
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}")
|
||||
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}
|
||||
PATHS "${3RDPARTY_${PRODUCT_NAME}_DIR}"
|
||||
PATH_SUFFIXES bin win${COMPILER_BITNESS}/${COMPILER}/bin
|
||||
NO_DEFAULT_PATH)
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX} STREQUAL "3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}-NOTFOUND")
|
||||
# find directory recursive
|
||||
@@ -242,7 +238,6 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
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)
|
||||
@@ -282,6 +277,26 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if("${PRODUCT_NAME}" STREQUAL "GL2PS")
|
||||
get_filename_component(GL2PSLIB ${3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}} NAME)
|
||||
|
||||
if (SINGLE_GENERATOR)
|
||||
install (FILES "${ABS_PATH}" DESTINATION "${INSTALL_DIR_LIB}" RENAME ${GL2PSLIB}.1)
|
||||
else()
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR_LIB}"
|
||||
RENAME ${GL2PSLIB}.1)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR_LIB}i"
|
||||
RENAME ${GL2PSLIB}.1)
|
||||
install (FILES "${ABS_PATH}"
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR_LIB}d"
|
||||
RENAME ${GL2PSLIB}.1)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
# the library directory for using by the executable
|
||||
@@ -293,9 +308,6 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
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()
|
||||
|
||||
mark_as_advanced (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX} 3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX})
|
||||
|
@@ -2,24 +2,19 @@
|
||||
|
||||
# execute FindBISON script by "find_package (Bison)" is required to define BISON_TARGET macro
|
||||
|
||||
# delete obsolete 3RDPARTY_BISON_EXECUTABLE cache variable (not used anymore)
|
||||
unset (3RDPARTY_BISON_EXECUTABLE CACHE)
|
||||
|
||||
# delete BISON_EXECUTABLE cache variable if it is empty, otherwise find_package will fail
|
||||
# without reasonable diagnostic
|
||||
if (NOT BISON_EXECUTABLE OR NOT EXISTS "${BISON_EXECUTABLE}")
|
||||
unset (BISON_EXECUTABLE CACHE)
|
||||
if (NOT DEFINED 3RDPARTY_BISON_EXECUTABLE)
|
||||
set (3RDPARTY_BISON_EXECUTABLE "" CACHE FILEPATH "The path to the bison command")
|
||||
endif()
|
||||
|
||||
# Add paths to 3rdparty subfolders containing name "bison" to CMAKE_PROGRAM_PATH variable to make
|
||||
# these paths searched by find_package
|
||||
if (3RDPARTY_DIR)
|
||||
file (GLOB BISON_PATHS LIST_DIRECTORIES true "${3RDPARTY_DIR}/*bison*/")
|
||||
foreach (candidate_path ${BISON_PATHS})
|
||||
if (IS_DIRECTORY ${candidate_path})
|
||||
list (APPEND CMAKE_PROGRAM_PATH ${candidate_path})
|
||||
endif()
|
||||
endforeach()
|
||||
# BISON_EXECUTABLE is required by BISON_TARGET macro and should be defined
|
||||
set (BISON_EXECUTABLE "${3RDPARTY_BISON_EXECUTABLE}" CACHE FILEPATH "path to the bison executable" FORCE)
|
||||
|
||||
find_package (BISON)
|
||||
|
||||
if (BISON_FOUND)
|
||||
set (3RDPARTY_BISON_EXECUTABLE "${BISON_EXECUTABLE}" CACHE FILEPATH "The Path to the bison command" FORCE)
|
||||
endif()
|
||||
|
||||
find_package (BISON 3.7.4)
|
||||
if (NOT 3RDPARTY_BISON_EXECUTABLE OR NOT EXISTS "${3RDPARTY_BISON_EXECUTABLE}")
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_BISON_EXECUTABLE)
|
||||
endif()
|
@@ -3,7 +3,7 @@
|
||||
# See the cotire manual for usage hints.
|
||||
#
|
||||
#=============================================================================
|
||||
# Copyright 2012-2018 Sascha Kratky
|
||||
# Copyright 2012-2016 Sascha Kratky
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation
|
||||
@@ -43,7 +43,7 @@ if (NOT CMAKE_SCRIPT_MODE_FILE)
|
||||
endif()
|
||||
|
||||
set (COTIRE_CMAKE_MODULE_FILE "${CMAKE_CURRENT_LIST_FILE}")
|
||||
set (COTIRE_CMAKE_MODULE_VERSION "1.8.1")
|
||||
set (COTIRE_CMAKE_MODULE_VERSION "1.7.9")
|
||||
|
||||
# activate select policies
|
||||
if (POLICY CMP0025)
|
||||
@@ -106,11 +106,6 @@ if (POLICY CMP0054)
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
endif()
|
||||
|
||||
if (POLICY CMP0055)
|
||||
# strict checking for break() command
|
||||
cmake_policy(SET CMP0055 NEW)
|
||||
endif()
|
||||
|
||||
include(CMakeParseArguments)
|
||||
include(ProcessorCount)
|
||||
|
||||
@@ -238,16 +233,10 @@ function (cotire_filter_language_source_files _language _target _sourceFilesVar
|
||||
if (_sourceCompileFlags)
|
||||
# add to excluded sources, if file has custom compile flags
|
||||
list (APPEND _excludedSourceFiles "${_sourceFile}")
|
||||
else()
|
||||
get_source_file_property(_sourceCompileOptions "${_sourceFile}" COMPILE_OPTIONS)
|
||||
if (_sourceCompileOptions)
|
||||
# add to excluded sources, if file has list of custom compile options
|
||||
list (APPEND _excludedSourceFiles "${_sourceFile}")
|
||||
else()
|
||||
list (APPEND _sourceFiles "${_sourceFile}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
if (COTIRE_DEBUG)
|
||||
if (_sourceFiles)
|
||||
@@ -304,7 +293,7 @@ function (cotire_get_source_file_property_values _valuesVar _property)
|
||||
set (${_valuesVar} ${_values} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function (cotire_resolve_config_properties _configurations _propertiesVar)
|
||||
function (cotire_resolve_config_properites _configurations _propertiesVar)
|
||||
set (_properties "")
|
||||
foreach (_property ${ARGN})
|
||||
if ("${_property}" MATCHES "<CONFIG>")
|
||||
@@ -320,8 +309,8 @@ function (cotire_resolve_config_properties _configurations _propertiesVar)
|
||||
set (${_propertiesVar} ${_properties} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function (cotire_copy_set_properties _configurations _type _source _target)
|
||||
cotire_resolve_config_properties("${_configurations}" _properties ${ARGN})
|
||||
function (cotire_copy_set_properites _configurations _type _source _target)
|
||||
cotire_resolve_config_properites("${_configurations}" _properties ${ARGN})
|
||||
foreach (_property ${_properties})
|
||||
get_property(_isSet ${_type} ${_source} PROPERTY ${_property} SET)
|
||||
if (_isSet)
|
||||
@@ -331,18 +320,13 @@ function (cotire_copy_set_properties _configurations _type _source _target)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
function (cotire_get_target_usage_requirements _target _config _targetRequirementsVar)
|
||||
function (cotire_get_target_usage_requirements _target _targetRequirementsVar)
|
||||
set (_targetRequirements "")
|
||||
get_target_property(_librariesToProcess ${_target} LINK_LIBRARIES)
|
||||
while (_librariesToProcess)
|
||||
# remove from head
|
||||
list (GET _librariesToProcess 0 _library)
|
||||
list (REMOVE_AT _librariesToProcess 0)
|
||||
if (_library MATCHES "^\\$<\\$<CONFIG:${_config}>:([A-Za-z0-9_:-]+)>$")
|
||||
set (_library "${CMAKE_MATCH_1}")
|
||||
elseif (_config STREQUAL "None" AND _library MATCHES "^\\$<\\$<CONFIG:>:([A-Za-z0-9_:-]+)>$")
|
||||
set (_library "${CMAKE_MATCH_1}")
|
||||
endif()
|
||||
if (TARGET ${_library})
|
||||
list (FIND _targetRequirements ${_library} _index)
|
||||
if (_index LESS 0)
|
||||
@@ -457,7 +441,7 @@ function (cotire_get_target_compile_flags _config _language _target _flagsVar)
|
||||
# interface compile options from linked library targets
|
||||
if (_target)
|
||||
set (_linkedTargets "")
|
||||
cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets)
|
||||
cotire_get_target_usage_requirements(${_target} _linkedTargets)
|
||||
foreach (_linkedTarget ${_linkedTargets})
|
||||
get_target_property(_targetOptions ${_linkedTarget} INTERFACE_COMPILE_OPTIONS)
|
||||
if (_targetOptions)
|
||||
@@ -589,7 +573,7 @@ function (cotire_get_target_include_directories _config _language _target _inclu
|
||||
# interface include directories from linked library targets
|
||||
if (_target)
|
||||
set (_linkedTargets "")
|
||||
cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets)
|
||||
cotire_get_target_usage_requirements(${_target} _linkedTargets)
|
||||
foreach (_linkedTarget ${_linkedTargets})
|
||||
get_target_property(_linkedTargetType ${_linkedTarget} TYPE)
|
||||
if (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE AND NOT CMAKE_VERSION VERSION_LESS "3.4.0" AND
|
||||
@@ -643,7 +627,7 @@ function (cotire_get_target_include_directories _config _language _target _inclu
|
||||
if (CMAKE_${_language}_IMPLICIT_INCLUDE_DIRECTORIES)
|
||||
list (REMOVE_ITEM _includeDirs ${CMAKE_${_language}_IMPLICIT_INCLUDE_DIRECTORIES})
|
||||
endif()
|
||||
if (WIN32 AND NOT MINGW)
|
||||
if (WIN32)
|
||||
# convert Windows paths in include directories to CMake paths
|
||||
if (_includeDirs)
|
||||
set (_paths "")
|
||||
@@ -719,7 +703,7 @@ function (cotire_get_target_compile_definitions _config _language _target _defin
|
||||
endif()
|
||||
# interface compile definitions from linked library targets
|
||||
set (_linkedTargets "")
|
||||
cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets)
|
||||
cotire_get_target_usage_requirements(${_target} _linkedTargets)
|
||||
foreach (_linkedTarget ${_linkedTargets})
|
||||
get_target_property(_definitions ${_linkedTarget} INTERFACE_COMPILE_DEFINITIONS)
|
||||
if (_definitions)
|
||||
@@ -727,7 +711,7 @@ function (cotire_get_target_compile_definitions _config _language _target _defin
|
||||
endif()
|
||||
endforeach()
|
||||
# parse additional compile definitions from target compile flags
|
||||
# and do not look at directory compile definitions, which we already handled
|
||||
# and don't look at directory compile definitions, which we already handled
|
||||
set (_targetFlags "")
|
||||
cotire_get_target_compile_flags("${_config}" "${_language}" "${_target}" _targetFlags)
|
||||
cotire_filter_compile_flags("${_language}" "D" _definitions _ignore ${_targetFlags})
|
||||
@@ -875,9 +859,6 @@ macro (cotire_set_cmd_to_prologue _cmdVar)
|
||||
list (APPEND ${_cmdVar} "--warn-uninitialized")
|
||||
endif()
|
||||
list (APPEND ${_cmdVar} "-DCOTIRE_BUILD_TYPE:STRING=$<CONFIGURATION>")
|
||||
if (XCODE)
|
||||
list (APPEND ${_cmdVar} "-DXCODE:BOOL=TRUE")
|
||||
endif()
|
||||
if (COTIRE_VERBOSE)
|
||||
list (APPEND ${_cmdVar} "-DCOTIRE_VERBOSE:BOOL=ON")
|
||||
elseif("${CMAKE_GENERATOR}" MATCHES "Makefiles")
|
||||
@@ -895,9 +876,6 @@ function (cotire_init_compile_cmd _cmdVar _language _compilerLauncher _compilerE
|
||||
if (NOT _compilerArg1)
|
||||
set (_compilerArg1 ${CMAKE_${_language}_COMPILER_ARG1})
|
||||
endif()
|
||||
if (WIN32)
|
||||
file (TO_NATIVE_PATH "${_compilerExe}" _compilerExe)
|
||||
endif()
|
||||
string (STRIP "${_compilerArg1}" _compilerArg1)
|
||||
if ("${CMAKE_GENERATOR}" MATCHES "Make|Ninja")
|
||||
# compiler launcher is only supported for Makefile and Ninja
|
||||
@@ -924,16 +902,16 @@ function (cotire_add_includes_to_cmd _cmdVar _language _includesVar _systemInclu
|
||||
foreach (_include ${_includeDirs})
|
||||
if (WIN32 AND CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel")
|
||||
file (TO_NATIVE_PATH "${_include}" _include)
|
||||
list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_SEP_${_language}}${_include}")
|
||||
list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_${_language}_SEP}${_include}")
|
||||
else()
|
||||
set (_index -1)
|
||||
if ("${CMAKE_INCLUDE_SYSTEM_FLAG_${_language}}" MATCHES ".+")
|
||||
list (FIND ${_systemIncludesVar} "${_include}" _index)
|
||||
endif()
|
||||
if (_index GREATER -1)
|
||||
list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_SYSTEM_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_SEP_${_language}}${_include}")
|
||||
list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_SYSTEM_FLAG_${_language}}${_include}")
|
||||
else()
|
||||
list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_SEP_${_language}}${_include}")
|
||||
list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_${_language}_SEP}${_include}")
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
@@ -1068,10 +1046,10 @@ macro (cotire_check_ignore_header_file_path _headerFile _headerIsIgnoredVar)
|
||||
set (${_headerIsIgnoredVar} TRUE)
|
||||
elseif (IS_DIRECTORY "${_headerFile}")
|
||||
set (${_headerIsIgnoredVar} TRUE)
|
||||
elseif ("${_headerFile}" MATCHES "\\.\\.|[_-]fixed")
|
||||
# heuristic: ignore headers with embedded parent directory references or "-fixed" or "_fixed" in path
|
||||
elseif ("${_headerFile}" MATCHES "\\.\\.|[_-]fixed" AND "${_headerFile}" MATCHES "\\.h$")
|
||||
# heuristic: ignore C headers with embedded parent directory references or "-fixed" or "_fixed" in path
|
||||
# these often stem from using GCC #include_next tricks, which may break the precompiled header compilation
|
||||
# with the error message "error: no include path in which to search for header"
|
||||
# with the error message "error: no include path in which to search for header.h"
|
||||
set (${_headerIsIgnoredVar} TRUE)
|
||||
else()
|
||||
set (${_headerIsIgnoredVar} FALSE)
|
||||
@@ -1092,11 +1070,12 @@ endmacro()
|
||||
|
||||
macro (cotire_parse_line _line _headerFileVar _headerDepthVar)
|
||||
if (MSVC)
|
||||
# cl.exe /showIncludes produces different output, depending on the language pack used, e.g.:
|
||||
# cl.exe /showIncludes output looks different depending on the language pack used, e.g.:
|
||||
# English: "Note: including file: C:\directory\file"
|
||||
# German: "Hinweis: Einlesen der Datei: C:\directory\file"
|
||||
# We use a very general regular expression, relying on the presence of the : characters
|
||||
if (_line MATCHES "( +)([a-zA-Z]:[^:]+)$")
|
||||
# Visual Studio compiler output
|
||||
string (LENGTH "${CMAKE_MATCH_1}" ${_headerDepthVar})
|
||||
get_filename_component(${_headerFileVar} "${CMAKE_MATCH_2}" ABSOLUTE)
|
||||
else()
|
||||
@@ -1254,19 +1233,11 @@ function (cotire_scan_includes _includesVar)
|
||||
set (${_includesVar} "" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
# add source files to be scanned
|
||||
if (WIN32)
|
||||
foreach (_sourceFile ${_existingSourceFiles})
|
||||
file (TO_NATIVE_PATH "${_sourceFile}" _sourceFileNative)
|
||||
list (APPEND _cmd "${_sourceFileNative}")
|
||||
endforeach()
|
||||
else()
|
||||
list (APPEND _cmd ${_existingSourceFiles})
|
||||
endif()
|
||||
if (COTIRE_VERBOSE)
|
||||
message (STATUS "execute_process: ${_cmd}")
|
||||
endif()
|
||||
if (MSVC_IDE OR _option_COMPILER_ID MATCHES "MSVC")
|
||||
if (_option_COMPILER_ID MATCHES "MSVC")
|
||||
# cl.exe messes with the output streams unless the environment variable VS_UNICODE_OUTPUT is cleared
|
||||
unset (ENV{VS_UNICODE_OUTPUT})
|
||||
endif()
|
||||
@@ -1502,16 +1473,11 @@ function (cotire_generate_prefix_header _prefixFile)
|
||||
if (_unparsedLines)
|
||||
if (COTIRE_VERBOSE OR _scanResult OR NOT _selectedHeaders)
|
||||
list (LENGTH _unparsedLines _skippedLineCount)
|
||||
if (WIN32)
|
||||
file (TO_NATIVE_PATH "${_unparsedLinesFile}" _unparsedLinesLogPath)
|
||||
else()
|
||||
set (_unparsedLinesLogPath "${_unparsedLinesFile}")
|
||||
endif()
|
||||
message (STATUS "${_skippedLineCount} line(s) skipped, see ${_unparsedLinesLogPath}")
|
||||
message (STATUS "${_skippedLineCount} line(s) skipped, see ${_unparsedLinesFile}")
|
||||
endif()
|
||||
string (REPLACE ";" "\n" _unparsedLines "${_unparsedLines}")
|
||||
endif()
|
||||
file (WRITE "${_unparsedLinesFile}" "${_unparsedLines}\n")
|
||||
file (WRITE "${_unparsedLinesFile}" "${_unparsedLines}")
|
||||
endfunction()
|
||||
|
||||
function (cotire_add_makedep_flags _language _compilerID _compilerVersion _flagsVar)
|
||||
@@ -1541,7 +1507,7 @@ function (cotire_add_makedep_flags _language _compilerID _compilerVersion _flags
|
||||
# append to list
|
||||
list (APPEND _flags -H -E)
|
||||
if (NOT "${_compilerVersion}" VERSION_LESS "4.3.0")
|
||||
list (APPEND _flags -fdirectives-only)
|
||||
list (APPEND _flags "-fdirectives-only")
|
||||
endif()
|
||||
else()
|
||||
# return as a flag string
|
||||
@@ -1551,36 +1517,16 @@ function (cotire_add_makedep_flags _language _compilerID _compilerVersion _flags
|
||||
endif()
|
||||
endif()
|
||||
elseif (_compilerID MATCHES "Clang")
|
||||
if (UNIX)
|
||||
# Clang options used
|
||||
# -H print the name of each header file used
|
||||
# -E invoke preprocessor
|
||||
# -fno-color-diagnostics do not print diagnostics in color
|
||||
# -Eonly just run preprocessor, no output
|
||||
# -fno-color-diagnostics don't prints diagnostics in color
|
||||
if (_flags)
|
||||
# append to list
|
||||
list (APPEND _flags -H -E -fno-color-diagnostics -Xclang -Eonly)
|
||||
list (APPEND _flags -H -E -fno-color-diagnostics)
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "-H -E -fno-color-diagnostics -Xclang -Eonly")
|
||||
endif()
|
||||
elseif (WIN32)
|
||||
# Clang-cl.exe options used
|
||||
# /TC treat all files named on the command line as C source files
|
||||
# /TP treat all files named on the command line as C++ source files
|
||||
# /EP preprocess to stdout without #line directives
|
||||
# -H print the name of each header file used
|
||||
# -fno-color-diagnostics do not print diagnostics in color
|
||||
# -Eonly just run preprocessor, no output
|
||||
set (_sourceFileTypeC "/TC")
|
||||
set (_sourceFileTypeCXX "/TP")
|
||||
if (_flags)
|
||||
# append to list
|
||||
list (APPEND _flags "${_sourceFileType${_language}}" /EP -fno-color-diagnostics -Xclang -H -Xclang -Eonly)
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "${_sourceFileType${_language}} /EP -fno-color-diagnostics -Xclang -H -Xclang -Eonly")
|
||||
endif()
|
||||
set (_flags "-H -E -fno-color-diagnostics")
|
||||
endif()
|
||||
elseif (_compilerID MATCHES "Intel")
|
||||
if (WIN32)
|
||||
@@ -1654,8 +1600,8 @@ function (cotire_add_pch_compilation_flags _language _compilerID _compilerVersio
|
||||
set (_flags "${_flags} /Zm${COTIRE_PCH_MEMORY_SCALING_FACTOR}")
|
||||
endif()
|
||||
endif()
|
||||
elseif (_compilerID MATCHES "GNU")
|
||||
# GCC options used
|
||||
elseif (_compilerID MATCHES "GNU|Clang")
|
||||
# GCC / Clang options used
|
||||
# -x specify the source language
|
||||
# -c compile but do not link
|
||||
# -o place output in file
|
||||
@@ -1665,55 +1611,11 @@ function (cotire_add_pch_compilation_flags _language _compilerID _compilerVersio
|
||||
set (_xLanguage_CXX "c++-header")
|
||||
if (_flags)
|
||||
# append to list
|
||||
list (APPEND _flags -x "${_xLanguage_${_language}}" -c "${_prefixFile}" -o "${_pchFile}")
|
||||
list (APPEND _flags "-x" "${_xLanguage_${_language}}" "-c" "${_prefixFile}" -o "${_pchFile}")
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "-x ${_xLanguage_${_language}} -c \"${_prefixFile}\" -o \"${_pchFile}\"")
|
||||
endif()
|
||||
elseif (_compilerID MATCHES "Clang")
|
||||
if (UNIX)
|
||||
# Clang options used
|
||||
# -x specify the source language
|
||||
# -c compile but do not link
|
||||
# -o place output in file
|
||||
# -fno-pch-timestamp disable inclusion of timestamp in precompiled headers (clang 4.0.0+)
|
||||
set (_xLanguage_C "c-header")
|
||||
set (_xLanguage_CXX "c++-header")
|
||||
if (_flags)
|
||||
# append to list
|
||||
list (APPEND _flags -x "${_xLanguage_${_language}}" -c "${_prefixFile}" -o "${_pchFile}")
|
||||
if (NOT "${_compilerVersion}" VERSION_LESS "4.0.0")
|
||||
list (APPEND _flags -Xclang -fno-pch-timestamp)
|
||||
endif()
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "-x ${_xLanguage_${_language}} -c \"${_prefixFile}\" -o \"${_pchFile}\"")
|
||||
if (NOT "${_compilerVersion}" VERSION_LESS "4.0.0")
|
||||
set (_flags "${_flags} -Xclang -fno-pch-timestamp")
|
||||
endif()
|
||||
endif()
|
||||
elseif (WIN32)
|
||||
file (TO_NATIVE_PATH "${_prefixFile}" _prefixFileNative)
|
||||
file (TO_NATIVE_PATH "${_pchFile}" _pchFileNative)
|
||||
file (TO_NATIVE_PATH "${_hostFile}" _hostFileNative)
|
||||
# Clang-cl.exe options used
|
||||
# /Yc creates a precompiled header file
|
||||
# /Fp specifies precompiled header binary file name
|
||||
# /FI forces inclusion of file
|
||||
# /Zs syntax check only
|
||||
# /TC treat all files named on the command line as C source files
|
||||
# /TP treat all files named on the command line as C++ source files
|
||||
set (_sourceFileTypeC "/TC")
|
||||
set (_sourceFileTypeCXX "/TP")
|
||||
if (_flags)
|
||||
# append to list
|
||||
list (APPEND _flags "${_sourceFileType${_language}}"
|
||||
"/Yc${_prefixFileNative}" "/Fp${_pchFileNative}" "/FI${_prefixFileNative}" /Zs "${_hostFileNative}")
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "/Yc\"${_prefixFileNative}\" /Fp\"${_pchFileNative}\" /FI\"${_prefixFileNative}\"")
|
||||
endif()
|
||||
endif()
|
||||
elseif (_compilerID MATCHES "Intel")
|
||||
if (WIN32)
|
||||
file (TO_NATIVE_PATH "${_prefixFile}" _prefixFileNative)
|
||||
@@ -1755,31 +1657,23 @@ function (cotire_add_pch_compilation_flags _language _compilerID _compilerVersio
|
||||
get_filename_component(_pchName "${_pchFile}" NAME)
|
||||
set (_xLanguage_C "c-header")
|
||||
set (_xLanguage_CXX "c++-header")
|
||||
set (_pchSuppressMessages FALSE)
|
||||
if ("${CMAKE_${_language}_FLAGS}" MATCHES ".*-Wno-pch-messages.*")
|
||||
set(_pchSuppressMessages TRUE)
|
||||
endif()
|
||||
if (_flags)
|
||||
# append to list
|
||||
if ("${_language}" STREQUAL "CXX")
|
||||
list (APPEND _flags -Kc++)
|
||||
endif()
|
||||
list (APPEND _flags -include "${_prefixFile}" -pch-dir "${_pchDir}" -pch-create "${_pchName}" -fsyntax-only "${_hostFile}")
|
||||
list (APPEND _flags "-include" "${_prefixFile}" "-pch-dir" "${_pchDir}" "-pch-create" "${_pchName}" "-fsyntax-only" "${_hostFile}")
|
||||
if (NOT "${_compilerVersion}" VERSION_LESS "13.1.0")
|
||||
if (NOT _pchSuppressMessages)
|
||||
list (APPEND _flags -Wpch-messages)
|
||||
endif()
|
||||
list (APPEND _flags "-Wpch-messages")
|
||||
endif()
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "-include \"${_prefixFile}\" -pch-dir \"${_pchDir}\" -pch-create \"${_pchName}\"")
|
||||
if (NOT "${_compilerVersion}" VERSION_LESS "13.1.0")
|
||||
if (NOT _pchSuppressMessages)
|
||||
set (_flags "${_flags} -Wpch-messages")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
message (FATAL_ERROR "cotire: unsupported ${_language} compiler ${_compilerID} version ${_compilerVersion}.")
|
||||
endif()
|
||||
@@ -1827,48 +1721,23 @@ function (cotire_add_prefix_pch_inclusion_flags _language _compilerID _compilerV
|
||||
# note: ccache requires the -include flag to be used in order to process precompiled header correctly
|
||||
if (_flags)
|
||||
# append to list
|
||||
list (APPEND _flags -Winvalid-pch -include "${_prefixFile}")
|
||||
list (APPEND _flags "-Winvalid-pch" "-include" "${_prefixFile}")
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "-Winvalid-pch -include \"${_prefixFile}\"")
|
||||
endif()
|
||||
elseif (_compilerID MATCHES "Clang")
|
||||
if (UNIX)
|
||||
# Clang options used
|
||||
# -include process include file as the first line of the primary source file
|
||||
# -include-pch include precompiled header file
|
||||
# -Qunused-arguments don't emit warning for unused driver arguments
|
||||
# note: ccache requires the -include flag to be used in order to process precompiled header correctly
|
||||
if (_flags)
|
||||
# append to list
|
||||
list (APPEND _flags -include "${_prefixFile}")
|
||||
list (APPEND _flags "-Qunused-arguments" "-include" "${_prefixFile}")
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "-include \"${_prefixFile}\"")
|
||||
endif()
|
||||
elseif (WIN32)
|
||||
file (TO_NATIVE_PATH "${_prefixFile}" _prefixFileNative)
|
||||
# Clang-cl.exe options used
|
||||
# /Yu uses a precompiled header file during build
|
||||
# /Fp specifies precompiled header binary file name
|
||||
# /FI forces inclusion of file
|
||||
if (_pchFile)
|
||||
file (TO_NATIVE_PATH "${_pchFile}" _pchFileNative)
|
||||
if (_flags)
|
||||
# append to list
|
||||
list (APPEND _flags "/Yu${_prefixFileNative}" "/Fp${_pchFileNative}" "/FI${_prefixFileNative}")
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "/Yu\"${_prefixFileNative}\" /Fp\"${_pchFileNative}\" /FI\"${_prefixFileNative}\"")
|
||||
endif()
|
||||
else()
|
||||
# no precompiled header, force inclusion of prefix header
|
||||
if (_flags)
|
||||
# append to list
|
||||
list (APPEND _flags "/FI${_prefixFileNative}")
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "/FI\"${_prefixFileNative}\"")
|
||||
endif()
|
||||
endif()
|
||||
set (_flags "-Qunused-arguments -include \"${_prefixFile}\"")
|
||||
endif()
|
||||
elseif (_compilerID MATCHES "Intel")
|
||||
if (WIN32)
|
||||
@@ -1912,32 +1781,24 @@ function (cotire_add_prefix_pch_inclusion_flags _language _compilerID _compilerV
|
||||
if (_pchFile)
|
||||
get_filename_component(_pchDir "${_pchFile}" DIRECTORY)
|
||||
get_filename_component(_pchName "${_pchFile}" NAME)
|
||||
set (_pchSuppressMessages FALSE)
|
||||
if ("${CMAKE_${_language}_FLAGS}" MATCHES ".*-Wno-pch-messages.*")
|
||||
set(_pchSuppressMessages TRUE)
|
||||
endif()
|
||||
if (_flags)
|
||||
# append to list
|
||||
list (APPEND _flags -include "${_prefixFile}" -pch-dir "${_pchDir}" -pch-use "${_pchName}")
|
||||
list (APPEND _flags "-include" "${_prefixFile}" "-pch-dir" "${_pchDir}" "-pch-use" "${_pchName}")
|
||||
if (NOT "${_compilerVersion}" VERSION_LESS "13.1.0")
|
||||
if (NOT _pchSuppressMessages)
|
||||
list (APPEND _flags -Wpch-messages)
|
||||
endif()
|
||||
list (APPEND _flags "-Wpch-messages")
|
||||
endif()
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "-include \"${_prefixFile}\" -pch-dir \"${_pchDir}\" -pch-use \"${_pchName}\"")
|
||||
if (NOT "${_compilerVersion}" VERSION_LESS "13.1.0")
|
||||
if (NOT _pchSuppressMessages)
|
||||
set (_flags "${_flags} -Wpch-messages")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
# no precompiled header, force inclusion of prefix header
|
||||
if (_flags)
|
||||
# append to list
|
||||
list (APPEND _flags -include "${_prefixFile}")
|
||||
list (APPEND _flags "-include" "${_prefixFile}")
|
||||
else()
|
||||
# return as a flag string
|
||||
set (_flags "-include \"${_prefixFile}\"")
|
||||
@@ -1975,17 +1836,9 @@ function (cotire_precompile_prefix_header _prefixFile _pchFile _hostFile)
|
||||
if (COTIRE_VERBOSE)
|
||||
message (STATUS "execute_process: ${_cmd}")
|
||||
endif()
|
||||
if (MSVC_IDE OR _option_COMPILER_ID MATCHES "MSVC")
|
||||
if (_option_COMPILER_ID MATCHES "MSVC")
|
||||
# cl.exe messes with the output streams unless the environment variable VS_UNICODE_OUTPUT is cleared
|
||||
unset (ENV{VS_UNICODE_OUTPUT})
|
||||
elseif (_option_COMPILER_ID MATCHES "Clang" AND _option_COMPILER_VERSION VERSION_LESS "4.0.0")
|
||||
if (_option_COMPILER_LAUNCHER MATCHES "ccache" OR
|
||||
_option_COMPILER_EXECUTABLE MATCHES "ccache")
|
||||
# Newer versions of Clang embed a compilation timestamp into the precompiled header binary,
|
||||
# which results in "file has been modified since the precompiled header was built" errors if ccache is used.
|
||||
# We work around the problem by disabling ccache upon pre-compiling the prefix header.
|
||||
set (ENV{CCACHE_DISABLE} "true")
|
||||
endif()
|
||||
endif()
|
||||
execute_process(
|
||||
COMMAND ${_cmd}
|
||||
@@ -2000,7 +1853,7 @@ function (cotire_check_precompiled_header_support _language _target _msgVar)
|
||||
set (_unsupportedCompiler
|
||||
"Precompiled headers not supported for ${_language} compiler ${CMAKE_${_language}_COMPILER_ID}")
|
||||
if (CMAKE_${_language}_COMPILER_ID MATCHES "MSVC")
|
||||
# PCH supported since Visual Studio C++ 6.0
|
||||
# supported since Visual Studio C++ 6.0
|
||||
# and CMake does not support an earlier version
|
||||
set (${_msgVar} "" PARENT_SCOPE)
|
||||
elseif (CMAKE_${_language}_COMPILER_ID MATCHES "GNU")
|
||||
@@ -2011,16 +1864,8 @@ function (cotire_check_precompiled_header_support _language _target _msgVar)
|
||||
set (${_msgVar} "" PARENT_SCOPE)
|
||||
endif()
|
||||
elseif (CMAKE_${_language}_COMPILER_ID MATCHES "Clang")
|
||||
if (UNIX)
|
||||
# all Unix Clang versions have PCH support
|
||||
# all Clang versions have PCH support
|
||||
set (${_msgVar} "" PARENT_SCOPE)
|
||||
elseif (WIN32)
|
||||
# only clang-cl is supported under Windows
|
||||
get_filename_component(_compilerName "${CMAKE_${_language}_COMPILER}" NAME_WE)
|
||||
if (NOT _compilerName MATCHES "cl$")
|
||||
set (${_msgVar} "${_unsupportedCompiler} version ${CMAKE_${_language}_COMPILER_VERSION}. Use clang-cl instead." PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
elseif (CMAKE_${_language}_COMPILER_ID MATCHES "Intel")
|
||||
# Intel PCH support requires version >= 8.0.0
|
||||
if ("${CMAKE_${_language}_COMPILER_VERSION}" VERSION_LESS "8.0.0")
|
||||
@@ -2031,38 +1876,29 @@ function (cotire_check_precompiled_header_support _language _target _msgVar)
|
||||
else()
|
||||
set (${_msgVar} "${_unsupportedCompiler}." PARENT_SCOPE)
|
||||
endif()
|
||||
# check if ccache is used as a compiler launcher
|
||||
get_target_property(_launcher ${_target} ${_language}_COMPILER_LAUNCHER)
|
||||
get_filename_component(_realCompilerExe "${CMAKE_${_language}_COMPILER}" REALPATH)
|
||||
if (_realCompilerExe MATCHES "ccache" OR _launcher MATCHES "ccache")
|
||||
# verify that ccache configuration is compatible with precompiled headers
|
||||
# always check environment variable CCACHE_SLOPPINESS, because earlier versions of ccache
|
||||
# do not report the "sloppiness" setting correctly upon printing ccache configuration
|
||||
if (CMAKE_${_language}_COMPILER MATCHES "ccache" OR _launcher MATCHES "ccache")
|
||||
if (DEFINED ENV{CCACHE_SLOPPINESS})
|
||||
if (NOT "$ENV{CCACHE_SLOPPINESS}" MATCHES "pch_defines" OR
|
||||
NOT "$ENV{CCACHE_SLOPPINESS}" MATCHES "time_macros")
|
||||
if (NOT "$ENV{CCACHE_SLOPPINESS}" MATCHES "pch_defines" OR NOT "$ENV{CCACHE_SLOPPINESS}" MATCHES "time_macros")
|
||||
set (${_msgVar}
|
||||
"ccache requires the environment variable CCACHE_SLOPPINESS to be set to \"pch_defines,time_macros\"."
|
||||
PARENT_SCOPE)
|
||||
endif()
|
||||
else()
|
||||
if (_realCompilerExe MATCHES "ccache")
|
||||
set (_ccacheExe "${_realCompilerExe}")
|
||||
if (_launcher MATCHES "ccache")
|
||||
get_filename_component(_ccacheExe "${_launcher}" REALPATH)
|
||||
else()
|
||||
set (_ccacheExe "${_launcher}")
|
||||
get_filename_component(_ccacheExe "${CMAKE_${_language}_COMPILER}" REALPATH)
|
||||
endif()
|
||||
# ccache 3.7.0 replaced --print-config with --show-config
|
||||
# use -p instead, which seems to work for all version for now, sigh
|
||||
execute_process(
|
||||
COMMAND "${_ccacheExe}" "-p"
|
||||
COMMAND "${_ccacheExe}" "--print-config"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
RESULT_VARIABLE _result
|
||||
OUTPUT_VARIABLE _ccacheConfig OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_QUIET)
|
||||
if (_result)
|
||||
set (${_msgVar} "ccache configuration cannot be determined." PARENT_SCOPE)
|
||||
elseif (NOT _ccacheConfig MATCHES "sloppiness.*=.*time_macros" OR
|
||||
NOT _ccacheConfig MATCHES "sloppiness.*=.*pch_defines")
|
||||
if (_result OR NOT
|
||||
_ccacheConfig MATCHES "sloppiness.*=.*time_macros" OR NOT
|
||||
_ccacheConfig MATCHES "sloppiness.*=.*pch_defines")
|
||||
set (${_msgVar}
|
||||
"ccache requires configuration setting \"sloppiness\" to be set to \"pch_defines,time_macros\"."
|
||||
PARENT_SCOPE)
|
||||
@@ -2355,7 +2191,7 @@ function (cotire_generate_target_script _language _configurations _target _targe
|
||||
XCODE MSVC CMAKE_GENERATOR CMAKE_BUILD_TYPE CMAKE_CONFIGURATION_TYPES
|
||||
CMAKE_${_language}_COMPILER_ID CMAKE_${_language}_COMPILER_VERSION
|
||||
CMAKE_${_language}_COMPILER_LAUNCHER CMAKE_${_language}_COMPILER CMAKE_${_language}_COMPILER_ARG1
|
||||
CMAKE_INCLUDE_FLAG_${_language} CMAKE_INCLUDE_FLAG_SEP_${_language}
|
||||
CMAKE_INCLUDE_FLAG_${_language} CMAKE_INCLUDE_FLAG_${_language}_SEP
|
||||
CMAKE_INCLUDE_SYSTEM_FLAG_${_language}
|
||||
CMAKE_${_language}_FRAMEWORK_SEARCH_FLAG
|
||||
CMAKE_${_language}_SYSTEM_FRAMEWORK_SEARCH_FLAG
|
||||
@@ -2388,9 +2224,8 @@ endfunction()
|
||||
|
||||
function (cotire_setup_pch_file_compilation _language _target _targetScript _prefixFile _pchFile _hostFile)
|
||||
set (_sourceFiles ${ARGN})
|
||||
if (CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel" OR
|
||||
(WIN32 AND CMAKE_${_language}_COMPILER_ID MATCHES "Clang"))
|
||||
# for MSVC, Intel and Clang-cl, we attach the precompiled header compilation to the host file
|
||||
if (CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel")
|
||||
# for Visual Studio and Intel, we attach the precompiled header compilation to the host file
|
||||
# the remaining files include the precompiled header, see cotire_setup_pch_file_inclusion
|
||||
if (_sourceFiles)
|
||||
set (_flags "")
|
||||
@@ -2398,9 +2233,6 @@ function (cotire_setup_pch_file_compilation _language _target _targetScript _pre
|
||||
"${_language}" "${CMAKE_${_language}_COMPILER_ID}" "${CMAKE_${_language}_COMPILER_VERSION}"
|
||||
"${_prefixFile}" "${_pchFile}" "${_hostFile}" _flags)
|
||||
set_property (SOURCE ${_hostFile} APPEND_STRING PROPERTY COMPILE_FLAGS " ${_flags} ")
|
||||
if (COTIRE_DEBUG)
|
||||
message (STATUS "set_property: SOURCE ${_hostFile} APPEND_STRING COMPILE_FLAGS ${_flags}")
|
||||
endif()
|
||||
set_property (SOURCE ${_hostFile} APPEND PROPERTY OBJECT_OUTPUTS "${_pchFile}")
|
||||
# make object file generated from host file depend on prefix header
|
||||
set_property (SOURCE ${_hostFile} APPEND PROPERTY OBJECT_DEPENDS "${_prefixFile}")
|
||||
@@ -2438,9 +2270,8 @@ function (cotire_setup_pch_file_compilation _language _target _targetScript _pre
|
||||
endfunction()
|
||||
|
||||
function (cotire_setup_pch_file_inclusion _language _target _wholeTarget _prefixFile _pchFile _hostFile)
|
||||
if (CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel" OR
|
||||
(WIN32 AND CMAKE_${_language}_COMPILER_ID MATCHES "Clang"))
|
||||
# for MSVC, Intel and clang-cl, we include the precompiled header in all but the host file
|
||||
if (CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel")
|
||||
# for Visual Studio and Intel, we include the precompiled header in all but the host file
|
||||
# the host file does the precompiled header compilation, see cotire_setup_pch_file_compilation
|
||||
set (_sourceFiles ${ARGN})
|
||||
list (LENGTH _sourceFiles _numberOfSourceFiles)
|
||||
@@ -2452,9 +2283,6 @@ function (cotire_setup_pch_file_inclusion _language _target _wholeTarget _prefix
|
||||
"${_language}" "${CMAKE_${_language}_COMPILER_ID}" "${CMAKE_${_language}_COMPILER_VERSION}"
|
||||
"${_prefixFile}" "${_pchFile}" _flags)
|
||||
set_property (SOURCE ${_sourceFiles} APPEND_STRING PROPERTY COMPILE_FLAGS " ${_flags} ")
|
||||
if (COTIRE_DEBUG)
|
||||
message (STATUS "set_property: SOURCE ${_sourceFiles} APPEND_STRING COMPILE_FLAGS ${_flags}")
|
||||
endif()
|
||||
# make object files generated from source files depend on precompiled header
|
||||
set_property (SOURCE ${_sourceFiles} APPEND PROPERTY OBJECT_DEPENDS "${_pchFile}")
|
||||
endif()
|
||||
@@ -2468,9 +2296,6 @@ function (cotire_setup_pch_file_inclusion _language _target _wholeTarget _prefix
|
||||
"${_language}" "${CMAKE_${_language}_COMPILER_ID}" "${CMAKE_${_language}_COMPILER_VERSION}"
|
||||
"${_prefixFile}" "${_pchFile}" _flags)
|
||||
set_property (SOURCE ${_sourceFiles} APPEND_STRING PROPERTY COMPILE_FLAGS " ${_flags} ")
|
||||
if (COTIRE_DEBUG)
|
||||
message (STATUS "set_property: SOURCE ${_sourceFiles} APPEND_STRING COMPILE_FLAGS ${_flags}")
|
||||
endif()
|
||||
# mark sources as cotired to prevent them from being used in another cotired target
|
||||
set_source_files_properties(${_sourceFiles} PROPERTIES COTIRE_TARGET "${_target}")
|
||||
endif()
|
||||
@@ -2488,9 +2313,6 @@ function (cotire_setup_prefix_file_inclusion _language _target _prefixFile)
|
||||
"${_language}" "${CMAKE_${_language}_COMPILER_ID}" "${CMAKE_${_language}_COMPILER_VERSION}"
|
||||
"${_prefixFile}" "${_pchFile}" _flags)
|
||||
set_property (SOURCE ${_sourceFiles} APPEND_STRING PROPERTY COMPILE_FLAGS " ${_flags} ")
|
||||
if (COTIRE_DEBUG)
|
||||
message (STATUS "set_property: SOURCE ${_sourceFiles} APPEND_STRING COMPILE_FLAGS ${_flags}")
|
||||
endif()
|
||||
# mark sources as cotired to prevent them from being used in another cotired target
|
||||
set_source_files_properties(${_sourceFiles} PROPERTIES COTIRE_TARGET "${_target}")
|
||||
# make object files generated from source files depend on prefix header
|
||||
@@ -2580,7 +2402,7 @@ function (cotire_setup_target_pch_usage _languages _target _wholeTarget)
|
||||
message (STATUS "add_custom_command: TARGET ${_target} PRE_BUILD ${_cmds}")
|
||||
endif()
|
||||
# because CMake PRE_BUILD command does not support dependencies,
|
||||
# we check dependencies explicitly in cotire script mode when the pre-build action is run
|
||||
# we check dependencies explicity in cotire script mode when the pre-build action is run
|
||||
add_custom_command(
|
||||
TARGET "${_target}"
|
||||
PRE_BUILD ${_cmds}
|
||||
@@ -2595,10 +2417,9 @@ function (cotire_setup_target_pch_usage _languages _target _wholeTarget)
|
||||
# if this is a single-language target without any excluded files
|
||||
if (_wholeTarget)
|
||||
set (_language "${_languages}")
|
||||
# for MSVC, Intel and clang-cl, precompiled header inclusion is always done on the source file level
|
||||
# for Visual Studio and Intel, precompiled header inclusion is always done on the source file level
|
||||
# see cotire_setup_pch_file_inclusion
|
||||
if (NOT CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel" AND NOT
|
||||
(WIN32 AND CMAKE_${_language}_COMPILER_ID MATCHES "Clang"))
|
||||
if (NOT CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel")
|
||||
get_property(_prefixFile TARGET ${_target} PROPERTY COTIRE_${_language}_PREFIX_HEADER)
|
||||
if (_prefixFile)
|
||||
get_property(_pchFile TARGET ${_target} PROPERTY COTIRE_${_language}_PRECOMPILED_HEADER)
|
||||
@@ -2607,9 +2428,6 @@ function (cotire_setup_target_pch_usage _languages _target _wholeTarget)
|
||||
"${_language}" "${CMAKE_${_language}_COMPILER_ID}" "${CMAKE_${_language}_COMPILER_VERSION}"
|
||||
"${_prefixFile}" "${_pchFile}" _options)
|
||||
set_property(TARGET ${_target} APPEND PROPERTY ${_options})
|
||||
if (COTIRE_DEBUG)
|
||||
message (STATUS "set_property: TARGET ${_target} APPEND PROPERTY ${_options}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
@@ -2636,8 +2454,7 @@ function (cotire_setup_unity_generation_commands _language _target _targetScript
|
||||
set_property (SOURCE "${_unityFile}" PROPERTY OBJECT_DEPENDS ${_objectDependsPaths})
|
||||
endif()
|
||||
if (WIN32 AND CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel")
|
||||
# unity file compilation results in potentially huge object file,
|
||||
# thus use /bigobj by default under cl.exe and Windows Intel
|
||||
# unity file compilation results in potentially huge object file, thus use /bigobj by default unter MSVC and Windows Intel
|
||||
set_property (SOURCE "${_unityFile}" APPEND_STRING PROPERTY COMPILE_FLAGS "/bigobj")
|
||||
endif()
|
||||
cotire_set_cmd_to_prologue(_unityCmd)
|
||||
@@ -2843,9 +2660,6 @@ function (cotire_make_target_message _target _languages _disableMsg _targetMsgVa
|
||||
else()
|
||||
set (_targetMsg "${_languagesStr} target ${_target} cotired without unity build.")
|
||||
endif()
|
||||
if (_disableMsg)
|
||||
set (_targetMsg "${_targetMsg} ${_disableMsg}")
|
||||
endif()
|
||||
else()
|
||||
if (_excludedStr)
|
||||
set (_targetMsg "${_languagesStr} target ${_target} cotired ${_excludedStr}.")
|
||||
@@ -2935,20 +2749,6 @@ function (cotire_choose_target_languages _target _targetLanguagesVar _wholeTarge
|
||||
set (_targetUsePCH FALSE)
|
||||
endif()
|
||||
endif()
|
||||
if (_targetAddSCU)
|
||||
# disable unity builds if automatic Qt processing is used
|
||||
get_target_property(_targetAutoMoc ${_target} AUTOMOC)
|
||||
get_target_property(_targetAutoUic ${_target} AUTOUIC)
|
||||
get_target_property(_targetAutoRcc ${_target} AUTORCC)
|
||||
if (_targetAutoMoc OR _targetAutoUic OR _targetAutoRcc)
|
||||
if (_disableMsg)
|
||||
set (_disableMsg "${_disableMsg} Target uses automatic CMake Qt processing.")
|
||||
else()
|
||||
set (_disableMsg "Target uses automatic CMake Qt processing.")
|
||||
endif()
|
||||
set (_targetAddSCU FALSE)
|
||||
endif()
|
||||
endif()
|
||||
set_property(TARGET ${_target} PROPERTY COTIRE_ENABLE_PRECOMPILED_HEADER ${_targetUsePCH})
|
||||
set_property(TARGET ${_target} PROPERTY COTIRE_ADD_UNITY_BUILD ${_targetAddSCU})
|
||||
cotire_make_target_message(${_target} "${_targetLanguages}" "${_disableMsg}" _targetMsg ${_allExcludedSourceFiles})
|
||||
@@ -2976,11 +2776,7 @@ function (cotire_compute_unity_max_number_of_includes _target _maxIncludesVar)
|
||||
set (_sourceFiles ${ARGN})
|
||||
get_target_property(_maxIncludes ${_target} COTIRE_UNITY_SOURCE_MAXIMUM_NUMBER_OF_INCLUDES)
|
||||
if (_maxIncludes MATCHES "(-j|--parallel|--jobs) ?([0-9]*)")
|
||||
if (DEFINED CMAKE_MATCH_2)
|
||||
set (_numberOfThreads "${CMAKE_MATCH_2}")
|
||||
else()
|
||||
set (_numberOfThreads "")
|
||||
endif()
|
||||
if (NOT _numberOfThreads)
|
||||
# use all available cores
|
||||
ProcessorCount(_numberOfThreads)
|
||||
@@ -3093,9 +2889,8 @@ function (cotire_setup_pch_target _languages _configurations _target)
|
||||
set (_dependsFiles "")
|
||||
foreach (_language ${_languages})
|
||||
set (_props COTIRE_${_language}_PREFIX_HEADER COTIRE_${_language}_UNITY_SOURCE)
|
||||
if (NOT CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel" AND NOT
|
||||
(WIN32 AND CMAKE_${_language}_COMPILER_ID MATCHES "Clang"))
|
||||
# MSVC, Intel and clang-cl only create precompiled header as a side effect
|
||||
if (NOT CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel")
|
||||
# Visual Studio and Intel only create precompiled header as a side effect
|
||||
list (INSERT _props 0 COTIRE_${_language}_PRECOMPILED_HEADER)
|
||||
endif()
|
||||
cotire_get_first_set_property_value(_dependsFile TARGET ${_target} ${_props})
|
||||
@@ -3143,7 +2938,6 @@ function (cotire_collect_unity_target_sources _target _languages _unityTargetSou
|
||||
list (APPEND _unityTargetSources ${_unityFiles})
|
||||
endif()
|
||||
endforeach()
|
||||
# handle object libraries which are part of the target's sources
|
||||
get_target_property(_linkLibrariesStrategy ${_target} COTIRE_UNITY_LINK_LIBRARIES_INIT)
|
||||
if ("${_linkLibrariesStrategy}" MATCHES "^COPY_UNITY$")
|
||||
cotire_filter_object_libraries(${_target} _objectLibraries ${_targetSourceFiles})
|
||||
@@ -3188,6 +2982,21 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
|
||||
# determine unity target sources
|
||||
set (_unityTargetSources "")
|
||||
cotire_collect_unity_target_sources(${_target} "${_languages}" _unityTargetSources)
|
||||
# handle automatic Qt processing
|
||||
get_target_property(_targetAutoMoc ${_target} AUTOMOC)
|
||||
get_target_property(_targetAutoUic ${_target} AUTOUIC)
|
||||
get_target_property(_targetAutoRcc ${_target} AUTORCC)
|
||||
if (_targetAutoMoc OR _targetAutoUic OR _targetAutoRcc)
|
||||
# if the original target sources are subject to CMake's automatic Qt processing,
|
||||
# also include implicitly generated <targetname>_automoc.cpp file
|
||||
if (CMAKE_VERSION VERSION_LESS "3.8.0")
|
||||
list (APPEND _unityTargetSources "${_target}_automoc.cpp")
|
||||
set_property (SOURCE "${_target}_automoc.cpp" PROPERTY GENERATED TRUE)
|
||||
else()
|
||||
list (APPEND _unityTargetSources "${_target}_autogen/moc_compilation.cpp")
|
||||
set_property (SOURCE "${_target}_autogen/moc_compilation.cpp" PROPERTY GENERATED TRUE)
|
||||
endif()
|
||||
endif()
|
||||
# prevent AUTOMOC, AUTOUIC and AUTORCC properties from being set when the unity target is created
|
||||
set (CMAKE_AUTOMOC OFF)
|
||||
set (CMAKE_AUTOUIC OFF)
|
||||
@@ -3201,6 +3010,21 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
|
||||
else()
|
||||
add_library(${_unityTargetName} ${_unityTargetSubType} EXCLUDE_FROM_ALL ${_unityTargetSources})
|
||||
endif()
|
||||
if ("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
|
||||
# depend on original target's automoc target, if it exists
|
||||
if (TARGET ${_target}_automoc)
|
||||
add_dependencies(${_unityTargetName} ${_target}_automoc)
|
||||
endif()
|
||||
else()
|
||||
if (_targetAutoMoc OR _targetAutoUic OR _targetAutoRcc)
|
||||
# depend on the original target's implicity generated <targetname>_automoc target
|
||||
if (CMAKE_VERSION VERSION_LESS "3.8.0")
|
||||
add_dependencies(${_unityTargetName} ${_target}_automoc)
|
||||
else()
|
||||
add_dependencies(${_unityTargetName} ${_target}_autogen)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
# copy output location properties
|
||||
set (_outputDirProperties
|
||||
ARCHIVE_OUTPUT_DIRECTORY ARCHIVE_OUTPUT_DIRECTORY_<CONFIG>
|
||||
@@ -3212,8 +3036,8 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
|
||||
set (_outputDir "${COTIRE_UNITY_OUTPUT_DIRECTORY}")
|
||||
else()
|
||||
# append relative COTIRE_UNITY_OUTPUT_DIRECTORY to target's actual output directory
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName} ${_outputDirProperties})
|
||||
cotire_resolve_config_properties("${_configurations}" _properties ${_outputDirProperties})
|
||||
cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName} ${_outputDirProperties})
|
||||
cotire_resolve_config_properites("${_configurations}" _properties ${_outputDirProperties})
|
||||
foreach (_property ${_properties})
|
||||
get_property(_outputDir TARGET ${_target} PROPERTY ${_property})
|
||||
if (_outputDir)
|
||||
@@ -3233,11 +3057,11 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
|
||||
RUNTIME_OUTPUT_DIRECTORY "${_outputDir}")
|
||||
endif()
|
||||
else()
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
${_outputDirProperties})
|
||||
endif()
|
||||
# copy output name
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
ARCHIVE_OUTPUT_NAME ARCHIVE_OUTPUT_NAME_<CONFIG>
|
||||
LIBRARY_OUTPUT_NAME LIBRARY_OUTPUT_NAME_<CONFIG>
|
||||
OUTPUT_NAME OUTPUT_NAME_<CONFIG>
|
||||
@@ -3245,7 +3069,7 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
|
||||
PREFIX <CONFIG>_POSTFIX SUFFIX
|
||||
IMPORT_PREFIX IMPORT_SUFFIX)
|
||||
# copy compile stuff
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
COMPILE_DEFINITIONS COMPILE_DEFINITIONS_<CONFIG>
|
||||
COMPILE_FLAGS COMPILE_OPTIONS
|
||||
Fortran_FORMAT Fortran_MODULE_DIRECTORY
|
||||
@@ -3257,12 +3081,12 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
|
||||
C_VISIBILITY_PRESET CXX_VISIBILITY_PRESET VISIBILITY_INLINES_HIDDEN
|
||||
C_CLANG_TIDY CXX_CLANG_TIDY)
|
||||
# copy compile features
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
C_EXTENSIONS C_STANDARD C_STANDARD_REQUIRED
|
||||
CXX_EXTENSIONS CXX_STANDARD CXX_STANDARD_REQUIRED
|
||||
COMPILE_FEATURES)
|
||||
# copy interface stuff
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
COMPATIBLE_INTERFACE_BOOL COMPATIBLE_INTERFACE_NUMBER_MAX COMPATIBLE_INTERFACE_NUMBER_MIN
|
||||
COMPATIBLE_INTERFACE_STRING
|
||||
INTERFACE_COMPILE_DEFINITIONS INTERFACE_COMPILE_FEATURES INTERFACE_COMPILE_OPTIONS
|
||||
@@ -3270,9 +3094,8 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
|
||||
INTERFACE_POSITION_INDEPENDENT_CODE INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
|
||||
INTERFACE_AUTOUIC_OPTIONS NO_SYSTEM_FROM_IMPORTED)
|
||||
# copy link stuff
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
BUILD_WITH_INSTALL_RPATH BUILD_WITH_INSTALL_NAME_DIR
|
||||
INSTALL_RPATH INSTALL_RPATH_USE_LINK_PATH SKIP_BUILD_RPATH
|
||||
cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
BUILD_WITH_INSTALL_RPATH INSTALL_RPATH INSTALL_RPATH_USE_LINK_PATH SKIP_BUILD_RPATH
|
||||
LINKER_LANGUAGE LINK_DEPENDS LINK_DEPENDS_NO_SHARED
|
||||
LINK_FLAGS LINK_FLAGS_<CONFIG>
|
||||
LINK_INTERFACE_LIBRARIES LINK_INTERFACE_LIBRARIES_<CONFIG>
|
||||
@@ -3280,18 +3103,18 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
|
||||
LINK_SEARCH_START_STATIC LINK_SEARCH_END_STATIC
|
||||
STATIC_LIBRARY_FLAGS STATIC_LIBRARY_FLAGS_<CONFIG>
|
||||
NO_SONAME SOVERSION VERSION
|
||||
LINK_WHAT_YOU_USE BUILD_RPATH)
|
||||
LINK_WHAT_YOU_USE)
|
||||
# copy cmake stuff
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
IMPLICIT_DEPENDS_INCLUDE_TRANSFORM RULE_LAUNCH_COMPILE RULE_LAUNCH_CUSTOM RULE_LAUNCH_LINK)
|
||||
# copy Apple platform specific stuff
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
BUNDLE BUNDLE_EXTENSION FRAMEWORK FRAMEWORK_VERSION INSTALL_NAME_DIR
|
||||
MACOSX_BUNDLE MACOSX_BUNDLE_INFO_PLIST MACOSX_FRAMEWORK_INFO_PLIST MACOSX_RPATH
|
||||
OSX_ARCHITECTURES OSX_ARCHITECTURES_<CONFIG> PRIVATE_HEADER PUBLIC_HEADER RESOURCE XCTEST
|
||||
IOS_INSTALL_COMBINED XCODE_EXPLICIT_FILE_TYPE XCODE_PRODUCT_TYPE)
|
||||
IOS_INSTALL_COMBINED)
|
||||
# copy Windows platform specific stuff
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
GNUtoMS
|
||||
COMPILE_PDB_NAME COMPILE_PDB_NAME_<CONFIG>
|
||||
COMPILE_PDB_OUTPUT_DIRECTORY COMPILE_PDB_OUTPUT_DIRECTORY_<CONFIG>
|
||||
@@ -3305,19 +3128,15 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
|
||||
VS_WINRT_COMPONENT VS_WINRT_EXTENSIONS VS_WINRT_REFERENCES
|
||||
WIN32_EXECUTABLE WINDOWS_EXPORT_ALL_SYMBOLS
|
||||
DEPLOYMENT_REMOTE_DIRECTORY VS_CONFIGURATION_TYPE
|
||||
VS_SDK_REFERENCES VS_USER_PROPS VS_DEBUGGER_WORKING_DIRECTORY)
|
||||
VS_SDK_REFERENCES)
|
||||
# copy Android platform specific stuff
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
ANDROID_API ANDROID_API_MIN ANDROID_GUI
|
||||
ANDROID_ANT_ADDITIONAL_OPTIONS ANDROID_ARCH ANDROID_ASSETS_DIRECTORIES
|
||||
ANDROID_JAR_DEPENDENCIES ANDROID_JAR_DIRECTORIES ANDROID_JAVA_SOURCE_DIR
|
||||
ANDROID_NATIVE_LIB_DEPENDENCIES ANDROID_NATIVE_LIB_DIRECTORIES
|
||||
ANDROID_PROCESS_MAX ANDROID_PROGUARD ANDROID_PROGUARD_CONFIG_PATH
|
||||
ANDROID_SECURE_PROPS_PATH ANDROID_SKIP_ANT_STEP ANDROID_STL_TYPE)
|
||||
# copy CUDA platform specific stuff
|
||||
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
|
||||
CUDA_PTX_COMPILATION CUDA_SEPARABLE_COMPILATION CUDA_RESOLVE_DEVICE_SYMBOLS
|
||||
CUDA_EXTENSIONS CUDA_STANDARD CUDA_STANDARD_REQUIRED)
|
||||
# use output name from original target
|
||||
get_target_property(_targetOutputName ${_unityTargetName} OUTPUT_NAME)
|
||||
if (NOT _targetOutputName)
|
||||
@@ -3331,13 +3150,6 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
|
||||
set_property(TARGET ${_unityTargetName} PROPERTY ENABLE_EXPORTS TRUE)
|
||||
endif()
|
||||
endif()
|
||||
# enable parallel compilation for MSVC
|
||||
if (MSVC AND "${CMAKE_GENERATOR}" MATCHES "Visual Studio")
|
||||
list (LENGTH _unityTargetSources _numberOfUnityTargetSources)
|
||||
if (_numberOfUnityTargetSources GREATER 1)
|
||||
set_property(TARGET ${_unityTargetName} APPEND PROPERTY COMPILE_OPTIONS "/MP")
|
||||
endif()
|
||||
endif()
|
||||
cotire_init_target(${_unityTargetName})
|
||||
cotire_add_to_unity_all_target(${_unityTargetName})
|
||||
set_property(TARGET ${_target} PROPERTY COTIRE_UNITY_TARGET_NAME "${_unityTargetName}")
|
||||
@@ -3496,13 +3308,6 @@ function (cotire_target_link_libraries _target)
|
||||
message (STATUS "unity target ${_unityTargetName} interface link libraries: ${_unityLinkInterfaceLibraries}")
|
||||
endif()
|
||||
endif()
|
||||
get_target_property(_manualDependencies ${_target} MANUALLY_ADDED_DEPENDENCIES)
|
||||
if (_manualDependencies)
|
||||
cotire_map_libraries("${_linkLibrariesStrategy}" _unityManualDependencies ${_manualDependencies})
|
||||
if (_unityManualDependencies)
|
||||
add_dependencies("${_unityTargetName}" ${_unityManualDependencies})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endfunction(cotire_target_link_libraries)
|
||||
@@ -3535,9 +3340,9 @@ function (cotire_init_target _targetName)
|
||||
set_target_properties(${_targetName} PROPERTIES FOLDER "${COTIRE_TARGETS_FOLDER}")
|
||||
endif()
|
||||
set_target_properties(${_targetName} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
# if (MSVC_IDE)
|
||||
# set_target_properties(${_targetName} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD TRUE)
|
||||
# endif()
|
||||
if (MSVC_IDE)
|
||||
set_target_properties(${_targetName} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD TRUE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function (cotire_add_to_pch_all_target _pchTargetName)
|
||||
@@ -3799,7 +3604,7 @@ else()
|
||||
set (COTIRE_UNITY_SOURCE_EXCLUDE_EXTENSIONS "m;mm" CACHE STRING
|
||||
"Ignore sources with the listed file extensions from the generated unity source.")
|
||||
|
||||
set (COTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES "2" CACHE STRING
|
||||
set (COTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES "3" CACHE STRING
|
||||
"Minimum number of sources in target required to enable use of precompiled header.")
|
||||
|
||||
if (NOT DEFINED COTIRE_MAXIMUM_NUMBER_OF_UNITY_INCLUDES_INIT)
|
||||
@@ -3898,7 +3703,7 @@ else()
|
||||
FULL_DOCS
|
||||
"The variable can be set to an integer > 0."
|
||||
"If a target contains less than that number of source files, cotire will not enable the use of the precompiled header for the target."
|
||||
"If not defined, defaults to 2."
|
||||
"If not defined, defaults to 3."
|
||||
)
|
||||
|
||||
define_property(
|
||||
|
@@ -1,93 +0,0 @@
|
||||
# Draco - a library for a lossy vertex data compression, used as extension to glTF format.
|
||||
# https://github.com/google/draco
|
||||
|
||||
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)
|
||||
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()
|
||||
|
||||
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
|
||||
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()
|
@@ -1,3 +1,3 @@
|
||||
# EGL
|
||||
|
||||
THIRDPARTY_PRODUCT("EGL" "EGL/egl.h" "CSF_OpenGlesLibs" "")
|
||||
THIRDPARTY_PRODUCT("EGL" "EGL/egl.h" "CSF_OpenGlLibs" "")
|
||||
|
@@ -37,10 +37,6 @@ foreach (LIBRARY_NAME ${CSF_FFmpeg})
|
||||
set (3RDPARTY_FFMPEG_LIBRARY_DIR_${LIBRARY_NAME} "" CACHE PATH "The directory containing FFmpeg framework (${LIBRARY_NAME})")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_FFMPEG_LIBRARY_DIR)
|
||||
set (3RDPARTY_FFMPEG_LIBRARY_DIR "" CACHE PATH "The directory containing FFmpeg libraries")
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
if (NOT DEFINED 3RDPARTY_FFMPEG_DLL_${LIBRARY_NAME} OR NOT 3RDPARTY_FFMPEG_DLL_DIR_${LIBRARY_NAME} OR NOT EXISTS "${3RDPARTY_FFMPEG_DLL_DIR_${LIBRARY_NAME}}")
|
||||
set (3RDPARTY_FFMPEG_DLL_${LIBRARY_NAME} "" CACHE FILEPATH "FFmpeg shared libraries (${LIBRARY_NAME})" FORCE)
|
||||
@@ -51,9 +47,6 @@ foreach (LIBRARY_NAME ${CSF_FFmpeg})
|
||||
if (NOT DEFINED 3RDPARTY_FFMPEG_DLL_DIR_${LIBRARY_NAME})
|
||||
set (3RDPARTY_FFMPEG_DLL_DIR_${LIBRARY_NAME} "" CACHE PATH "The directory containing FFmpeg shared libraries (${LIBRARY_NAME})")
|
||||
endif()
|
||||
if (NOT DEFINED 3RDPARTY_FFMPEG_DLL_DIR)
|
||||
set (3RDPARTY_FFMPEG_DLL_DIR "" CACHE PATH "The directory containing FFmpeg shared libraries")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# check 3RDPARTY_${PRODUCT_NAME}_ paths for consistency with specified 3RDPARTY_${PRODUCT_NAME}_DIR
|
||||
@@ -63,7 +56,6 @@ foreach (LIBRARY_NAME ${CSF_FFmpeg})
|
||||
|
||||
if (3RDPARTY_FFMPEG_LIBRARY_${LIBRARY_NAME} AND EXISTS "${3RDPARTY_FFMPEG_LIBRARY_${LIBRARY_NAME}}")
|
||||
get_filename_component (3RDPARTY_FFMPEG_LIBRARY_DIR_${LIBRARY_NAME} "${3RDPARTY_FFMPEG_LIBRARY_${LIBRARY_NAME}}" PATH)
|
||||
set (3RDPARTY_FFMPEG_LIBRARY_DIR "${3RDPARTY_FFMPEG_LIBRARY_DIR_${LIBRARY_NAME}}" CACHE PATH "The directory containing FFmpeg libraries" FORCE)
|
||||
set (3RDPARTY_FFMPEG_LIBRARY_DIR_${LIBRARY_NAME} "${3RDPARTY_FFMPEG_LIBRARY_DIR_${LIBRARY_NAME}}" CACHE PATH "The directory containing FFmpeg library (${LIBRARY_NAME})" FORCE)
|
||||
else()
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FFMPEG_DIR 3RDPARTY_FFMPEG_LIBRARY_DIR_${LIBRARY_NAME} PATH "The directory containing FFmpeg library (${LIBRARY_NAME})")
|
||||
@@ -74,7 +66,6 @@ foreach (LIBRARY_NAME ${CSF_FFmpeg})
|
||||
|
||||
if (3RDPARTY_FFMPEG_DLL_${LIBRARY_NAME} AND EXISTS "${3RDPARTY_FFMPEG_DLL_${LIBRARY_NAME}}")
|
||||
get_filename_component (3RDPARTY_FFMPEG_DLL_DIR_${LIBRARY_NAME} "${3RDPARTY_FFMPEG_DLL_${LIBRARY_NAME}}" PATH)
|
||||
set (3RDPARTY_FFMPEG_DLL_DIR "${3RDPARTY_FFMPEG_DLL_DIR_${LIBRARY_NAME}}" CACHE PATH "The directory containing FFmpeg shared libraries" FORCE)
|
||||
set (3RDPARTY_FFMPEG_DLL_DIR_${LIBRARY_NAME} "${3RDPARTY_FFMPEG_DLL_DIR_${LIBRARY_NAME}}" CACHE PATH "The directory containing FFmpeg shared library (${LIBRARY_NAME})" FORCE)
|
||||
else()
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FFMPEG_DIR 3RDPARTY_FFMPEG_DLL_DIR_${LIBRARY_NAME} PATH "The directory containing FFmpeg shared library (${LIBRARY_NAME})")
|
||||
@@ -191,13 +182,13 @@ foreach (LIBRARY_NAME ${CSF_FFmpeg})
|
||||
else()
|
||||
install (FILES "${3RDPARTY_FFMPEG_DLL_${LIBRARY_NAME}}"
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/${INSTALL_DIR_BIN}")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
install (FILES "${3RDPARTY_FFMPEG_DLL_${LIBRARY_NAME}}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/${INSTALL_DIR_BIN}i")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
|
||||
install (FILES "${3RDPARTY_FFMPEG_DLL_${LIBRARY_NAME}}"
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/${INSTALL_DIR_BIN}d")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
|
||||
endif()
|
||||
else()
|
||||
get_filename_component(3RDPARTY_FFMPEG_LIBRARY_ABS ${3RDPARTY_FFMPEG_LIBRARY_${LIBRARY_NAME}} REALPATH)
|
||||
|
@@ -2,32 +2,19 @@
|
||||
|
||||
# execute FindFLEX script by "find_package (Flex)" is required to define FLEX_TARGET macro
|
||||
|
||||
# delete obsolete 3RDPARTY_FLEX_EXECUTABLE cache variable (not used anymore)
|
||||
unset (3RDPARTY_FLEX_EXECUTABLE CACHE)
|
||||
|
||||
# delete FLEX_EXECUTABLE cache variable if it is empty, otherwise find_package will fail
|
||||
# without reasonable diagnostic
|
||||
if (NOT FLEX_EXECUTABLE OR NOT EXISTS "${FLEX_EXECUTABLE}")
|
||||
unset (FLEX_EXECUTABLE CACHE)
|
||||
endif()
|
||||
if (NOT FLEX_INCLUDE_DIR OR NOT EXISTS "${FLEX_INCLUDE_DIR}")
|
||||
unset (FLEX_INCLUDE_DIR CACHE)
|
||||
if (NOT DEFINED 3RDPARTY_FLEX_EXECUTABLE)
|
||||
set (3RDPARTY_FLEX_EXECUTABLE "" CACHE FILEPATH "The Path to the flex command")
|
||||
endif()
|
||||
|
||||
# Add paths to 3rdparty subfolders containing name "flex" to CMAKE_PROGRAM_PATH and
|
||||
# CMAKE_INCLUDE_PATH variables to make these paths searched by find_package
|
||||
if (3RDPARTY_DIR)
|
||||
file (GLOB FLEX_PATHS LIST_DIRECTORIES true "${3RDPARTY_DIR}/*flex*")
|
||||
foreach (candidate_path ${FLEX_PATHS})
|
||||
if (IS_DIRECTORY ${candidate_path})
|
||||
list (APPEND CMAKE_PROGRAM_PATH ${candidate_path})
|
||||
list (APPEND CMAKE_INCLUDE_PATH ${candidate_path})
|
||||
endif()
|
||||
endforeach()
|
||||
# FLEX_EXECUTABLE is required by FLEX_TARGET macro and should be defined
|
||||
set (FLEX_EXECUTABLE "${3RDPARTY_FLEX_EXECUTABLE}" CACHE FILEPATH "path to the flex executable" FORCE)
|
||||
|
||||
find_package (FLEX)
|
||||
|
||||
if (FLEX_FOUND)
|
||||
set (3RDPARTY_FLEX_EXECUTABLE "${FLEX_EXECUTABLE}" CACHE FILEPATH "The Path to the flex command" FORCE)
|
||||
endif()
|
||||
|
||||
find_package (FLEX 2.6.4)
|
||||
|
||||
if (NOT FLEX_FOUND OR NOT FLEX_INCLUDE_DIR OR NOT EXISTS "${FLEX_INCLUDE_DIR}/FlexLexer.h")
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED FLEX_INCLUDE_DIR)
|
||||
if (NOT 3RDPARTY_FLEX_EXECUTABLE OR NOT EXISTS "${3RDPARTY_FLEX_EXECUTABLE}")
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_FLEX_EXECUTABLE)
|
||||
endif()
|
@@ -14,7 +14,7 @@ OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
|
||||
OCCT_MAKE_COMPILER_SHORT_NAME()
|
||||
OCCT_MAKE_COMPILER_BITNESS()
|
||||
|
||||
# specify freetype folder in connection with 3RDPARTY_DIR
|
||||
# specify freetype folder in connectin with 3RDPARTY_DIR
|
||||
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
|
||||
#CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_DIR 3RDPARTY_FREETYPE_DIR PATH "The directory containing freetype")
|
||||
|
||||
@@ -61,8 +61,8 @@ endif()
|
||||
|
||||
# check 3RDPARTY_FREETYPE_ paths for consistency with specified 3RDPARTY_FREETYPE_DIR
|
||||
if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build FILEPATH "The directory containing ft2build.h header")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 FILEPATH "The directory containing ftheader.h header")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build FILEPATH "the path to ft2build.h")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 FILEPATH "the path to ftheader.h")
|
||||
if (BUILD_SHARED_LIBS)
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR 3RDPARTY_FREETYPE_LIBRARY FILEPATH "the path to freetype library")
|
||||
|
||||
@@ -110,19 +110,8 @@ if (IS_BUILTIN_SEARCH_REQUIRED)
|
||||
set (ENV{FREETYPE_DIR} "${3RDPARTY_FREETYPE_DIR}")
|
||||
endif()
|
||||
|
||||
unset (FREETYPE_LIBRARY_RELEASE)
|
||||
find_package(Freetype)
|
||||
|
||||
# Only for UNIX (not APPLE)
|
||||
if ((NOT WIN32) AND (NOT APPLE))
|
||||
# To avoid linker error on Ubuntu 18.04 and others linux distributives we should
|
||||
# link with freetype library, compiled as Position Independent Code (PIC),
|
||||
# for example, with shared object.
|
||||
if ((DEFINED FREETYPE_LIBRARY_RELEASE) AND (NOT "${FREETYPE_LIBRARY_RELEASE}" STREQUAL "") AND (EXISTS "${FREETYPE_LIBRARY_RELEASE}"))
|
||||
string (REPLACE "\.a" "\.so" FREETYPE_LIBRARY_RELEASE "${FREETYPE_LIBRARY_RELEASE}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# restore ENV{FREETYPE_DIR}
|
||||
if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
|
||||
set (ENV{FREETYPE_DIR} ${CACHED_FREETYPE_DIR})
|
||||
@@ -130,30 +119,30 @@ if (IS_BUILTIN_SEARCH_REQUIRED)
|
||||
|
||||
# check the found paths for consistency with specified 3RDPARTY_FREETYPE_DIR
|
||||
if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR FREETYPE_INCLUDE_DIR_ft2build FILEPATH "The directory containing ft2build.h header")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR FREETYPE_INCLUDE_DIR_freetype2 FILEPATH "The directory containing ftheader.h header")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR FREETYPE_INCLUDE_DIR_ft2build FILEPATH "the path to ft2build.h")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR FREETYPE_INCLUDE_DIR_freetype2 FILEPATH "the path to ftheader.h")
|
||||
if (BUILD_SHARED_LIBS)
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR FREETYPE_LIBRARY_RELEASE FILEPATH "freetype library")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR FREETYPE_LIBRARY FILEPATH "freetype library")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# assign the found paths to corresponding 3RDPARTY_FREETYPE_ variables
|
||||
if (NOT 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build OR NOT EXISTS "${3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build}")
|
||||
if (FREETYPE_INCLUDE_DIR_ft2build AND EXISTS "${FREETYPE_INCLUDE_DIR_ft2build}")
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build "${FREETYPE_INCLUDE_DIR_ft2build}" CACHE FILEPATH "The directory containing ft2build.h header" FORCE)
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build "${FREETYPE_INCLUDE_DIR_ft2build}" CACHE FILEPATH "the path to ft2build.h" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 OR NOT EXISTS "${3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2}")
|
||||
if (FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}")
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 "${FREETYPE_INCLUDE_DIR_freetype2}" CACHE FILEPATH "The directory containing ftheader.h header" FORCE)
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 "${FREETYPE_INCLUDE_DIR_freetype2}" CACHE FILEPATH "the path to ftheader.h" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
if (NOT 3RDPARTY_FREETYPE_LIBRARY OR NOT EXISTS "${3RDPARTY_FREETYPE_LIBRARY}")
|
||||
if (FREETYPE_LIBRARY_RELEASE AND EXISTS "${FREETYPE_LIBRARY_RELEASE}")
|
||||
set (3RDPARTY_FREETYPE_LIBRARY "${FREETYPE_LIBRARY_RELEASE}" CACHE FILEPATH "The path to freetype library" FORCE)
|
||||
if (FREETYPE_LIBRARY AND EXISTS "${FREETYPE_LIBRARY}")
|
||||
set (3RDPARTY_FREETYPE_LIBRARY "${FREETYPE_LIBRARY}" CACHE FILEPATH "The path to freetype library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -173,7 +162,7 @@ if (NOT 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build OR NOT EXISTS "${3RDPARTY_FREETYP
|
||||
set (FT2BUILD_NAMES ft2build.h config/ft2build.h freetype/config/ft2build.h)
|
||||
|
||||
# set 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build as notfound, otherwise find_library can't assign a new value to 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build "3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build-NOTFOUND" CACHE FILEPATH "The directory containing ft2build.h header" FORCE)
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build "3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build-NOTFOUND" CACHE FILEPATH "the path to ft2build.h" FORCE)
|
||||
|
||||
# cmake (version < 3.0) doesn't find ft2build.h of freetype (version is >= 2.5.1)
|
||||
# do search taking into account freetype structure of 2.5.1 version
|
||||
@@ -196,7 +185,7 @@ if (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build AND EXISTS "${3RDPARTY_FREETYPE_INCLU
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build)
|
||||
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build "" CACHE FILEPATH "The directory containing ft2build.h header" FORCE)
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build "" CACHE FILEPATH "the path to ft2build.h" FORCE)
|
||||
endif()
|
||||
|
||||
# ftheader.h
|
||||
@@ -204,7 +193,7 @@ if (NOT 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 OR NOT EXISTS "${3RDPARTY_FREETY
|
||||
set (FTHEADER_NAMES ftheader.h config/ftheader.h freetype/config/ftheader.h)
|
||||
|
||||
# set 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 as notfound, otherwise find_library can't assign a new value to 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 "3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2-NOTFOUND" CACHE FILEPATH "The directory containing ftheader.h header" FORCE)
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 "3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2-NOTFOUND" CACHE FILEPATH "the path to ftheader.h" FORCE)
|
||||
|
||||
if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
|
||||
find_path (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 NAMES ${FTHEADER_NAMES}
|
||||
@@ -225,13 +214,13 @@ if (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${3RDPARTY_FREETYPE_INCL
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2)
|
||||
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 "" CACHE FILEPATH "The directory containing ftheader.h header" FORCE)
|
||||
set (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 "" CACHE FILEPATH "the path to ftheader.h" FORCE)
|
||||
endif()
|
||||
|
||||
# freetype library
|
||||
#if (BUILD_SHARED_LIBS)
|
||||
if (NOT 3RDPARTY_FREETYPE_LIBRARY OR NOT EXISTS "${3RDPARTY_FREETYPE_LIBRARY}")
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .so .dylib)
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .so .dylib .a)
|
||||
|
||||
set (FREETYPE_PATH_SUFFIXES lib)
|
||||
if (ANDROID)
|
||||
@@ -253,16 +242,6 @@ endif()
|
||||
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||
endif()
|
||||
|
||||
# Only for UNIX (not APPLE)
|
||||
if ((NOT WIN32) AND (NOT APPLE))
|
||||
# To avoid linker error on Ubuntu 18.04 and some others linux distributives we should
|
||||
# link with freetype library, compiled as Position Independent Code (PIC),
|
||||
# for example, with shared object.
|
||||
if ((DEFINED 3RDPARTY_FREETYPE_LIBRARY) AND (NOT "${3RDPARTY_FREETYPE_LIBRARY}" STREQUAL "") AND (EXISTS "${3RDPARTY_FREETYPE_LIBRARY}"))
|
||||
string (REPLACE "\.a" "\.so" 3RDPARTY_FREETYPE_LIBRARY "${3RDPARTY_FREETYPE_LIBRARY}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_FREETYPE_LIBRARY AND EXISTS "${3RDPARTY_FREETYPE_LIBRARY}")
|
||||
get_filename_component (3RDPARTY_FREETYPE_LIBRARY_DIR "${3RDPARTY_FREETYPE_LIBRARY}" PATH)
|
||||
set (3RDPARTY_FREETYPE_LIBRARY_DIR "${3RDPARTY_FREETYPE_LIBRARY_DIR}" CACHE PATH "The directory containing freetype library" FORCE)
|
||||
@@ -371,7 +350,7 @@ endif()
|
||||
# unset all redundant variables
|
||||
OCCT_CHECK_AND_UNSET(FREETYPE_INCLUDE_DIR_ft2build)
|
||||
OCCT_CHECK_AND_UNSET(FREETYPE_INCLUDE_DIR_freetype2)
|
||||
OCCT_CHECK_AND_UNSET(FREETYPE_LIBRARY_RELEASE)
|
||||
OCCT_CHECK_AND_UNSET(FREETYPE_LIBRARY)
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
mark_as_advanced (3RDPARTY_FREETYPE_LIBRARY 3RDPARTY_FREETYPE_DLL)
|
||||
|
3
adm/cmake/gl2ps.cmake
Normal file
3
adm/cmake/gl2ps.cmake
Normal file
@@ -0,0 +1,3 @@
|
||||
#GL2PS
|
||||
|
||||
THIRDPARTY_PRODUCT("GL2PS" "gl2ps.h" "CSF_GL2PS" "d")
|
@@ -1,3 +1,3 @@
|
||||
# OpenGL ES 2.0
|
||||
|
||||
THIRDPARTY_PRODUCT("GLES2" "GLES2/gl2.h" "CSF_OpenGlesLibs" "")
|
||||
THIRDPARTY_PRODUCT("GLES2" "GLES2/gl2.h" "CSF_OpenGlLibs" "")
|
||||
|
@@ -1,143 +0,0 @@
|
||||
# JeMalloc
|
||||
|
||||
if (NOT DEFINED INSTALL_JEMALLOC)
|
||||
set (INSTALL_JEMALLOC OFF CACHE BOOL "${INSTALL_INSTALL_JEMALLOC_DESCR}")
|
||||
endif()
|
||||
|
||||
# include occt macros. compiler_bitness, os_with_bit, compiler
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
|
||||
|
||||
# specify JEMALLOC folder in connection with 3RDPARTY_DIR
|
||||
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
|
||||
if (NOT 3RDPARTY_JEMALLOC_DIR OR NOT EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||
FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" jemalloc JEMALLOC_DIR_NAME)
|
||||
if (JEMALLOC_DIR_NAME)
|
||||
set (3RDPARTY_JEMALLOC_DIR "${3RDPARTY_DIR}/${JEMALLOC_DIR_NAME}" CACHE PATH "The directory containing JEMALLOC" FORCE)
|
||||
set (3RDPARTY_JEMALLOC_DIR "${3RDPARTY_DIR}/${JEMALLOC_DIR_NAME}")
|
||||
message(STATUS "Info: JEMALLOC detected in ${3RDPARTY_JEMALLOC_DIR}")
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
endif()
|
||||
|
||||
# define required JEMALLOC variables
|
||||
if (NOT DEFINED 3RDPARTY_JEMALLOC_INCLUDE_DIR)
|
||||
set (3RDPARTY_JEMALLOC_INCLUDE_DIR "" CACHE PATH "the path of headers directory")
|
||||
endif()
|
||||
|
||||
# check 3RDPARTY_${PRODUCT_NAME}_ paths for consistency with specified 3RDPARTY_${PRODUCT_NAME}_DIR
|
||||
if (3RDPARTY_JEMALLOC_DIR AND EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_JEMALLOC_DIR 3RDPARTY_JEMALLOC_INCLUDE_DIR PATH "the path to JEMALLOC")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_JEMALLOC_DIR 3RDPARTY_JEMALLOC_LIBRARY_DIR FILEPATH "The directory containing JEMALLOC libraries")
|
||||
endif()
|
||||
|
||||
# header
|
||||
if (NOT 3RDPARTY_JEMALLOC_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_JEMALLOC_INCLUDE_DIR}")
|
||||
set (HEADER_NAMES jemalloc.h)
|
||||
|
||||
# set 3RDPARTY_JEMALLOC_INCLUDE_DIR as notfound, otherwise find_library can't assign a new value to 3RDPARTY_JEMALLOC_INCLUDE_DIR
|
||||
set (3RDPARTY_JEMALLOC_INCLUDE_DIR "3RDPARTY_JEMALLOC_INCLUDE_DIR-NOTFOUND" CACHE FILEPATH "the path to header directory" FORCE)
|
||||
|
||||
if (3RDPARTY_JEMALLOC_DIR AND EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||
find_path (3RDPARTY_JEMALLOC_INCLUDE_DIR NAMES ${HEADER_NAMES}
|
||||
PATHS ${3RDPARTY_JEMALLOC_DIR}
|
||||
PATH_SUFFIXES include/jemalloc
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_JEMALLOC_INCLUDE_DIR AND EXISTS "${3RDPARTY_JEMALLOC_INCLUDE_DIR}")
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_JEMALLOC_INCLUDE_DIR}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_JEMALLOC_INCLUDE_DIR)
|
||||
set (3RDPARTY_JEMALLOC_INCLUDE_DIR "" CACHE FILEPATH "the path to jemalloc.h" FORCE)
|
||||
endif()
|
||||
|
||||
# Installing destination path
|
||||
if (WIN32)
|
||||
set (JEMALLOC_INSTALL_DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_BIN}")
|
||||
else()
|
||||
set (JEMALLOC_INSTALL_DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}")
|
||||
endif()
|
||||
|
||||
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")
|
||||
if (3RDPARTY_JEMALLOC_DIR AND EXISTS "${3RDPARTY_JEMALLOC_DIR}")
|
||||
find_library (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} NAMES ${MMGR_LIB}
|
||||
PATHS "${3RDPARTY_JEMALLOC_LIBRARY_DIR}" "${3RDPARTY_JEMALLOC_DIR}"
|
||||
PATH_SUFFIXES ${JEMALLOC_PATH_SUFFIXES}
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
else()
|
||||
find_library (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} NAMES ${MMGR_LIB}
|
||||
PATH_SUFFIXES ${JEMALLOC_PATH_SUFFIXES}
|
||||
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||
endif()
|
||||
if (3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB})
|
||||
get_filename_component (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} "${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}}" PATH)
|
||||
set (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} "${3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB}}")
|
||||
else()
|
||||
set (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} "")
|
||||
endif()
|
||||
endif()
|
||||
if (3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB})
|
||||
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)
|
||||
else()
|
||||
message("Cannot find ${MMGR_LIB} library in jemalloc 3rdparty")
|
||||
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 (((${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)
|
||||
OCCT_MAKE_OS_WITH_BITNESS()
|
||||
OCCT_MAKE_COMPILER_SHORT_NAME()
|
||||
get_filename_component(3RDPARTY_JEMALLOC_LIBRARY ${3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB}} REALPATH)
|
||||
if (SINGLE_GENERATOR)
|
||||
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||
DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}")
|
||||
else()
|
||||
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${JEMALLOC_INSTALL_DESTINATION}d")
|
||||
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${JEMALLOC_INSTALL_DESTINATION}")
|
||||
install (FILES "${3RDPARTY_JEMALLOC_LIBRARY}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${JEMALLOC_INSTALL_DESTINATION}i")
|
||||
endif()
|
||||
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}})
|
||||
endif()
|
||||
unset(3RDPARTY_JEMALLOC_LIBRARY_DIR_${MMGR_LIB} CACHE)
|
||||
unset(3RDPARTY_JEMALLOC_LIBRARY_${PREFIX}_${MMGR_LIB} CACHE)
|
||||
endmacro()
|
||||
|
||||
# Reset CSF variable
|
||||
set (CSF_MMGR "")
|
||||
|
||||
# find static jemalloc lib
|
||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".a")
|
||||
if (WIN32)
|
||||
JEMALLOC_LIB_SEARCH ("jemalloc" "STATIC")
|
||||
elseif(NOT WIN32)
|
||||
JEMALLOC_LIB_SEARCH ("jemalloc_pic" "STATIC")
|
||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES "" "so")
|
||||
JEMALLOC_LIB_SEARCH ("jemalloc.so.2" "SHARED")
|
||||
endif()
|
||||
|
||||
# find shared jemalloc lib
|
||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".so")
|
||||
JEMALLOC_LIB_SEARCH ("jemalloc" "SHARED")
|
@@ -42,109 +42,80 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# OpenVR
|
||||
if (USE_OPENVR)
|
||||
set (CSF_OpenVR "openvr_api")
|
||||
else()
|
||||
set (CSF_OpenVR)
|
||||
endif()
|
||||
|
||||
# TCL
|
||||
# TCL/TK
|
||||
if (USE_TCL)
|
||||
if (WIN32)
|
||||
set (CSF_TclLibs "tcl86")
|
||||
else()
|
||||
if(APPLE)
|
||||
set (CSF_TclLibs Tcl)
|
||||
elseif(UNIX)
|
||||
set (CSF_TclLibs "tcl8.6")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# TK
|
||||
if (USE_TK)
|
||||
if (WIN32)
|
||||
set (CSF_TclTkLibs "tk86")
|
||||
else()
|
||||
if(APPLE)
|
||||
set (CSF_TclTkLibs Tk)
|
||||
set (CSF_TclLibs Tcl)
|
||||
elseif(UNIX)
|
||||
set (CSF_TclLibs "tcl8.6")
|
||||
set (CSF_TclTkLibs "tk8.6")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Draco
|
||||
if (USE_DRACO)
|
||||
set (CSF_Draco "draco")
|
||||
else()
|
||||
set (CSF_Draco)
|
||||
# GL2PS
|
||||
if (NOT DEFINED ANDROID)
|
||||
if (USE_GL2PS)
|
||||
set (CSF_GL2PS "gl2ps")
|
||||
else()
|
||||
set (CSF_GL2PS)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
set (CSF_advapi32 "advapi32.lib")
|
||||
set (CSF_gdi32 "gdi32.lib")
|
||||
set (CSF_user32 "user32.lib")
|
||||
set (CSF_shell32 "shell32.lib")
|
||||
set (CSF_wsock32 "wsock32.lib")
|
||||
set (CSF_psapi "psapi.lib")
|
||||
set (CSF_winmm "winmm.lib")
|
||||
set (CSF_psapi "Psapi.lib")
|
||||
set (CSF_d3d9 "D3D9.lib")
|
||||
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore" OR USE_GLES2)
|
||||
set (CSF_OpenGlLibs "libEGL libGLESv2")
|
||||
else()
|
||||
set (CSF_OpenGlLibs "opengl32.lib")
|
||||
set (CSF_OpenGlesLibs "libEGL libGLESv2")
|
||||
else()
|
||||
endif()
|
||||
|
||||
else()
|
||||
|
||||
if (APPLE)
|
||||
set (CSF_objc "objc")
|
||||
|
||||
# frameworks
|
||||
if (IOS)
|
||||
find_library (Appkit_LIB NAMES UIKit)
|
||||
set (CSF_Appkit ${Appkit_LIB})
|
||||
else()
|
||||
find_library (Appkit_LIB NAMES AppKit)
|
||||
set (CSF_Appkit ${Appkit_LIB})
|
||||
endif()
|
||||
OCCT_CHECK_AND_UNSET (Appkit_LIB)
|
||||
|
||||
find_library (IOKit_LIB NAMES IOKit)
|
||||
set (CSF_IOKit ${IOKit_LIB})
|
||||
|
||||
OCCT_CHECK_AND_UNSET (Appkit_LIB)
|
||||
OCCT_CHECK_AND_UNSET (IOKit_LIB)
|
||||
|
||||
if (IOS)
|
||||
find_library (OpenGlesLibs_LIB NAMES OpenGLES)
|
||||
set (CSF_OpenGlesLibs ${OpenGlesLibs_LIB})
|
||||
OCCT_CHECK_AND_UNSET (OpenGlesLibs_LIB)
|
||||
elseif (USE_XLIB)
|
||||
set (CSF_OpenGlLibs "GL")
|
||||
set (CSF_XwLibs "X11")
|
||||
if (USE_GLX)
|
||||
set (CSF_OpenGlLibs GL)
|
||||
set (CSF_XwLibs "X11 Xext Xmu Xi")
|
||||
else()
|
||||
find_library (OpenGlLibs_LIB NAMES OpenGL)
|
||||
set (CSF_OpenGlLibs ${OpenGlLibs_LIB})
|
||||
|
||||
OCCT_CHECK_AND_UNSET (OpenGlLibs_LIB)
|
||||
endif()
|
||||
|
||||
elseif (EMSCRIPTEN)
|
||||
set (CSF_ThreadLibs "pthread rt stdc++")
|
||||
set (CSF_OpenGlesLibs "EGL GLESv2")
|
||||
set (CSF_dl "dl")
|
||||
elseif (ANDROID)
|
||||
set (CSF_ThreadLibs "c")
|
||||
set (CSF_OpenGlesLibs "EGL GLESv2")
|
||||
set (CSF_androidlog "log")
|
||||
set (CSF_OpenGlLibs "EGL GLESv2")
|
||||
elseif (UNIX)
|
||||
set (CSF_ThreadLibs "pthread rt stdc++")
|
||||
if (USE_XLIB)
|
||||
set (CSF_OpenGlLibs "GL")
|
||||
set (CSF_XwLibs "X11")
|
||||
if (USE_GLES2)
|
||||
set (CSF_OpenGlLibs "EGL GLESv2")
|
||||
else()
|
||||
set (CSF_OpenGlLibs "GL EGL")
|
||||
set (CSF_OpenGlLibs "GL")
|
||||
endif()
|
||||
set (CSF_OpenGlesLibs "EGL GLESv2")
|
||||
set (CSF_XwLibs "X11 Xext Xmu Xi")
|
||||
set (CSF_dl "dl")
|
||||
if (USE_FREETYPE)
|
||||
set (CSF_fontconfig "fontconfig")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
@@ -25,9 +25,6 @@ if (NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
# suppress C26812 on VS2019/C++20 (prefer 'enum class' over 'enum')
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:precise /wd\"26812\"")
|
||||
# suppress warning on using portable non-secure functions in favor of non-portable secure ones
|
||||
add_definitions (-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
else()
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -fPIC")
|
||||
@@ -43,35 +40,6 @@ elseif (MSVC)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHa")
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
if ("${BUILD_OPT_PROFILE}" STREQUAL "Production")
|
||||
# string pooling (GF), function-level linking (Gy)
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GF /Gy")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GF /Gy")
|
||||
|
||||
# Favor fast code (Ot), Omit frame pointers (Oy)
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Ot /Oy")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /Ot /Oy")
|
||||
|
||||
# Whole Program Optimisation (GL), Enable intrinsic functions (Oi)
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL /Oi")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GL /Oi")
|
||||
|
||||
# Link-Time Code Generation(LTCG) is requared for Whole Program Optimisation(GL)
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
|
||||
set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
|
||||
endif()
|
||||
if (BUILD_FORCE_RelWithDebInfo)
|
||||
# generate debug info (Zi), inline expansion level (Ob1)
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi /Ob1")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /Zi /Ob1")
|
||||
# generate debug info (debug), OptimizeReferences=true (OPT:REF), EnableCOMDATFolding=true (OPT:ICF)
|
||||
set (CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /debug /OPT:REF /OPT:ICF")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# remove _WINDOWS flag if it exists
|
||||
string (REGEX MATCH "/D_WINDOWS" IS_WINDOWSFLAG "${CMAKE_CXX_FLAGS}")
|
||||
if (IS_WINDOWSFLAG)
|
||||
@@ -118,13 +86,8 @@ if (MSVC AND (MSVC_VERSION GREATER 1400))
|
||||
endif()
|
||||
|
||||
# generate a single response file which enlist all of the object files
|
||||
if (NOT DEFINED CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS)
|
||||
SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
||||
endif()
|
||||
if (NOT DEFINED CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS)
|
||||
SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
||||
endif()
|
||||
|
||||
SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
||||
SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
||||
# increase compiler warnings level (-W4 for MSVC, -Wextra for GCC)
|
||||
if (MSVC)
|
||||
if (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
|
||||
@@ -132,27 +95,8 @@ if (MSVC)
|
||||
else()
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
|
||||
endif()
|
||||
elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]"))
|
||||
elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
|
||||
|
||||
if ("${BUILD_OPT_PROFILE}" STREQUAL "Production")
|
||||
# /Ot (favor speed over size) is similar to -O2 or -O3 in GCC/Clang.
|
||||
# /Oy (omit frame pointers) is similar to -fomit-frame-pointer in GCC/Clang.
|
||||
# /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.
|
||||
# /fp:precise (improve floating-point consistency) is similar to -ffloat-store in GCC, but there isn't a perfect equivalent in Clang.
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fomit-frame-pointer -flto -ffunction-sections -ffloat-store")
|
||||
|
||||
# Link-Time Code Generation(LTCG) is requared for Whole Program Optimisation(GL)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto")
|
||||
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} -flto")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -flto")
|
||||
endif()
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshorten-64-to-32")
|
||||
endif()
|
||||
if (BUILD_SHARED_LIBS)
|
||||
if (APPLE)
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-lm ${CMAKE_SHARED_LINKER_FLAGS}")
|
||||
@@ -162,30 +106,37 @@ elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPIL
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||
if (APPLE)
|
||||
# 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}")
|
||||
if(MINGW)
|
||||
# Set default release optimization option to O2 instead of O3, since in
|
||||
# some OCCT related examples, this gives significantly smaller binaries
|
||||
# at comparable performace with MinGW-w64.
|
||||
string (REGEX MATCH "-O3" IS_O3_CXX "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
if (IS_O3_CXX)
|
||||
string (REGEX REPLACE "-O3" "-O2" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
else()
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
|
||||
endif()
|
||||
# Optimize size of binaries
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,-s ${CMAKE_SHARED_LINKER_FLAGS}")
|
||||
elseif(MINGW)
|
||||
add_definitions(-D_WIN32_WINNT=0x0601)
|
||||
# _WIN32_WINNT=0x0601 (use Windows 7 SDK)
|
||||
#set (CMAKE_SYSTEM_VERSION "6.1")
|
||||
|
||||
set (CMAKE_CXX_FLAGS "-std=gnu++0x ${CMAKE_CXX_FLAGS}")
|
||||
add_definitions(-D_WIN32_WINNT=0x0501)
|
||||
# workaround bugs in mingw with vtable export
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-all-symbols")
|
||||
|
||||
# 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 ("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xClang")
|
||||
if (APPLE)
|
||||
# CLang can be used with both libstdc++ and libc++, however on OS X libstdc++ is outdated.
|
||||
set (CMAKE_CXX_FLAGS "-std=c++0x -stdlib=libc++ ${CMAKE_CXX_FLAGS}")
|
||||
else()
|
||||
set (CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
|
||||
endif()
|
||||
elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
|
||||
# Optimize size of binaries
|
||||
set (CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
|
||||
endif()
|
||||
|
||||
# Optimize size of binaries
|
||||
if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR MINGW)
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
|
||||
endif()
|
||||
|
||||
if (BUILD_RELEASE_DISABLE_EXCEPTIONS)
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
|
||||
endif()
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
|
||||
|
@@ -12,12 +12,18 @@ macro (OCCT_CHECK_AND_UNSET VARNAME)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_CHECK_AND_UNSET_GROUP GROUPNAME)
|
||||
get_cmake_property(VARS VARIABLES)
|
||||
string (REGEX MATCHALL "(^|;)${GROUPNAME}[A-Za-z0-9_]*" GROUPNAME_VARS "${VARS}")
|
||||
foreach(GROUPNAME_VAR ${GROUPNAME_VARS})
|
||||
OCCT_CHECK_AND_UNSET(${GROUPNAME_VAR})
|
||||
endforeach()
|
||||
macro (OCCT_CHECK_AND_UNSET_GROUP VARNAME)
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_DIR")
|
||||
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_INCLUDE_DIR")
|
||||
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_LIBRARY")
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_LIBRARY_DIR")
|
||||
|
||||
if (WIN32)
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_DLL")
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_DLL_DIR")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_CHECK_AND_UNSET_INSTALL_DIR_SUBDIRS)
|
||||
@@ -80,9 +86,9 @@ macro (OCCT_MAKE_COMPILER_SHORT_NAME)
|
||||
set (COMPILER gcc)
|
||||
elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
|
||||
set (COMPILER gxx)
|
||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
set (COMPILER clang)
|
||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "[Ii][Nn][Tt][Ee][Ll]")
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
||||
set (COMPILER icc)
|
||||
else()
|
||||
set (COMPILER ${CMAKE_GENERATOR})
|
||||
@@ -157,20 +163,13 @@ function (FIND_PRODUCT_DIR ROOT_DIR PRODUCT_NAME RESULT)
|
||||
OCCT_MAKE_COMPILER_BITNESS()
|
||||
|
||||
string (TOLOWER "${PRODUCT_NAME}" lower_PRODUCT_NAME)
|
||||
if ("${lower_PRODUCT_NAME}" STREQUAL "egl")
|
||||
string (SUBSTRING "${lower_PRODUCT_NAME}" 1 -1 lower_PRODUCT_NAME)
|
||||
list (APPEND SEARCH_TEMPLATES "[^gl]+${lower_PRODUCT_NAME}.*")
|
||||
elseif ("${lower_PRODUCT_NAME}" STREQUAL "tbb")
|
||||
list (APPEND SEARCH_TEMPLATES "^.*${lower_PRODUCT_NAME}.*")
|
||||
else()
|
||||
|
||||
list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*${COMPILER}.*${COMPILER_BITNESS}")
|
||||
list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*[0-9.]+.*${COMPILER}.*${COMPILER_BITNESS}")
|
||||
list (APPEND SEARCH_TEMPLATES "^[a-zA-Z]*[0-9]*-${lower_PRODUCT_NAME}[^a-zA-Z]*[0-9.]+.*${COMPILER}.*${COMPILER_BITNESS}")
|
||||
list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*[0-9.]+.*${COMPILER_BITNESS}")
|
||||
list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*.*${COMPILER_BITNESS}")
|
||||
list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*[0-9.]+")
|
||||
list (APPEND SEARCH_TEMPLATES "^[^a-zA-Z]*${lower_PRODUCT_NAME}[^a-zA-Z]*")
|
||||
endif()
|
||||
|
||||
SUBDIRECTORY_NAMES ("${ROOT_DIR}" SUBDIR_NAME_LIST)
|
||||
|
||||
@@ -270,7 +269,7 @@ macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_TARGET_OCCT_DIR OCCT_BUILD_TOO
|
||||
list (LENGTH OCCT_ALL_FILE_NAMES ALL_FILES_NB)
|
||||
math (EXPR ALL_FILES_NB "${ALL_FILES_NB} - 1" )
|
||||
|
||||
# emit warnings if there are unprocessed headers
|
||||
# emit warnings if there is unprocessed headers
|
||||
file (GLOB OCCT_ALL_FILES_IN_DIR "${OCCT_COLLECT_SOURCE_DIR}/${OCCT_PACKAGE}/*.*")
|
||||
file (GLOB OCCT_ALL_FILES_IN_PATCH_DIR "${BUILD_PATCH}/src/${OCCT_PACKAGE}/*.*")
|
||||
|
||||
@@ -303,8 +302,8 @@ macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_TARGET_OCCT_DIR OCCT_BUILD_TOO
|
||||
list (APPEND OCCT_HEADER_FILES_COMPLETE ${OCCT_FILE_IN_DIR})
|
||||
|
||||
# collect header files with name that does not contain its package one
|
||||
string (REGEX MATCH "^${OCCT_PACKAGE}[_.]" IS_HEADER_MATHCING_PACKAGE "${OCCT_FILE_NAME}")
|
||||
if (NOT IS_HEADER_MATHCING_PACKAGE)
|
||||
string (FIND "${OCCT_FILE_NAME}" "${OCCT_PACKAGE}_" FOUND_INDEX)
|
||||
if (NOT ${FOUND_INDEX} EQUAL 0)
|
||||
list (APPEND OCCT_HEADER_FILE_WITH_PROPER_NAMES "${OCCT_FILE_NAME}")
|
||||
endif()
|
||||
endif()
|
||||
@@ -351,12 +350,12 @@ macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_TARGET_OCCT_DIR OCCT_BUILD_TOO
|
||||
list (FIND OCCT_USED_PACKAGES ${PACKAGE_NAME} IS_HEADER_FOUND)
|
||||
if (NOT ${IS_HEADER_FOUND} EQUAL -1)
|
||||
if (NOT EXISTS "${OCCT_COLLECT_SOURCE_DIR}/${PACKAGE_NAME}/${HEADER_FILE_NAME}")
|
||||
message (STATUS "Warning. ${OCCT_HEADER_FILE_OLD} is not present in the sources and will be removed from ${ROOT_TARGET_OCCT_DIR}/inc")
|
||||
message (STATUS "Warning. ${OCCT_HEADER_FILE_OLD} is not presented in the sources and will be removed from ${ROOT_TARGET_OCCT_DIR}/inc")
|
||||
file (REMOVE "${OCCT_HEADER_FILE_OLD}")
|
||||
else()
|
||||
list (FIND OCCT_HEADER_FILE_NAMES_NOT_IN_FILES ${PACKAGE_NAME} IS_HEADER_FOUND)
|
||||
if (NOT ${IS_HEADER_FOUND} EQUAL -1)
|
||||
message (STATUS "Warning. ${OCCT_HEADER_FILE_OLD} is present in the sources but not involved in FILES and will be removed from ${ROOT_TARGET_OCCT_DIR}/inc")
|
||||
message (STATUS "Warning. ${OCCT_HEADER_FILE_OLD} is presented in the sources but not involved in FILES and will be removed from ${ROOT_TARGET_OCCT_DIR}/inc")
|
||||
file (REMOVE "${OCCT_HEADER_FILE_OLD}")
|
||||
endif()
|
||||
endif()
|
||||
@@ -591,7 +590,9 @@ macro (OCCT_UPDATE_TARGET_FILE)
|
||||
endif()
|
||||
|
||||
install (CODE
|
||||
"string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
|
||||
"cmake_policy(PUSH)
|
||||
cmake_policy(SET CMP0007 NEW)
|
||||
string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
|
||||
file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
|
||||
foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
|
||||
file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
|
||||
@@ -600,7 +601,8 @@ macro (OCCT_UPDATE_TARGET_FILE)
|
||||
string (REGEX REPLACE \"[\\\\]?[\\\$]{OCCT_INSTALL_BIN_LETTER}\" \"\${OCCT_INSTALL_BIN_LETTER}\" line \"\${line}\")
|
||||
file (APPEND \"\${TARGET_FILENAME}\" \"\${line}\\n\")
|
||||
endforeach()
|
||||
endforeach()")
|
||||
endforeach()
|
||||
cmake_policy(POP)")
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_INSERT_CODE_FOR_TARGET)
|
||||
@@ -614,14 +616,17 @@ macro (OCCT_INSERT_CODE_FOR_TARGET)
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_UPDATE_DRAW_DEFAULT_FILE)
|
||||
install(CODE "set (DRAW_DEFAULT_FILE_NAME \"${INSTALL_DIR}/${INSTALL_DIR_RESOURCE}/DrawResources/DrawPlugin\")
|
||||
install(CODE "cmake_policy(PUSH)
|
||||
cmake_policy(SET CMP0007 NEW)
|
||||
set (DRAW_DEFAULT_FILE_NAME \"${INSTALL_DIR}/${INSTALL_DIR_RESOURCE}/DrawResources/DrawPlugin\")
|
||||
file (STRINGS \"\${DRAW_DEFAULT_FILE_NAME}\" DRAW_DEFAULT_CONTENT)
|
||||
file (REMOVE \"\${DRAW_DEFAULT_FILE_NAME}\")
|
||||
foreach (line IN LISTS DRAW_DEFAULT_CONTENT)
|
||||
string (REGEX MATCH \": TK\([a-zA-Z]+\)$\" IS_TK_LINE \"\${line}\")
|
||||
string (REGEX REPLACE \": TK\([a-zA-Z]+\)$\" \": TK\${CMAKE_MATCH_1}${BUILD_SHARED_LIBRARY_NAME_POSTFIX}\" line \"\${line}\")
|
||||
file (APPEND \"\${DRAW_DEFAULT_FILE_NAME}\" \"\${line}\\n\")
|
||||
endforeach()")
|
||||
endforeach()
|
||||
cmake_policy(POP)")
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_CREATE_SYMLINK_TO_FILE LIBRARY_NAME LINK_NAME)
|
||||
|
@@ -22,7 +22,7 @@ if ("${OCCT_TOOLKITS_NAME_SUFFIX}" STREQUAL "")
|
||||
set (OCCT_TOOLKITS_NAME_SUFFIX "TOOLKITS")
|
||||
endif()
|
||||
|
||||
# parse PACKAGES file
|
||||
# parce PACKAGES file
|
||||
FILE_TO_LIST ("${RELATIVE_SOURCES_DIR}/${PROJECT_NAME}/PACKAGES" USED_PACKAGES)
|
||||
if ("${USED_PACKAGES}" STREQUAL "")
|
||||
set (USED_PACKAGES ${PROJECT_NAME})
|
||||
@@ -39,7 +39,7 @@ set (PRECOMPILED_DEFS)
|
||||
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
list (APPEND PRECOMPILED_DEFS "-DOCCT_NO_PLUGINS")
|
||||
if (WIN32 AND NOT EXECUTABLE_PROJECT)
|
||||
if (WIN32)
|
||||
list (APPEND PRECOMPILED_DEFS "-DOCCT_STATIC_BUILD")
|
||||
endif()
|
||||
endif()
|
||||
@@ -57,6 +57,11 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
|
||||
set (OCCT_PACKAGE_NAME "${OCCT_PACKAGE}")
|
||||
endif()
|
||||
|
||||
# TKService contains platform-dependent packages: Xw and WNT
|
||||
if ((WIN32 AND "${OCCT_PACKAGE}" STREQUAL "Xw") OR (NOT WIN32 AND "${OCCT_PACKAGE}" STREQUAL "WNT"))
|
||||
# do nothing
|
||||
else()
|
||||
|
||||
if (WIN32)
|
||||
list (APPEND PRECOMPILED_DEFS "-D__${OCCT_PACKAGE_NAME}_DLL")
|
||||
endif()
|
||||
@@ -66,20 +71,11 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
|
||||
|
||||
# Generate Flex and Bison files
|
||||
if (${BUILD_YACCLEX})
|
||||
|
||||
# flex files
|
||||
OCCT_ORIGIN_AND_PATCHED_FILES ("${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}" "*[.]lex" SOURCE_FILES_FLEX)
|
||||
list (LENGTH SOURCE_FILES_FLEX SOURCE_FILES_FLEX_LEN)
|
||||
|
||||
# remove old general version of FlexLexer
|
||||
if (EXISTS ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h)
|
||||
message (STATUS "Info: remove old FLEX header file: ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h")
|
||||
file(REMOVE ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h)
|
||||
endif()
|
||||
# install copy of FlexLexer.h locally to allow further building without flex
|
||||
if (FLEX_INCLUDE_DIR AND EXISTS "${FLEX_INCLUDE_DIR}/FlexLexer.h")
|
||||
configure_file("${FLEX_INCLUDE_DIR}/FlexLexer.h" "${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h" @ONLY NEWLINE_STYLE LF)
|
||||
endif()
|
||||
|
||||
# bison files
|
||||
OCCT_ORIGIN_AND_PATCHED_FILES ("${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}" "*[.]yacc" SOURCE_FILES_BISON)
|
||||
list (LENGTH SOURCE_FILES_BISON SOURCE_FILES_BISON_LEN)
|
||||
@@ -101,49 +97,10 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
|
||||
string (COMPARE EQUAL ${CURRENT_FLEX_FILE_NAME} ${CURRENT_BISON_FILE_NAME} ARE_FILES_EQUAL)
|
||||
|
||||
if (EXISTS "${CURRENT_FLEX_FILE}" AND EXISTS "${CURRENT_BISON_FILE}" AND ${ARE_FILES_EQUAL})
|
||||
|
||||
# Note: files are generated in original source directory (not in patch!)
|
||||
set (FLEX_BISON_TARGET_DIR "${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}")
|
||||
|
||||
# choose appropriate extension for generated files: "cxx" if source file contains
|
||||
# instruction to generate C++ code, "c" otherwise
|
||||
set (BISON_OUTPUT_FILE_EXT "c")
|
||||
set (FLEX_OUTPUT_FILE_EXT "c")
|
||||
file (STRINGS "${CURRENT_BISON_FILE}" FILE_BISON_CONTENT)
|
||||
foreach (FILE_BISON_CONTENT_LINE ${FILE_BISON_CONTENT})
|
||||
string (REGEX MATCH "%language \"C\\+\\+\"" CXX_BISON_LANGUAGE_FOUND ${FILE_BISON_CONTENT_LINE})
|
||||
if (CXX_BISON_LANGUAGE_FOUND)
|
||||
set (BISON_OUTPUT_FILE_EXT "cxx")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
file (STRINGS "${CURRENT_FLEX_FILE}" FILE_FLEX_CONTENT)
|
||||
foreach (FILE_FLEX_CONTENT_LINE ${FILE_FLEX_CONTENT})
|
||||
string (REGEX MATCH "%option c\\+\\+" CXX_FLEX_LANGUAGE_FOUND ${FILE_FLEX_CONTENT_LINE})
|
||||
if (CXX_FLEX_LANGUAGE_FOUND)
|
||||
set (FLEX_OUTPUT_FILE_EXT "cxx")
|
||||
endif()
|
||||
endforeach()
|
||||
set (BISON_OUTPUT_FILE ${CURRENT_BISON_FILE_NAME}.tab.${BISON_OUTPUT_FILE_EXT})
|
||||
set (FLEX_OUTPUT_FILE lex.${CURRENT_FLEX_FILE_NAME}.${FLEX_OUTPUT_FILE_EXT})
|
||||
|
||||
if (EXISTS ${FLEX_BISON_TARGET_DIR}/${CURRENT_BISON_FILE_NAME}.tab.${BISON_OUTPUT_FILE_EXT})
|
||||
message (STATUS "Info: remove old output BISON file: ${FLEX_BISON_TARGET_DIR}/${CURRENT_BISON_FILE_NAME}.tab.${BISON_OUTPUT_FILE_EXT}")
|
||||
file(REMOVE ${FLEX_BISON_TARGET_DIR}/${CURRENT_BISON_FILE_NAME}.tab.${BISON_OUTPUT_FILE_EXT})
|
||||
endif()
|
||||
if (EXISTS ${FLEX_BISON_TARGET_DIR}/${CURRENT_BISON_FILE_NAME}.tab.hxx)
|
||||
message (STATUS "Info: remove old output BISON file: ${FLEX_BISON_TARGET_DIR}/${CURRENT_BISON_FILE_NAME}.tab.hxx")
|
||||
file(REMOVE ${FLEX_BISON_TARGET_DIR}/${CURRENT_BISON_FILE_NAME}.tab.hxx)
|
||||
endif()
|
||||
if (EXISTS ${FLEX_BISON_TARGET_DIR}/${FLEX_OUTPUT_FILE})
|
||||
message (STATUS "Info: remove old output FLEX file: ${FLEX_BISON_TARGET_DIR}/${FLEX_OUTPUT_FILE}")
|
||||
file(REMOVE ${FLEX_BISON_TARGET_DIR}/${FLEX_OUTPUT_FILE})
|
||||
endif()
|
||||
|
||||
BISON_TARGET (Parser_${CURRENT_BISON_FILE_NAME} ${CURRENT_BISON_FILE} "${FLEX_BISON_TARGET_DIR}/${BISON_OUTPUT_FILE}"
|
||||
COMPILE_FLAGS "-p ${CURRENT_BISON_FILE_NAME} -l -M ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/=")
|
||||
FLEX_TARGET (Scanner_${CURRENT_FLEX_FILE_NAME} ${CURRENT_FLEX_FILE} "${FLEX_BISON_TARGET_DIR}/${FLEX_OUTPUT_FILE}"
|
||||
COMPILE_FLAGS "-P${CURRENT_FLEX_FILE_NAME} -L")
|
||||
set (BISON_OUTPUT_FILE ${CURRENT_BISON_FILE_NAME}.tab.c)
|
||||
set (FLEX_OUTPUT_FILE lex.${CURRENT_FLEX_FILE_NAME}.c)
|
||||
BISON_TARGET (Parser_${CURRENT_BISON_FILE_NAME} ${CURRENT_BISON_FILE} ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/${BISON_OUTPUT_FILE} COMPILE_FLAGS "-p ${CURRENT_BISON_FILE_NAME}")
|
||||
FLEX_TARGET (Scanner_${CURRENT_FLEX_FILE_NAME} ${CURRENT_FLEX_FILE} ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/${FLEX_OUTPUT_FILE} COMPILE_FLAGS "-P${CURRENT_FLEX_FILE_NAME}")
|
||||
ADD_FLEX_BISON_DEPENDENCY (Scanner_${CURRENT_FLEX_FILE_NAME} Parser_${CURRENT_BISON_FILE_NAME})
|
||||
|
||||
list (APPEND SOURCE_FILES ${BISON_OUTPUT_FILE} ${FLEX_OUTPUT_FILE})
|
||||
@@ -210,6 +167,7 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
|
||||
foreach(RESOURCE_FILE ${RESOURCE_FILES})
|
||||
SOURCE_GROUP ("Resource Files\\${OCCT_PACKAGE_NAME}" FILES "${RESOURCE_FILE}")
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
string (REGEX REPLACE ";" " " PRECOMPILED_DEFS "${PRECOMPILED_DEFS}")
|
||||
|
||||
@@ -245,54 +203,15 @@ endif (USE_QT)
|
||||
if (EXECUTABLE_PROJECT)
|
||||
add_executable (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES} ${USED_RCFILE} ${RESOURCE_FILES} ${${PROJECT_NAME}_MOC_FILES})
|
||||
|
||||
if (DEFINED ${PROJECT_NAME}_DISABLE_COTIRE AND ${PROJECT_NAME}_DISABLE_COTIRE)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES COTIRE_ENABLE_PRECOMPILED_HEADER FALSE)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES COTIRE_ADD_UNITY_BUILD FALSE)
|
||||
else()
|
||||
# To avoid excluding of PROJECT_NAME from cotire tool, we may use cotire
|
||||
# COTIRE_PREFIX_HEADER_IGNORE_PATH instead. But, practically it causes many 'undefined symbols' error.
|
||||
# So, we just exclude PROJECT_NAME from cotire list.
|
||||
# if (DEFINED ${PROJECT_NAME}_COTIRE_IGNORE_PATH)
|
||||
# set_target_properties(${PROJECT_NAME} PROPERTIES COTIRE_PREFIX_HEADER_IGNORE_PATH "${${PROJECT_NAME}_COTIRE_IGNORE_PATH}")
|
||||
# endif()
|
||||
endif()
|
||||
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}")
|
||||
|
||||
if (EMSCRIPTEN)
|
||||
install(FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.wasm DESTINATION "${INSTALL_DIR_BIN}/${OCCT_INSTALL_BIN_LETTER}")
|
||||
endif()
|
||||
else()
|
||||
add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES} ${USED_RCFILE} ${RESOURCE_FILES} ${${PROJECT_NAME}_MOC_FILES})
|
||||
|
||||
if (DEFINED ${PROJECT_NAME}_DISABLE_COTIRE AND ${PROJECT_NAME}_DISABLE_COTIRE)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES COTIRE_ENABLE_PRECOMPILED_HEADER FALSE)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES COTIRE_ADD_UNITY_BUILD FALSE)
|
||||
else()
|
||||
# To avoid excluding of PROJECT_NAME from cotire tool, we may use cotire
|
||||
# COTIRE_PREFIX_HEADER_IGNORE_PATH instead. But, practically it causes many 'undefined symbols' error.
|
||||
# So, we just exclude PROJECT_NAME from cotire list.
|
||||
# if (DEFINED ${PROJECT_NAME}_COTIRE_IGNORE_PATH)
|
||||
# set_target_properties(${PROJECT_NAME} PROPERTIES COTIRE_PREFIX_HEADER_IGNORE_PATH "${${PROJECT_NAME}_COTIRE_IGNORE_PATH}")
|
||||
# endif()
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
if (BUILD_FORCE_RelWithDebInfo)
|
||||
set (aReleasePdbConf "Release")
|
||||
else()
|
||||
set (aReleasePdbConf)
|
||||
endif()
|
||||
if (BUILD_SHARED_LIBS)
|
||||
install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb
|
||||
CONFIGURATIONS Debug ${aReleasePdbConf} RelWithDebInfo
|
||||
CONFIGURATIONS Debug RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}")
|
||||
else()
|
||||
install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb
|
||||
CONFIGURATIONS Debug ${aReleasePdbConf} RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (BUILD_SHARED_LIBS AND NOT "${BUILD_SHARED_LIBRARY_NAME_POSTFIX}" STREQUAL "")
|
||||
@@ -304,8 +223,7 @@ else()
|
||||
EXPORT OpenCASCADE${CURRENT_MODULE}Targets
|
||||
RUNTIME DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}"
|
||||
ARCHIVE DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}"
|
||||
INCLUDES DESTINATION ${INSTALL_DIR_INCLUDE})
|
||||
LIBRARY DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}")
|
||||
|
||||
if (NOT WIN32)
|
||||
if (BUILD_SHARED_LIBS AND NOT "${BUILD_SHARED_LIBRARY_NAME_POSTFIX}" STREQUAL "")
|
||||
@@ -330,27 +248,20 @@ get_property (OCC_VERSION_MAJOR GLOBAL PROPERTY OCC_VERSION_MAJOR)
|
||||
get_property (OCC_VERSION_MINOR GLOBAL PROPERTY OCC_VERSION_MINOR)
|
||||
get_property (OCC_VERSION_MAINTENANCE GLOBAL PROPERTY OCC_VERSION_MAINTENANCE)
|
||||
|
||||
set (OCC_SOVERSION "")
|
||||
if (BUILD_SOVERSION_NUMBERS GREATER 2)
|
||||
set (OCC_SOVERSION "${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}")
|
||||
elseif (BUILD_SOVERSION_NUMBERS GREATER 1)
|
||||
set (OCC_SOVERSION "${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}")
|
||||
elseif (BUILD_SOVERSION_NUMBERS GREATER 0)
|
||||
set (OCC_SOVERSION "${OCC_VERSION_MAJOR}")
|
||||
endif()
|
||||
set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_DEFS}"
|
||||
SOVERSION "${OCC_SOVERSION}"
|
||||
if (ANDROID)
|
||||
# do not append version to the filename
|
||||
set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_DEFS}")
|
||||
else()
|
||||
set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_DEFS}"
|
||||
SOVERSION "${OCC_VERSION_MAJOR}"
|
||||
VERSION "${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}")
|
||||
endif()
|
||||
|
||||
set (USED_TOOLKITS_BY_CURRENT_PROJECT)
|
||||
set (USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT)
|
||||
|
||||
# parse EXTERNLIB file
|
||||
if (CUSTOM_EXTERNLIB)
|
||||
set (USED_EXTERNLIB_AND_TOOLKITS ${CUSTOM_EXTERNLIB})
|
||||
else()
|
||||
FILE_TO_LIST ("${RELATIVE_SOURCES_DIR}/${PROJECT_NAME}/EXTERNLIB" USED_EXTERNLIB_AND_TOOLKITS)
|
||||
endif()
|
||||
# parce EXTERNLIB file
|
||||
FILE_TO_LIST ("${RELATIVE_SOURCES_DIR}/${PROJECT_NAME}/EXTERNLIB" USED_EXTERNLIB_AND_TOOLKITS)
|
||||
foreach (USED_ITEM ${USED_EXTERNLIB_AND_TOOLKITS})
|
||||
string (REGEX MATCH "^ *#" COMMENT_FOUND ${USED_ITEM})
|
||||
if (NOT COMMENT_FOUND)
|
||||
@@ -369,17 +280,6 @@ foreach (USED_ITEM ${USED_EXTERNLIB_AND_TOOLKITS})
|
||||
else() # get CSF_ value
|
||||
set (CURRENT_CSF ${${USED_ITEM}})
|
||||
if (NOT "x${CURRENT_CSF}" STREQUAL "x")
|
||||
if ("${CURRENT_CSF}" STREQUAL "${CSF_OpenGlLibs}")
|
||||
add_definitions (-DHAVE_OPENGL)
|
||||
endif()
|
||||
if ("${CURRENT_CSF}" STREQUAL "${CSF_OpenGlesLibs}")
|
||||
add_definitions (-DHAVE_GLES2)
|
||||
endif()
|
||||
|
||||
if ("${CURRENT_CSF}" STREQUAL "${CSF_Draco}")
|
||||
set (CURRENT_CSF "")
|
||||
set (USED_DRACO 1)
|
||||
endif()
|
||||
set (LIBRARY_FROM_CACHE 0)
|
||||
separate_arguments (CURRENT_CSF)
|
||||
foreach (CSF_LIBRARY ${CURRENT_CSF})
|
||||
@@ -407,7 +307,7 @@ foreach (USED_ITEM ${USED_EXTERNLIB_AND_TOOLKITS})
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
if (NOT ${LIBRARY_FROM_CACHE} AND NOT "${CURRENT_CSF}" STREQUAL "")
|
||||
if (NOT ${LIBRARY_FROM_CACHE})
|
||||
# prepare a list from a string with whitespaces
|
||||
separate_arguments (CURRENT_CSF)
|
||||
list (APPEND USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT ${CURRENT_CSF})
|
||||
@@ -418,32 +318,10 @@ foreach (USED_ITEM ${USED_EXTERNLIB_AND_TOOLKITS})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if (USE_DRACO)
|
||||
if (USED_DRACO)
|
||||
set (USED_LIB_RELEASE ${3RDPARTY_DRACO_LIBRARY})
|
||||
if (WIN32)
|
||||
set (USED_LIB_DEBUG ${3RDPARTY_DRACO_LIBRARY_DEBUG})
|
||||
else()
|
||||
set (USED_LIB_DEBUG ${3RDPARTY_DRACO_LIBRARY})
|
||||
endif()
|
||||
set (USED_LIB_CONF)
|
||||
if (EXISTS ${USED_LIB_DEBUG})
|
||||
set (USED_LIB_CONF "$<$<CONFIG:DEBUG>:${USED_LIB_DEBUG}>;${USED_LIB_CONF}")
|
||||
endif()
|
||||
if (EXISTS ${USED_LIB_RELEASE})
|
||||
set (USED_LIB_CONF "$<$<CONFIG:RELEASE>:${USED_LIB_RELEASE}>;${USED_LIB_CONF}")
|
||||
set (USED_LIB_CONF "$<$<CONFIG:RELWITHDEBINFO>:${USED_LIB_RELEASE}>;${USED_LIB_CONF}")
|
||||
endif()
|
||||
if (DEFINED USED_LIB_CONF)
|
||||
set_property (TARGET ${PROJECT_NAME} APPEND PROPERTY LINK_LIBRARIES "${USED_LIB_CONF}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
list (FIND USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT X11 IS_X11_FOUND)
|
||||
if (NOT ${IS_X11_FOUND} EQUAL -1)
|
||||
find_package (X11 COMPONENTS X11)
|
||||
find_package (X11 COMPONENTS X11 Xext Xmu Xi)
|
||||
if (NOT X11_FOUND)
|
||||
message (STATUS "Warning: X11 is not found. It's required to install The XQuartz project: http://www.xquartz.org")
|
||||
endif()
|
||||
@@ -452,7 +330,7 @@ endif()
|
||||
|
||||
# Update list of used VTK libraries if OpenGL2 Rendering BackEnd is used.
|
||||
# Add VTK_OPENGL2_BACKEND definition.
|
||||
if("${VTK_RENDERING_BACKEND}" STREQUAL "OpenGL2" OR IS_VTK_9XX)
|
||||
if("${VTK_RENDERING_BACKEND}" STREQUAL "OpenGL2")
|
||||
add_definitions(-DVTK_OPENGL2_BACKEND)
|
||||
foreach (VTK_EXCLUDE_LIBRARY vtkRenderingOpenGL vtkRenderingFreeTypeOpenGL)
|
||||
list (FIND USED_TOOLKITS_BY_CURRENT_PROJECT "${VTK_EXCLUDE_LIBRARY}" IS_VTK_OPENGL_FOUND)
|
||||
@@ -475,10 +353,7 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (BUILD_SHARED_LIBS OR EXECUTABLE_PROJECT)
|
||||
if(IS_VTK_9XX)
|
||||
string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}")
|
||||
endif()
|
||||
if (BUILD_SHARED_LIBS)
|
||||
target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT})
|
||||
endif()
|
||||
|
||||
|
@@ -1,5 +0,0 @@
|
||||
# OpenVR SDK
|
||||
# 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
|
||||
|
||||
THIRDPARTY_PRODUCT("OPENVR" "openvr.h" "CSF_OpenVR" "")
|
@@ -1,22 +1,23 @@
|
||||
#qt
|
||||
|
||||
# Qt is searched manually first (just determine root)
|
||||
message (STATUS "Processing Qt 3-rd party")
|
||||
#looking for 3RDPARTY_QT_DIR variable used later in qt_macro.cmake
|
||||
SET(CSF_QtCore "QtCore")
|
||||
THIRDPARTY_PRODUCT("QT" "" "CSF_QtCore" "d")
|
||||
|
||||
if (NOT DEFINED ${3RDPARTY_QT_DIR} AND ${3RDPARTY_QT_DIR} STREQUAL "")
|
||||
FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" Qt 3RDPARTY_QT_DIR_NAME)
|
||||
list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_QT_DIR}/bin")
|
||||
|
||||
if (NOT DEFINED ${3RDPARTY_QT_DIR_NAME} AND ${3RDPARTY_QT_DIR_NAME} STREQUAL "")
|
||||
set (3RDPARTY_QT_DIR "" CACHE PATH "The directory containing qt")
|
||||
message (FATAL_ERROR "Could not find used third-party product: 3RDPARTY_QT_DIR")
|
||||
endif()
|
||||
list (REMOVE_ITEM 3RDPARTY_NOT_INCLUDED "3RDPARTY_QT_INCLUDE_DIR")
|
||||
list (REMOVE_ITEM 3RDPARTY_NO_LIBS "3RDPARTY_QT_LIBRARY_DIR")
|
||||
list (REMOVE_ITEM 3RDPARTY_NO_DLLS "3RDPARTY_QT_DLL_DIR")
|
||||
|
||||
# Combine directory name with absolute path and show in GUI
|
||||
set (3RDPARTY_QT_DIR "${3RDPARTY_DIR}/${3RDPARTY_QT_DIR_NAME}" CACHE PATH "The directory containing Qt" FORCE)
|
||||
message (STATUS "Info: Qt is used from folder: ${3RDPARTY_QT_DIR}")
|
||||
endif()
|
||||
UNSET (${3RDPARTY_QT_DLL} CACHE)
|
||||
UNSET (${3RDPARTY_QT_DLL_DIR} CACHE)
|
||||
UNSET (${3RDPARTY_QT_INCLUDE_DIR} CACHE)
|
||||
UNSET (${3RDPARTY_QT_LIBRARY} CACHE)
|
||||
UNSET (${3RDPARTY_QT_LIBRARY_DIR} CACHE)
|
||||
|
||||
set (USED_3RDPARTY_QT_DIR "${3RDPARTY_QT_DIR}")
|
||||
message (STATUS "Info: Qt is used from folder: ${3RDPARTY_QT_DIR}")
|
||||
|
||||
# Now set CMAKE_PREFIX_PATH to point to local Qt installation.
|
||||
# Without this setting find_package() will not work
|
||||
@@ -33,9 +34,3 @@ if (NOT ${Qt5_FOUND})
|
||||
else()
|
||||
#message (STATUS "Qt5 cmake configuration")
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_QT_DIR OR EXISTS "${3RDPARTY_QT_DIR}")
|
||||
list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_QT_DIR}/bin")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_QT_DLL_DIR)
|
||||
endif()
|
||||
|
@@ -1,86 +0,0 @@
|
||||
# RapidJSON
|
||||
|
||||
if (NOT DEFINED INSTALL_RAPIDJSON)
|
||||
set (INSTALL_RAPIDJSON OFF CACHE BOOL "${INSTALL_RAPIDJSON_DESCR}")
|
||||
endif()
|
||||
|
||||
# RapidJSON directory
|
||||
if (NOT DEFINED 3RDPARTY_RAPIDJSON_DIR)
|
||||
set (3RDPARTY_RAPIDJSON_DIR "" CACHE PATH "The directory containing RapidJSON")
|
||||
endif()
|
||||
|
||||
# search for RapidJSON in user defined directory
|
||||
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
|
||||
if (NOT 3RDPARTY_RAPIDJSON_DIR OR NOT EXISTS "${3RDPARTY_RAPIDJSON_DIR}")
|
||||
FIND_PRODUCT_DIR("${3RDPARTY_DIR}" RapidJSON RAPIDJSON_DIR_NAME)
|
||||
if (RAPIDJSON_DIR_NAME)
|
||||
set (3RDPARTY_RAPIDJSON_DIR "${3RDPARTY_DIR}/${RAPIDJSON_DIR_NAME}" CACHE PATH "The directory containing RapidJSON" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_RAPIDJSON_INCLUDE_DIR)
|
||||
set (3RDPARTY_RAPIDJSON_INCLUDE_DIR "" CACHE FILEPATH "The directory containing headers of the RAPIDJSON")
|
||||
endif()
|
||||
|
||||
if (NOT 3RDPARTY_RAPIDJSON_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_RAPIDJSON_INCLUDE_DIR}")
|
||||
|
||||
set (HEADER_NAMES rapidjson/rapidjson.h)
|
||||
|
||||
set (3RDPARTY_RAPIDJSON_INCLUDE_DIR "3RDPARTY_RAPIDJSON_INCLUDE_DIR-NOTFOUND" CACHE PATH "the path to RapidJSON header file" FORCE)
|
||||
|
||||
if (3RDPARTY_RAPIDJSON_DIR AND EXISTS "${3RDPARTY_RAPIDJSON_DIR}")
|
||||
find_path (3RDPARTY_RAPIDJSON_INCLUDE_DIR NAMES ${HEADER_NAMES}
|
||||
PATHS ${3RDPARTY_RAPIDJSON_DIR}
|
||||
PATH_SUFFIXES include rapidjson
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
else()
|
||||
find_path (3RDPARTY_RAPIDJSON_INCLUDE_DIR NAMES ${HEADER_NAMES}
|
||||
PATH_SUFFIXES include rapidjson
|
||||
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||
endif()
|
||||
|
||||
# use default (CMake) RapidJSON search
|
||||
if (NOT 3RDPARTY_RAPIDJSON_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_RAPIDJSON_INCLUDE_DIR}")
|
||||
if (3RDPARTY_RAPIDJSON_DIR AND EXISTS "${3RDPARTY_RAPIDJSON_DIR}")
|
||||
set (CACHED_RAPIDJSON_DIR $ENV{RapidJSON_DIR})
|
||||
set (ENV{RapidJSON_DIR} "${3RDPARTY_RAPIDJSON_DIR}")
|
||||
endif()
|
||||
|
||||
find_package(RapidJSON QUIET)
|
||||
|
||||
# restore ENV{RapidJSON_DIR}
|
||||
if (3RDPARTY_RAPIDJSON_DIR AND EXISTS "${3RDPARTY_RAPIDJSON_DIR}")
|
||||
set (ENV{RapidJSON_DIR} ${CACHED_RAPIDJSON_DIR})
|
||||
endif()
|
||||
|
||||
if (${RAPIDJSON_FOUND})
|
||||
set (3RDPARTY_RAPIDJSON_INCLUDE_DIR "${RAPIDJSON_INCLUDE_DIR}" CACHE PATH "the path to RapidJSON header file" FORCE)
|
||||
set (3RDPARTY_RAPIDJSON_DIR "${RAPIDJSON_ROOT_DIR}" CACHE PATH "The directory containing RapidJSON" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_RAPIDJSON_INCLUDE_DIR AND EXISTS "${3RDPARTY_RAPIDJSON_INCLUDE_DIR}")
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_RAPIDJSON_INCLUDE_DIR}")
|
||||
|
||||
# Install header files
|
||||
if (INSTALL_RAPIDJSON)
|
||||
file(GLOB RAPIDJSON_SUBDIRS "${3RDPARTY_RAPIDJSON_INCLUDE_DIR}/*")
|
||||
foreach(SUBDIR ${RAPIDJSON_SUBDIRS})
|
||||
if(IS_DIRECTORY "${SUBDIR}")
|
||||
install (DIRECTORY "${SUBDIR}" DESTINATION "${INSTALL_DIR_INCLUDE}")
|
||||
else()
|
||||
install (FILES "${SUBDIR}" DESTINATION "${INSTALL_DIR_INCLUDE}")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_RAPIDJSON_INCLUDE_DIR)
|
||||
|
||||
set (3RDPARTY_RAPIDJSON_INCLUDE_DIR "" CACHE PATH "the path to RapidJSON header file" FORCE)
|
||||
endif()
|
||||
|
||||
# unset all redundant variables
|
||||
OCCT_CHECK_AND_UNSET(RapidJSON_DIR)
|
@@ -1,248 +1,294 @@
|
||||
# tbb
|
||||
|
||||
if (NOT DEFINED INSTALL_TBB AND BUILD_SHARED_LIBS)
|
||||
set (INSTALL_TBB OFF CACHE BOOL "${INSTALL_TBB_DESCR}")
|
||||
endif()
|
||||
|
||||
# tbb directory
|
||||
if (NOT DEFINED 3RDPARTY_TBB_DIR)
|
||||
set (3RDPARTY_TBB_DIR "" CACHE PATH "The directory containing tbb")
|
||||
endif()
|
||||
|
||||
if (MSVC AND BUILD_SHARED_LIBS)
|
||||
add_definitions (-D__TBB_NO_IMPLICIT_LINKAGE)
|
||||
add_definitions (-D__TBBMALLOC_NO_IMPLICIT_LINKAGE)
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED INSTALL_TBB AND BUILD_SHARED_LIBS)
|
||||
set (INSTALL_TBB OFF CACHE BOOL "${INSTALL_TBB_DESCR}")
|
||||
endif()
|
||||
# include occt macros. compiler_bitness, os_wiht_bit, compiler
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
|
||||
|
||||
# Initialize tbb directory.
|
||||
if (NOT DEFINED 3RDPARTY_TBB_DIR)
|
||||
set (3RDPARTY_TBB_DIR "" CACHE PATH "The directory containing tbb")
|
||||
endif()
|
||||
# specify TBB folder in connectin with 3RDPARTY_DIR
|
||||
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
|
||||
#CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_DIR 3RDPARTY_TBB_DIR PATH "The directory containing tbb")
|
||||
|
||||
if (WIN32)
|
||||
if (NOT DEFINED 3RDPARTY_DIR)
|
||||
message (FATAL_ERROR "3RDPARTY_DIR is not defined.")
|
||||
endif()
|
||||
if ("${3RDPARTY_DIR}" STREQUAL "")
|
||||
message (FATAL_ERROR "3RDPARTY_DIR is empty string.")
|
||||
endif()
|
||||
if (NOT EXISTS "${3RDPARTY_DIR}")
|
||||
message (FATAL_ERROR "3RDPARTY_DIR is not exist.")
|
||||
endif()
|
||||
|
||||
# Below, we have correct 3RDPARTY_DIR.
|
||||
|
||||
# Initialize TBB folder in connection with 3RDPARTY_DIR.
|
||||
if (("${3RDPARTY_TBB_DIR}" STREQUAL "") OR (NOT EXISTS "${3RDPARTY_TBB_DIR}"))
|
||||
if (NOT 3RDPARTY_TBB_DIR OR NOT EXISTS "${3RDPARTY_TBB_DIR}")
|
||||
FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" TBB TBB_DIR_NAME)
|
||||
if (TBB_DIR_NAME)
|
||||
set (3RDPARTY_TBB_DIR "${3RDPARTY_DIR}/${TBB_DIR_NAME}" CACHE PATH "The directory containing tbb" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
#set (3RDPARTY_TBB_DIR "" CACHE PATH "The directory containing TBB" FORCE)
|
||||
endif()
|
||||
|
||||
# Here we have full path name to installation directory of TBB.
|
||||
# Employ it.
|
||||
if (EXISTS "${3RDPARTY_TBB_DIR}")
|
||||
find_package (
|
||||
TBB 2021.5
|
||||
PATHS "${3RDPARTY_TBB_DIR}" NO_DEFAULT_PATH
|
||||
REQUIRED
|
||||
CONFIG)
|
||||
|
||||
# Archive include directory
|
||||
get_target_property (TBB_INCLUDE_DIR TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
|
||||
if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
|
||||
if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
|
||||
set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the TBB")
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
|
||||
# check 3RDPARTY_TBB_INCLUDE_DIR for consictency with specified 3RDPARTY_TBB_DIR
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_TBB_DIR 3RDPARTY_TBB_INCLUDE_DIR PATH "The directory containing headers of the TBB")
|
||||
endif()
|
||||
|
||||
# tbb.h
|
||||
if (NOT 3RDPARTY_TBB_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_TBB_INCLUDE_DIR}")
|
||||
|
||||
set (HEADER_NAMES tbb.h tbb/tbb.h)
|
||||
|
||||
# set 3RDPARTY_TBB_INCLUDE_DIR as notfound, otherwise find_library can't assign a new value to 3RDPARTY_TBB_INCLUDE_DIR
|
||||
set (3RDPARTY_TBB_INCLUDE_DIR "3RDPARTY_TBB_INCLUDE_DIR-NOTFOUND" CACHE PATH "the path to tbb.h" FORCE)
|
||||
|
||||
if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
|
||||
find_path (3RDPARTY_TBB_INCLUDE_DIR NAMES ${HEADER_NAMES}
|
||||
PATHS ${3RDPARTY_TBB_DIR}
|
||||
PATH_SUFFIXES include
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
else()
|
||||
find_path (3RDPARTY_TBB_INCLUDE_DIR NAMES ${HEADER_NAMES}
|
||||
PATH_SUFFIXES include
|
||||
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||
endif()
|
||||
if (EXISTS "${TBB_INCLUDE_DIR}")
|
||||
set (3RDPARTY_TBB_INCLUDE_DIR "${TBB_INCLUDE_DIR}" CACHE PATH "The directory containing headers of the TBB" FORCE)
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_TBB_INCLUDE_DIR AND EXISTS "${3RDPARTY_TBB_INCLUDE_DIR}")
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_TBB_INCLUDE_DIR}")
|
||||
else()
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
|
||||
|
||||
set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "the path to tbb.h" FORCE)
|
||||
endif()
|
||||
|
||||
# common steps for tbb and tbbmalloc
|
||||
macro (TBB_PRODUCT_SEARCH PRODUCT_LIBRARY_NAME)
|
||||
|
||||
string (TOUPPER ${PRODUCT_LIBRARY_NAME} upper_PRODUCT_LIBRARY_NAME)
|
||||
|
||||
# define required tbb/tbbmalloc variables
|
||||
if (NOT DEFINED 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY OR NOT 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR OR NOT EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}")
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY "" CACHE FILEPATH "${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
|
||||
endif()
|
||||
|
||||
# Get installed configuration of tbb
|
||||
get_target_property (TARGET_TBB_IMPORT_CONFS TBB::tbb IMPORTED_CONFIGURATIONS)
|
||||
list (GET TARGET_TBB_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF)
|
||||
|
||||
separate_arguments (CSF_TBB)
|
||||
foreach (LIB IN LISTS CSF_TBB)
|
||||
string(TOLOWER "${LIB}" LIB_LOWER)
|
||||
string(TOUPPER "${LIB}" LIB_UPPER)
|
||||
|
||||
# Archive *.lib files and directory containing it.
|
||||
get_target_property (TBB_LIB_FILE "TBB::${LIB_LOWER}" IMPORTED_IMPLIB_${CHOSEN_IMPORT_CONF})
|
||||
# Reserve cache variable for *.lib.
|
||||
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
|
||||
set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} library (*.lib)")
|
||||
if (NOT DEFINED 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR)
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library")
|
||||
endif()
|
||||
# Reserve cache variable for directory containing *.lib file.
|
||||
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY_DIR)
|
||||
set (3RDPARTY_${LIB_UPPER}_LIBRARY_DIR "" CACHE PATH "The directory containing ${LIB_UPPER} library (*.lib)")
|
||||
|
||||
if (WIN32)
|
||||
if (NOT DEFINED 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL OR NOT 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR OR NOT EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR}")
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL "" CACHE FILEPATH "${upper_PRODUCT_LIBRARY_NAME} shared library" FORCE)
|
||||
endif()
|
||||
if (EXISTS "${TBB_LIB_FILE}")
|
||||
set (3RDPARTY_${LIB_UPPER}_LIBRARY
|
||||
"${TBB_LIB_FILE}"
|
||||
CACHE FILEPATH
|
||||
"${LIB_UPPER} library (*.lib)"
|
||||
FORCE)
|
||||
get_filename_component (TBB_LIB_FILE_DIRECTORY "${TBB_LIB_FILE}" DIRECTORY)
|
||||
set (3RDPARTY_${LIB_UPPER}_LIBRARY_DIR
|
||||
"${TBB_LIB_FILE_DIRECTORY}"
|
||||
CACHE PATH
|
||||
"The directory containing ${LIB_UPPER} library (*.lib)"
|
||||
FORCE)
|
||||
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_${LIB_UPPER}_LIBRARY_DIR}")
|
||||
endif()
|
||||
|
||||
if (WIN32 AND NOT DEFINED 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR)
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} shared library")
|
||||
endif()
|
||||
|
||||
# check 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_ paths for consistency with specified 3RDPARTY_TBB_DIR
|
||||
if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_TBB_DIR 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY FILEPATH "the path to ${upper_PRODUCT_LIBRARY_NAME} library")
|
||||
|
||||
if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY AND EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}")
|
||||
get_filename_component (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}" PATH)
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${LIB_UPPER}_LIBRARY_DIR)
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_TBB_DIR 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library")
|
||||
endif()
|
||||
|
||||
# Archive *.dll files and directory containing it.
|
||||
get_target_property (TBB_DLL_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF})
|
||||
# Reserve cache variable for *.dll.
|
||||
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_DLL)
|
||||
set (3RDPARTY_${LIB_UPPER}_DLL "" CACHE FILEPATH "${LIB_UPPER} library (*.dll)")
|
||||
endif()
|
||||
# Reserve cache variable for directory containing *.dll file.
|
||||
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_DLL_DIR)
|
||||
set (3RDPARTY_${LIB_UPPER}_DLL_DIR "" CACHE PATH "The directory containing ${LIB_UPPER} library (*.dll)")
|
||||
endif()
|
||||
if (EXISTS "${TBB_DLL_FILE}")
|
||||
set (3RDPARTY_${LIB_UPPER}_DLL
|
||||
"${TBB_DLL_FILE}"
|
||||
CACHE FILEPATH
|
||||
"${LIB_UPPER} library (*.dll)"
|
||||
FORCE)
|
||||
get_filename_component (TBB_DLL_FILE_DIRECTORY "${TBB_DLL_FILE}" DIRECTORY)
|
||||
set (3RDPARTY_${LIB_UPPER}_DLL_DIR
|
||||
"${TBB_DLL_FILE_DIRECTORY}"
|
||||
CACHE PATH
|
||||
"The directory containing ${LIB_UPPER} library (*.dll)"
|
||||
FORCE)
|
||||
list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_${LIB_UPPER}_DLL_DIR}")
|
||||
if (WIN32)
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_TBB_DIR 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL FILEPATH "the path to ${upper_PRODUCT_LIBRARY_NAME} shared library")
|
||||
|
||||
if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL AND EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}")
|
||||
get_filename_component (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}" PATH)
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR}" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} shared library" FORCE)
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_${LIB_UPPER}_DLL_DIR)
|
||||
|
||||
CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_TBB_DIR 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} shared library")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# install *.dll (tbb & tbbmalloc)
|
||||
OCCT_MAKE_COMPILER_SHORT_NAME()
|
||||
OCCT_MAKE_COMPILER_BITNESS()
|
||||
|
||||
if (${COMPILER_BITNESS} EQUAL 32)
|
||||
set (${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME ia32)
|
||||
else()
|
||||
set (${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME intel64)
|
||||
endif()
|
||||
|
||||
# tbb/tbbmalloc library
|
||||
if (NOT 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY OR NOT EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}")
|
||||
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .so .dylib .a)
|
||||
set (PRODUCT_PATH_SUFFIXES lib ${PRODUCT_LIBRARY_NAME})
|
||||
|
||||
# set 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY "3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY-NOTFOUND" CACHE FILEPATH "The path to ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
|
||||
|
||||
if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
|
||||
if (NOT EXISTS "${3RDPARTY_TBB_DIR}/lib/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${COMPILER}")
|
||||
if (EXISTS "${3RDPARTY_TBB_DIR}/lib/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}")
|
||||
file (GLOB ${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST "${3RDPARTY_TBB_DIR}/lib/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/*")
|
||||
if (${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST)
|
||||
list (GET ${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST -1 THE_MOST_FRESH_COMPILER_VERSION)
|
||||
if (THE_MOST_FRESH_COMPILER_VERSION)
|
||||
get_filename_component (THE_MOST_FRESH_COMPILER_VERSION_NAME "${THE_MOST_FRESH_COMPILER_VERSION}" NAME)
|
||||
set (PRODUCT_PATH_SUFFIXES lib ${PRODUCT_LIBRARY_NAME} lib/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${THE_MOST_FRESH_COMPILER_VERSION_NAME})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
set (PRODUCT_PATH_SUFFIXES lib ${PRODUCT_LIBRARY_NAME} lib/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${COMPILER})
|
||||
endif()
|
||||
|
||||
find_library (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY ${PRODUCT_LIBRARY_NAME}
|
||||
PATHS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}" "${3RDPARTY_TBB_DIR}"
|
||||
PATH_SUFFIXES ${PRODUCT_PATH_SUFFIXES}
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
else()
|
||||
find_library (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY ${PRODUCT_LIBRARY_NAME}
|
||||
PATH_SUFFIXES ${PRODUCT_PATH_SUFFIXES}
|
||||
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY AND EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}")
|
||||
get_filename_component (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}" PATH)
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
|
||||
else()
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR AND EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}")
|
||||
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR)
|
||||
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY "" CACHE FILEPATH "The path to ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
|
||||
endif()
|
||||
|
||||
# tbb/tbbmalloc shared library
|
||||
if (WIN32)
|
||||
if (NOT 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL OR NOT EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}")
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .dll)
|
||||
set (PRODUCT_PATH_SUFFIXES bin)
|
||||
|
||||
# set 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL "3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL-NOTFOUND" CACHE FILEPATH "${upper_PRODUCT_LIBRARY_NAME} shared library" FORCE)
|
||||
|
||||
if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
|
||||
if (NOT EXISTS "${3RDPARTY_TBB_DIR}/bin/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${COMPILER}")
|
||||
if (EXISTS "${3RDPARTY_TBB_DIR}/bin/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}")
|
||||
file (GLOB ${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST "${3RDPARTY_TBB_DIR}/bin/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/*")
|
||||
if (${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST)
|
||||
list (GET ${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST -1 THE_MOST_FRESH_COMPILER_VERSION)
|
||||
if (THE_MOST_FRESH_COMPILER_VERSION)
|
||||
get_filename_component (THE_MOST_FRESH_COMPILER_VERSION_NAME "${THE_MOST_FRESH_COMPILER_VERSION}" NAME)
|
||||
set (PRODUCT_PATH_SUFFIXES bin bin/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${THE_MOST_FRESH_COMPILER_VERSION_NAME})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
set (PRODUCT_PATH_SUFFIXES bin bin/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${COMPILER})
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
|
||||
find_library (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL ${PRODUCT_LIBRARY_NAME}
|
||||
PATHS "${3RDPARTY_TBB_DIR}"
|
||||
PATH_SUFFIXES ${PRODUCT_PATH_SUFFIXES}
|
||||
NO_DEFAULT_PATH)
|
||||
else()
|
||||
find_library (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL ${PRODUCT_LIBRARY_NAME} PATH_SUFFIXES ${PRODUCT_PATH_SUFFIXES})
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL AND EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}")
|
||||
get_filename_component (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}" PATH)
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR}" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
|
||||
else()
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} shared library" FORCE)
|
||||
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL "" CACHE FILEPATH "${upper_PRODUCT_LIBRARY_NAME} shared library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR OR EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR}")
|
||||
list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# install tbb/tbbmalloc
|
||||
if (INSTALL_TBB)
|
||||
OCCT_MAKE_OS_WITH_BITNESS()
|
||||
OCCT_MAKE_COMPILER_SHORT_NAME()
|
||||
|
||||
if (WIN32)
|
||||
if (SINGLE_GENERATOR)
|
||||
install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} DESTINATION "${INSTALL_DIR_BIN}")
|
||||
install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL} DESTINATION "${INSTALL_DIR_BIN}")
|
||||
else()
|
||||
install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} CONFIGURATIONS Release DESTINATION "${INSTALL_DIR_BIN}")
|
||||
install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} CONFIGURATIONS RelWithDebInfo DESTINATION "${INSTALL_DIR_BIN}i")
|
||||
install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} CONFIGURATIONS Debug DESTINATION "${INSTALL_DIR_BIN}d")
|
||||
install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR_BIN}")
|
||||
install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR_BIN}i")
|
||||
install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR_BIN}d")
|
||||
endif()
|
||||
else()
|
||||
get_filename_component (PRODUCT_LIBRARY_NAME ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY} NAME)
|
||||
|
||||
if (SINGLE_GENERATOR)
|
||||
install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}.2
|
||||
DESTINATION "${INSTALL_DIR_LIB}"
|
||||
RENAME ${PRODUCT_LIBRARY_NAME}.2)
|
||||
else()
|
||||
install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}.2
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR_LIB}"
|
||||
RENAME ${PRODUCT_LIBRARY_NAME}.2)
|
||||
install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}.2
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR_LIB}i"
|
||||
RENAME ${PRODUCT_LIBRARY_NAME}.2)
|
||||
install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}.2
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR_LIB}d"
|
||||
RENAME ${PRODUCT_LIBRARY_NAME}.2)
|
||||
endif()
|
||||
endif()
|
||||
mark_as_advanced (3RDPARTY_${LIB_UPPER}_LIBRARY 3RDPARTY_${LIB_UPPER}_DLL)
|
||||
endif()
|
||||
mark_as_advanced (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL)
|
||||
endmacro()
|
||||
|
||||
#if (BUILD_SHARED_LIBS)
|
||||
separate_arguments (CSF_TBB)
|
||||
foreach (LIB IN LISTS CSF_TBB)
|
||||
TBB_PRODUCT_SEARCH (${LIB})
|
||||
endforeach()
|
||||
|
||||
if (INSTALL_TBB)
|
||||
set (USED_3RDPARTY_TBB_DIR "")
|
||||
else()
|
||||
# the *.dll/*.so* directory for using by the executable
|
||||
# the library directory for using by the executable
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_TBB_DIR ${3RDPARTY_TBB_DLL_DIR})
|
||||
endif()
|
||||
else()
|
||||
message (FATAL_ERROR "Installation directory with TBB is not exist.")
|
||||
endif()
|
||||
else ()
|
||||
# NOT WIN32 branch
|
||||
if ((DEFINED 3RDPARTY_DIR) AND (NOT "${3RDPARTY_DIR}" STREQUAL "") AND (EXISTS "${3RDPARTY_DIR}"))
|
||||
# Here, we have correct 3RDPARTY_DIR.
|
||||
# Trying to specify TBB folder in connection with 3RDPARTY_DIR
|
||||
if (("${3RDPARTY_TBB_DIR}" STREQUAL "") OR (NOT EXISTS "${3RDPARTY_TBB_DIR}"))
|
||||
FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" TBB TBB_DIR_NAME)
|
||||
if (TBB_DIR_NAME)
|
||||
set (3RDPARTY_TBB_DIR "${3RDPARTY_DIR}/${TBB_DIR_NAME}" CACHE PATH "The directory containing tbb" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
if ((NOT "${3RDPARTY_TBB_DIR}" STREQUAL "") AND (EXISTS "${3RDPARTY_TBB_DIR}"))
|
||||
# Find TBB 2021.5 in existing directory.
|
||||
find_package (
|
||||
TBB 2021.5
|
||||
PATHS "${3RDPARTY_TBB_DIR}" NO_DEFAULT_PATH
|
||||
REQUIRED
|
||||
CONFIG)
|
||||
else()
|
||||
# Find TBB 2021.5 in system directory.
|
||||
find_package (
|
||||
TBB 2021.5
|
||||
REQUIRED
|
||||
CONFIG)
|
||||
endif()
|
||||
else()
|
||||
# Find TBB 2021.5 in system directory.
|
||||
find_package (
|
||||
TBB 2021.5
|
||||
REQUIRED
|
||||
CONFIG)
|
||||
endif()
|
||||
# TBB has been configured (in other case FATAL_ERROR occurs).
|
||||
|
||||
# Archive include directory.
|
||||
get_target_property (TBB_INCLUDE_DIR TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
|
||||
if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
|
||||
set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the TBB")
|
||||
endif()
|
||||
if (EXISTS "${TBB_INCLUDE_DIR}")
|
||||
set (3RDPARTY_TBB_INCLUDE_DIR "${TBB_INCLUDE_DIR}" CACHE PATH "The directory containing headers of the TBB" FORCE)
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_TBB_INCLUDE_DIR}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
|
||||
endif()
|
||||
|
||||
# Get installed configuration of tbb
|
||||
get_target_property (TARGET_TBB_IMPORT_CONFS TBB::tbb IMPORTED_CONFIGURATIONS)
|
||||
list (GET TARGET_TBB_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF)
|
||||
|
||||
separate_arguments (CSF_TBB)
|
||||
foreach (LIB IN LISTS CSF_TBB)
|
||||
string(TOLOWER "${LIB}" LIB_LOWER)
|
||||
string(TOUPPER "${LIB}" LIB_UPPER)
|
||||
|
||||
# Archive *.so files and directory containing it.
|
||||
get_target_property (TBB_SO_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF})
|
||||
# Reserve cache variable for *.so.
|
||||
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
|
||||
set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} library (*.so)")
|
||||
endif()
|
||||
# Reserve cache variable for directory containing *.so file.
|
||||
if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY_DIR)
|
||||
set (3RDPARTY_${LIB_UPPER}_LIBRARY_DIR "" CACHE PATH "The directory containing ${LIB_UPPER} library (*.so)")
|
||||
endif()
|
||||
if (EXISTS "${TBB_SO_FILE}")
|
||||
set (3RDPARTY_${LIB_UPPER}_LIBRARY
|
||||
"${TBB_SO_FILE}"
|
||||
CACHE FILEPATH
|
||||
"${LIB_UPPER} library (*.so)"
|
||||
FORCE)
|
||||
get_filename_component (TBB_SO_FILE_DIRECTORY "${TBB_SO_FILE}" DIRECTORY)
|
||||
set (3RDPARTY_${LIB_UPPER}_LIBRARY_DIR
|
||||
"${TBB_SO_FILE_DIRECTORY}"
|
||||
CACHE PATH
|
||||
"The directory containing ${LIB_UPPER} library (*.so)"
|
||||
FORCE)
|
||||
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_${LIB_UPPER}_LIBRARY_DIR}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${LIB_UPPER}_LIBRARY_DIR)
|
||||
endif()
|
||||
|
||||
# install *.so* (tbb & tbbmalloc)
|
||||
if (INSTALL_TBB)
|
||||
OCCT_MAKE_OS_WITH_BITNESS()
|
||||
OCCT_MAKE_COMPILER_SHORT_NAME()
|
||||
|
||||
if (SINGLE_GENERATOR)
|
||||
install (FILES ${3RDPARTY_${LIB_UPPER}_LIBRARY} DESTINATION "${INSTALL_DIR_LIB}")
|
||||
else()
|
||||
install (FILES ${3RDPARTY_${LIB_UPPER}_LIBRARY} CONFIGURATIONS Release DESTINATION "${INSTALL_DIR_LIB}")
|
||||
install (FILES ${3RDPARTY_${LIB_UPPER}_LIBRARY} CONFIGURATIONS RelWithDebInfo DESTINATION "${INSTALL_DIR_LIB}i")
|
||||
install (FILES ${3RDPARTY_${LIB_UPPER}_LIBRARY} CONFIGURATIONS Debug DESTINATION "${INSTALL_DIR_LIB}d")
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
if (INSTALL_TBB)
|
||||
set (USED_3RDPARTY_TBB_DIR "")
|
||||
else()
|
||||
# the *.so* directory for using by the executable
|
||||
set (USED_3RDPARTY_TBB_DIR ${3RDPARTY_TBB_LIBRARY_DIR})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
#endif()
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# tcl
|
||||
|
||||
if (NOT DEFINED INSTALL_TCL)
|
||||
if (NOT DEFINED INSTALL_TCL AND BUILD_SHARED_LIBS)
|
||||
set (INSTALL_TCL OFF CACHE BOOL "${INSTALL_TCL_DESCR}")
|
||||
endif()
|
||||
|
||||
@@ -14,30 +14,30 @@ if (NOT DEFINED 3RDPARTY_TCL_INCLUDE_DIR)
|
||||
set (3RDPARTY_TCL_INCLUDE_DIR "" CACHE FILEPATH "The directory containing headers of tcl")
|
||||
endif()
|
||||
|
||||
|
||||
# tcl library file (with absolute path)
|
||||
if (NOT DEFINED 3RDPARTY_TCL_LIBRARY OR NOT 3RDPARTY_TCL_LIBRARY_DIR)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# tcl library file (with absolute path)
|
||||
if (NOT DEFINED 3RDPARTY_TCL_LIBRARY OR NOT 3RDPARTY_TCL_LIBRARY_DIR)
|
||||
set (3RDPARTY_TCL_LIBRARY "" CACHE FILEPATH "tcl library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# tcl library directory
|
||||
if (NOT DEFINED 3RDPARTY_TCL_LIBRARY_DIR)
|
||||
# tcl library directory
|
||||
if (NOT DEFINED 3RDPARTY_TCL_LIBRARY_DIR)
|
||||
set (3RDPARTY_TCL_LIBRARY_DIR "" CACHE FILEPATH "The directory containing tcl library")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# tcl shared library (with absolute path)
|
||||
if (WIN32)
|
||||
# tcl shared library (with absolute path)
|
||||
if (WIN32)
|
||||
if (NOT DEFINED 3RDPARTY_TCL_DLL OR NOT 3RDPARTY_TCL_DLL_DIR)
|
||||
set (3RDPARTY_TCL_DLL "" CACHE FILEPATH "tcl shared library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# tcl shared library directory
|
||||
if (WIN32 AND NOT DEFINED 3RDPARTY_TCL_DLL_DIR)
|
||||
# tcl shared library directory
|
||||
if (WIN32 AND NOT DEFINED 3RDPARTY_TCL_DLL_DIR)
|
||||
set (3RDPARTY_TCL_DLL_DIR "" CACHE FILEPATH "The directory containing tcl shared library")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# search for tcl in user defined directory
|
||||
if (NOT 3RDPARTY_TCL_DIR AND 3RDPARTY_DIR)
|
||||
FIND_PRODUCT_DIR("${3RDPARTY_DIR}" tcl TCL_DIR_NAME)
|
||||
@@ -64,8 +64,9 @@ if (NOT 3RDPARTY_TCL_INCLUDE_DIR)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# tcl dir and library
|
||||
if (NOT 3RDPARTY_TCL_LIBRARY)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# tcl dir and library
|
||||
if (NOT 3RDPARTY_TCL_LIBRARY)
|
||||
if (TCL_LIBRARY AND EXISTS "${TCL_LIBRARY}")
|
||||
set (3RDPARTY_TCL_LIBRARY "${TCL_LIBRARY}" CACHE FILEPATH "TCL library" FORCE)
|
||||
|
||||
@@ -74,9 +75,10 @@ if (NOT 3RDPARTY_TCL_LIBRARY)
|
||||
set (3RDPARTY_TCL_LIBRARY_DIR "${3RDPARTY_TCL_LIBRARY_DIR}" CACHE FILEPATH "The directory containing TCL library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
|
||||
if (WIN32)
|
||||
if (NOT 3RDPARTY_TCL_DLL)
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .dll .a)
|
||||
|
||||
@@ -95,12 +97,14 @@ if (WIN32)
|
||||
PATHS "${DLL_FOLDER_FOR_SEARCH}"
|
||||
NO_DEFAULT_PATH)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
COMPLIANCE_PRODUCT_CONSISTENCY(TCL)
|
||||
|
||||
# tcl dir and library
|
||||
if (NOT 3RDPARTY_TCL_LIBRARY)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# tcl dir and library
|
||||
if (NOT 3RDPARTY_TCL_LIBRARY)
|
||||
set (3RDPARTY_TCL_LIBRARY "3RDPARTY_TCL_LIBRARY-NOTFOUND" CACHE FILEPATH "TCL library" FORCE)
|
||||
find_library (3RDPARTY_TCL_LIBRARY NAMES ${CSF_TclLibs}
|
||||
PATHS "${3RDPARTY_TCL_LIBRARY_DIR}"
|
||||
@@ -111,6 +115,7 @@ if (NOT 3RDPARTY_TCL_LIBRARY)
|
||||
PATHS "${3RDPARTY_TCL_DIR}/lib"
|
||||
NO_DEFAULT_PATH)
|
||||
|
||||
|
||||
if (NOT 3RDPARTY_TCL_LIBRARY OR NOT EXISTS "${3RDPARTY_TCL_LIBRARY}")
|
||||
set (3RDPARTY_TCL_LIBRARY "" CACHE FILEPATH "TCL library" FORCE)
|
||||
endif()
|
||||
@@ -119,10 +124,10 @@ if (NOT 3RDPARTY_TCL_LIBRARY)
|
||||
get_filename_component (3RDPARTY_TCL_LIBRARY_DIR "${3RDPARTY_TCL_LIBRARY}" PATH)
|
||||
set (3RDPARTY_TCL_LIBRARY_DIR "${3RDPARTY_TCL_LIBRARY_DIR}" CACHE FILEPATH "The directory containing TCL library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set (3RDPARTY_TCL_LIBRARY_VERSION "")
|
||||
if (3RDPARTY_TCL_LIBRARY AND EXISTS "${3RDPARTY_TCL_LIBRARY}")
|
||||
set (3RDPARTY_TCL_LIBRARY_VERSION "")
|
||||
if (3RDPARTY_TCL_LIBRARY AND EXISTS "${3RDPARTY_TCL_LIBRARY}")
|
||||
get_filename_component (TCL_LIBRARY_NAME "${3RDPARTY_TCL_LIBRARY}" NAME)
|
||||
string(REGEX REPLACE "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY_NAME}")
|
||||
|
||||
@@ -131,16 +136,16 @@ if (3RDPARTY_TCL_LIBRARY AND EXISTS "${3RDPARTY_TCL_LIBRARY}")
|
||||
else() # if the version isn't found - seek other library with 8.6 or 8.5 version in the same dir
|
||||
message (STATUS "Info: TCL version isn't found")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set (3RDPARTY_TCL_LIBRARY_VERSION_WITH_DOT "")
|
||||
if (3RDPARTY_TCL_LIBRARY_VERSION)
|
||||
set (3RDPARTY_TCL_LIBRARY_VERSION_WITH_DOT "")
|
||||
if (3RDPARTY_TCL_LIBRARY_VERSION)
|
||||
string (REGEX REPLACE "^.*([0-9])[^0-9]*[0-9].*$" "\\1" 3RDPARTY_TCL_MAJOR_VERSION "${3RDPARTY_TCL_LIBRARY_VERSION}")
|
||||
string (REGEX REPLACE "^.*[0-9][^0-9]*([0-9]).*$" "\\1" 3RDPARTY_TCL_MINOR_VERSION "${3RDPARTY_TCL_LIBRARY_VERSION}")
|
||||
set (3RDPARTY_TCL_LIBRARY_VERSION_WITH_DOT "${3RDPARTY_TCL_MAJOR_VERSION}.${3RDPARTY_TCL_MINOR_VERSION}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
if (WIN32)
|
||||
if (NOT 3RDPARTY_TCL_DLL)
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .dll .a)
|
||||
|
||||
@@ -167,31 +172,31 @@ if (WIN32)
|
||||
get_filename_component (3RDPARTY_TCL_DLL_DIR "${3RDPARTY_TCL_DLL}" PATH)
|
||||
set (3RDPARTY_TCL_DLL_DIR "${3RDPARTY_TCL_DLL_DIR}" CACHE FILEPATH "The directory containing TCL shared library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# include found paths to common variables
|
||||
if (3RDPARTY_TCL_INCLUDE_DIR AND EXISTS "${3RDPARTY_TCL_INCLUDE_DIR}")
|
||||
# include found paths to common variables
|
||||
if (3RDPARTY_TCL_INCLUDE_DIR AND EXISTS "${3RDPARTY_TCL_INCLUDE_DIR}")
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_TCL_INCLUDE_DIR}")
|
||||
else()
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TCL_INCLUDE_DIR)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_TCL_LIBRARY AND EXISTS "${3RDPARTY_TCL_LIBRARY}")
|
||||
if (3RDPARTY_TCL_LIBRARY AND EXISTS "${3RDPARTY_TCL_LIBRARY}")
|
||||
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_TCL_LIBRARY_DIR}")
|
||||
else()
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_TCL_LIBRARY_DIR)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
if (WIN32)
|
||||
if (3RDPARTY_TCL_DLL OR EXISTS "${3RDPARTY_TCL_DLL}")
|
||||
list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_TCL_DLL_DIR}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_TCL_DLL_DIR)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# install tcl
|
||||
if (INSTALL_TCL)
|
||||
# install tcl
|
||||
if (INSTALL_TCL)
|
||||
# include occt macros. compiler_bitness, os_wiht_bit, compiler
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
|
||||
|
||||
@@ -240,21 +245,22 @@ if (INSTALL_TCL)
|
||||
install (DIRECTORY "${3RDPARTY_TCL_LIBRARY_DIR}/tcl8" DESTINATION "${INSTALL_DIR_LIB}")
|
||||
install (DIRECTORY "${3RDPARTY_TCL_LIBRARY_DIR}/tcl${TCL_TCLSH_VERSION}" DESTINATION "${INSTALL_DIR_LIB}")
|
||||
else()
|
||||
message (STATUS "\nWarning: tclX.X subdir won't be copied during the installation process.")
|
||||
message (STATUS "\nWarning: tclX.X subdir won't be copyied during the installation process.")
|
||||
message (STATUS "Try seeking tcl within another folder by changing 3RDPARTY_TCL_DIR variable.")
|
||||
endif()
|
||||
|
||||
set (USED_3RDPARTY_TCL_DIR "")
|
||||
else()
|
||||
else()
|
||||
# the library directory for using by the executable
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_TCL_DIR ${3RDPARTY_TCL_DLL_DIR})
|
||||
else()
|
||||
set (USED_3RDPARTY_TCL_DIR ${3RDPARTY_TCL_LIBRARY_DIR})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
mark_as_advanced (3RDPARTY_TCL_LIBRARY 3RDPARTY_TCL_DLL)
|
||||
mark_as_advanced (3RDPARTY_TCL_LIBRARY 3RDPARTY_TCL_DLL)
|
||||
endif()
|
||||
|
||||
if (TK_FOUND AND 3RDPARTY_TCL_DIR)
|
||||
|
||||
@@ -279,3 +285,10 @@ OCCT_CHECK_AND_UNSET (TK_LIBRARY)
|
||||
OCCT_CHECK_AND_UNSET (TK_INCLUDE_PATH)
|
||||
OCCT_CHECK_AND_UNSET (TK_WISH)
|
||||
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_LIBRARY)
|
||||
OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_LIBRARY_DIR)
|
||||
OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_DLL)
|
||||
OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_DLL_DIR)
|
||||
OCCT_CHECK_AND_UNSET (INSTALL_TCL)
|
||||
endif()
|
||||
|
@@ -250,7 +250,7 @@ if (BUILD_SHARED_LIBS)
|
||||
# tk is required to install in lib folder (without)
|
||||
install (DIRECTORY "${3RDPARTY_TK_LIBRARY_DIR}/tk${TCL_TCLSH_VERSION}" DESTINATION "${INSTALL_DIR_LIB}")
|
||||
else()
|
||||
message (STATUS "\nWarning: tkX.X subdir won't be copied during the installation process.")
|
||||
message (STATUS "\nWarning: tkX.X subdir won't be copyied during the installation process.")
|
||||
message (STATUS "Try seeking tk within another folder by changing 3RDPARTY_TK_DIR variable.")
|
||||
endif()
|
||||
|
||||
|
@@ -28,22 +28,11 @@ Applies only for Debug configuration.")
|
||||
set (BUILD_SHARED_LIBRARY_NAME_POSTFIX_DESCR
|
||||
"Append the postfix to names of output libraries")
|
||||
|
||||
set (BUILD_SOVERSION_NUMBERS_DESCR
|
||||
"Version numbers to put into SONAME: 0 - for empty, 1 - for major, 2 - for major.minor, 3 - for major.minor.maintenance")
|
||||
|
||||
set (BUILD_RELEASE_DISABLE_EXCEPTIONS_DESCR
|
||||
"Disables exceptions like Standard_OutOfRange in Release builds.
|
||||
Defines No_Exception macros for Release builds when enabled (default).
|
||||
These exceptions are always enabled in Debug builds, but disable in Release for better performance")
|
||||
|
||||
set (BUILD_ENABLE_FPE_SIGNAL_HANDLER_DESCR
|
||||
"Enable/Disable the floating point exceptions (FPE) during DRAW execution only.
|
||||
Corresponding environment variable (CSF_FPE) can be changed manually
|
||||
in custom.bat/sh scripts without regeneration by CMake.")
|
||||
|
||||
set (BUILD_FORCE_RelWithDebInfo_DESCR
|
||||
"Generate PDB files within normal Release build.")
|
||||
|
||||
set (BUILD_USE_PCH_DESCR
|
||||
"Use precompiled headers to accelerate the build.
|
||||
Precompiled headers are generated automatically by Cotire tool.")
|
||||
@@ -51,7 +40,7 @@ Precompiled headers are generated automatically by Cotire tool.")
|
||||
# install variables
|
||||
set (INSTALL_DIR_DESCR
|
||||
"The place where built OCCT libraries, headers, test cases (INSTALL_TEST_CASES variable),
|
||||
samples (INSTALL_SAMPLES_DESCR variable) and certain 3rdparties (INSTALL_TBB and
|
||||
samples (INSTALL_SAMPLES_DESCR variable) and certain 3rdparties (INSTALL_GL2PS, INSTALL_TBB and
|
||||
other similar variables) will be placed during the installation process (building INSTALL project)")
|
||||
|
||||
set (INSTALL_DIR_WITH_VERSION_DESCR
|
||||
@@ -95,13 +84,12 @@ INSTALL_MESSAGE (INSTALL_TEST_CASES "non-regression OCCT test scripts")
|
||||
INSTALL_MESSAGE (INSTALL_DOC_Overview "OCCT overview documentation (HTML format)")
|
||||
INSTALL_MESSAGE (INSTALL_FFMPEG "FFmpeg binaries")
|
||||
INSTALL_MESSAGE (INSTALL_FREEIMAGE "FreeImage binaries")
|
||||
INSTALL_MESSAGE (INSTALL_OPENVR "OpenVR binaries")
|
||||
INSTALL_MESSAGE (INSTALL_EIGEN "EIGEN header files")
|
||||
INSTALL_MESSAGE (INSTALL_EGL "EGL binaries")
|
||||
INSTALL_MESSAGE (INSTALL_GLES2 "OpenGL ES 2.0 binaries")
|
||||
INSTALL_MESSAGE (INSTALL_FREETYPE "FreeType binaries")
|
||||
INSTALL_MESSAGE (INSTALL_GL2PS "GL2PS binaries")
|
||||
INSTALL_MESSAGE (INSTALL_TBB "TBB binaries")
|
||||
INSTALL_MESSAGE (INSTALL_RAPIDJSON "RapidJSON header files")
|
||||
INSTALL_MESSAGE (INSTALL_TCL "TCL binaries")
|
||||
INSTALL_MESSAGE (INSTALL_TK "TK binaries")
|
||||
INSTALL_MESSAGE (INSTALL_VTK "VTK binaries ")
|
||||
@@ -116,7 +104,6 @@ endmacro()
|
||||
|
||||
BUILD_MODULE_MESSAGE (BUILD_MODULE_ApplicationFramework "ApplicationFramework")
|
||||
BUILD_MODULE_MESSAGE (BUILD_MODULE_DataExchange "DataExchange")
|
||||
BUILD_MODULE_MESSAGE (BUILD_MODULE_DETools "DETools")
|
||||
BUILD_MODULE_MESSAGE (BUILD_MODULE_Draw "Draw")
|
||||
BUILD_MODULE_MESSAGE (BUILD_MODULE_FoundationClasses "FoundationClasses")
|
||||
BUILD_MODULE_MESSAGE (BUILD_MODULE_ModelingAlgorithms "ModelingAlgorithms")
|
||||
@@ -162,38 +149,25 @@ set (3RDPARTY_DIR_DESCR
|
||||
third-party product have been found - corresponding CMake variables will be specified
|
||||
(VTK: 3RDPARTY_VTK_DIR, 3RDPARTY_VTK_INCLUDE_DIR, 3RDPARTY_VTK_LIBRARY_DIR)")
|
||||
|
||||
set (USE_TK_DESCR
|
||||
"Indicates whether Tk product should be used by Draw Harness for user interface")
|
||||
|
||||
set (USE_FREETYPE_DESCR
|
||||
"Indicates whether FreeType product should be used in OCCT for text rendering using external font files")
|
||||
|
||||
set (USE_FFMPEG_DESCR
|
||||
"Indicates whether FFmpeg framework is used or not. FFmpeg stands for
|
||||
multimedia data handling, open-source software libraries used for video encoding and decoding.")
|
||||
|
||||
set (USE_FREEIMAGE_DESCR
|
||||
"Indicates whether FreeImage product should be used in OCCT visualization
|
||||
"Indicates whether Freeimage product should be used in OCCT visualization
|
||||
module for support of popular graphics image formats (PNG, BMP etc)")
|
||||
|
||||
set (USE_OPENVR_DESCR
|
||||
"Indicates whether OpenVR should be used in OCCT visualization module for VR support")
|
||||
|
||||
set (USE_RAPIDJSON_DESCR
|
||||
"Indicates whether RapidJSON product should be used in OCCT DataExchange
|
||||
module for support of JSON-based formats like glTF")
|
||||
|
||||
set (USE_DRACO_DESCR
|
||||
"Indicates whether Draco mesh decoding library should be used by glTF reader")
|
||||
|
||||
set (USE_EGL_DESCR
|
||||
"Indicates whether EGL should be used in OCCT visualization
|
||||
module instead of conventional OpenGL context creation APIs")
|
||||
|
||||
set (USE_OPENGL_DESCR
|
||||
"Indicates whether OpenGL desktop should be used in OCCT visualization module")
|
||||
set (USE_GLES2_DESCR
|
||||
"Indicates whether OpenGL ES 2.0 should be used in OCCT visualization module")
|
||||
"Indicates whether OpenGL ES 2.0 should be used in OCCT visualization
|
||||
module instead of desktop OpenGL")
|
||||
|
||||
set (USE_GL2PS_DESCR
|
||||
"Indicates whether GL2PS product should be used in OCCT visualization
|
||||
module for support of vector image formats (PS, EPS etc)")
|
||||
|
||||
set (USE_TBB_DESCR
|
||||
"Indicates whether TBB is used or not. TBB stands for Threading Building Blocks,
|
||||
@@ -206,7 +180,7 @@ ToolKit, the technology of Kitware Inc intended for general-purpose scientific
|
||||
visualization. OCCT comes with a bridge between CAD data representation and
|
||||
VTK by means of its dedicated VIS component (VTK Integration Services).")
|
||||
|
||||
set (USE_XLIB_DESCR "Indicates whether X11 is used or not")
|
||||
set (USE_GLX_DESCR "Indicates whether X11 OpenGl on OSX is used or not")
|
||||
|
||||
set (USE_D3D_DESCR "Indicates whether optional Direct3D wrapper in OCCT visualization module should be build or not")
|
||||
|
||||
|
@@ -66,15 +66,10 @@ if (3RDPARTY_VTK_DIR AND EXISTS "${3RDPARTY_VTK_DIR}")
|
||||
set (ENV{VTK_DIR} ${CACHED_VTK_DIR})
|
||||
endif()
|
||||
|
||||
unset (IS_VTK_9XX)
|
||||
if (VTK_FOUND)
|
||||
message ("VTK version (${VTK_VERSION})")
|
||||
if(VTK_MAJOR_VERSION EQUAL 8 AND VTK_MINOR_VERSION GREATER 9 OR VTK_MAJOR_VERSION GREATER 8)
|
||||
set (IS_VTK_9XX 1)
|
||||
else()
|
||||
|
||||
# add compiler flags, preprocessor definitions, include and link dirs
|
||||
include (${VTK_USE_FILE})
|
||||
endif()
|
||||
|
||||
if (VTK_LIBRARIES)
|
||||
|
||||
@@ -86,15 +81,8 @@ if (VTK_FOUND)
|
||||
# endif()
|
||||
|
||||
foreach (VTK_LIBRARY ${VTK_LIBRARIES})
|
||||
if (IS_VTK_9XX)
|
||||
string (REGEX MATCH "^VTK::" IS_VTK_LIBRARY ${VTK_LIBRARY})
|
||||
else()
|
||||
string (REGEX MATCH "^vtk" IS_VTK_LIBRARY ${VTK_LIBRARY})
|
||||
endif()
|
||||
if (NOT IS_VTK_LIBRARY OR NOT TARGET ${VTK_LIBRARY})
|
||||
continue()
|
||||
endif()
|
||||
|
||||
if (IS_VTK_LIBRARY AND TARGET ${VTK_LIBRARY})
|
||||
# get paths from corresponding variables
|
||||
if (${VTK_LIBRARY}_INCLUDE_DIRS AND EXISTS "${${VTK_LIBRARY}_INCLUDE_DIRS}")
|
||||
list (APPEND 3RDPARTY_VTK_INCLUDE_DIRS "${${VTK_LIBRARY}_INCLUDE_DIRS}")
|
||||
@@ -113,6 +101,7 @@ if (VTK_FOUND)
|
||||
|
||||
# get paths from corresponding properties
|
||||
get_target_property (TARGET_VTK_IMPORT_CONFS ${VTK_LIBRARY} IMPORTED_CONFIGURATIONS)
|
||||
|
||||
if (TARGET_VTK_IMPORT_CONFS)
|
||||
list (GET TARGET_VTK_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF)
|
||||
|
||||
@@ -166,6 +155,8 @@ if (VTK_FOUND)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
@@ -196,7 +187,6 @@ if (VTK_FOUND)
|
||||
endif()
|
||||
endif()
|
||||
# endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_VTK_INCLUDE_DIR AND EXISTS "${3RDPARTY_VTK_INCLUDE_DIR}")
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS ${3RDPARTY_VTK_INCLUDE_DIR})
|
||||
|
567
adm/genconf.tcl
567
adm/genconf.tcl
@@ -24,84 +24,30 @@
|
||||
# load tools
|
||||
source [file join [file dirname [info script]] genconfdeps.tcl]
|
||||
|
||||
# proxy variable for implicit file path normalization
|
||||
set PRODUCTS_PATH_INPUT "$::PRODUCTS_PATH"
|
||||
|
||||
package require Tk
|
||||
|
||||
set aRowIter 0
|
||||
set aCheckRowIter 0
|
||||
frame .myFrame -padx 5 -pady 5
|
||||
pack .myFrame -fill both -expand 1
|
||||
frame .myFrame.myPrjFrame
|
||||
frame .myFrame.myVsFrame
|
||||
frame .myFrame.myHxxChecks
|
||||
frame .myFrame.myChecks
|
||||
|
||||
# project file format
|
||||
set SYS_PRJFMT_LIST {}
|
||||
set SYS_PRJNAME_LIST {}
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
lappend ::SYS_PRJFMT_LIST "vcxproj"
|
||||
lappend ::SYS_PRJNAME_LIST "Visual Studio (.vcxproj)"
|
||||
}
|
||||
if { "$tcl_platform(os)" == "Darwin" } {
|
||||
lappend ::SYS_PRJFMT_LIST "xcd"
|
||||
lappend ::SYS_PRJNAME_LIST "XCode (.xcd)"
|
||||
}
|
||||
lappend ::SYS_PRJFMT_LIST "cbp"
|
||||
lappend ::SYS_PRJNAME_LIST "Code Blocks (.cbp)"
|
||||
lappend ::SYS_PRJFMT_LIST "pro"
|
||||
lappend ::SYS_PRJNAME_LIST "Qt Creator (.pro)"
|
||||
|
||||
set aPrjIndex [lsearch $::SYS_PRJFMT_LIST $::PRJFMT]
|
||||
set ::PRJNAME [lindex $::SYS_PRJNAME_LIST $aPrjIndex]
|
||||
set ::CONFIG "Release"
|
||||
|
||||
set SYS_VS_LIST {}
|
||||
set SYS_VC_LIST {}
|
||||
set SYS_VCVARS_LIST {}
|
||||
|
||||
# detect installed Visual Studio 2017+ instances by running vswhere.exe
|
||||
if { ! [catch {exec vswhere.exe -version "\[15.0,15.99\]" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath} res] && "$res" != "" } {
|
||||
# detect installed Visual Studio 2017 instances by running vswhere.exe
|
||||
if { ! [catch {exec vswhere.exe -version "\[15.0,15.99\]" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath} res] } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2017 (15, toolset v141)"
|
||||
lappend ::SYS_VC_LIST "vc141"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[15.0,15.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] && "$res" != "" } {
|
||||
if { ! [catch {exec vswhere.exe -version "\[15.0,15.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2017 (15, toolset v141) UWP"
|
||||
lappend ::SYS_VC_LIST "vc141-uwp"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[16.0,16.99\]" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2019 (16, toolset v142)"
|
||||
lappend ::SYS_VC_LIST "vc142"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[16.0,16.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2019 (16, toolset v142) UWP"
|
||||
lappend ::SYS_VC_LIST "vc142-uwp"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[16.0,16.99\]" -latest -requires Microsoft.VisualStudio.Component.VC.ClangCL -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2019 (16, toolset ClangCL)"
|
||||
lappend ::SYS_VC_LIST "vclang"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[17.0,17.99\]" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2022 (17, toolset v143)"
|
||||
lappend ::SYS_VC_LIST "vc143"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[17.0,17.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2022 (17, toolset v143) UWP"
|
||||
lappend ::SYS_VC_LIST "vc143-uwp"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[17.0,17.99\]" -latest -requires Microsoft.VisualStudio.Component.VC.ClangCL -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2022 (17, toolset ClangCL)"
|
||||
lappend ::SYS_VC_LIST "vclang"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\vcvarsall.bat"
|
||||
}
|
||||
|
||||
# detect installed Visual Studio instances from global environment
|
||||
@@ -154,15 +100,7 @@ proc wokdep:gui:Close {} {
|
||||
exit
|
||||
}
|
||||
|
||||
proc wokdep:gui:configSuffix {} {
|
||||
if { "$::CONFIG" == "Debug" } {
|
||||
return "D"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
proc wokdep:gui:SwitchConfig {} {
|
||||
set ::PRJFMT [lindex $::SYS_PRJFMT_LIST [.myFrame.myPrjFrame.myPrjCombo current]]
|
||||
set ::VCVER [lindex $::SYS_VC_LIST [.myFrame.myVsFrame.myVsCombo current]]
|
||||
set ::VCVARS [lindex $::SYS_VCVARS_LIST [.myFrame.myVsFrame.myVsCombo current]]
|
||||
|
||||
@@ -171,15 +109,16 @@ proc wokdep:gui:SwitchConfig {} {
|
||||
set ::CSF_OPT_LIB64 {}
|
||||
set ::CSF_OPT_BIN32 {}
|
||||
set ::CSF_OPT_BIN64 {}
|
||||
set ::CSF_OPT_LIB32D {}
|
||||
set ::CSF_OPT_LIB64D {}
|
||||
set ::CSF_OPT_BIN32D {}
|
||||
set ::CSF_OPT_BIN64D {}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:SwitchArch {} {
|
||||
wokdep:gui:Show3264Bitness ::aRowIter
|
||||
if { "$::ARCH" == "32" } {
|
||||
wokdep:gui:Show32Bitness ::aRowIter
|
||||
}
|
||||
if { "$::ARCH" == "64" } {
|
||||
wokdep:gui:Show64Bitness ::aRowIter
|
||||
}
|
||||
|
||||
if { [llength [grid info .myFrame.mySave]] != 0 } {
|
||||
grid forget .myFrame.mySave .myFrame.myClose
|
||||
@@ -190,16 +129,6 @@ proc wokdep:gui:SwitchArch {} {
|
||||
grid .myFrame.myClose -row $::aRowIter -column 6 -columnspan 2
|
||||
}
|
||||
|
||||
# update label text and visibility
|
||||
font create wokdep:gui:EmptyFont -size -1
|
||||
proc wokdep:gui:SetLabelText {theLabel theText} {
|
||||
set aFont TkDefaultFont
|
||||
if { $theText == "" } {
|
||||
set aFont wokdep:gui:EmptyFont
|
||||
}
|
||||
$theLabel configure -text $theText -font $aFont
|
||||
}
|
||||
|
||||
proc wokdep:gui:UpdateList {} {
|
||||
set anIncErrs {}
|
||||
set anLib32Errs {}
|
||||
@@ -207,11 +136,12 @@ proc wokdep:gui:UpdateList {} {
|
||||
set anBin32Errs {}
|
||||
set anBin64Errs {}
|
||||
wokdep:SearchTclTk anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
if { "$::HAVE_FREETYPE" == "true" } {
|
||||
wokdep:SearchFreeType anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
wokdep:SearchX11 anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
if { "$::HAVE_GLES2" == "true" } {
|
||||
if { "$::HAVE_GL2PS" == "true" } {
|
||||
lappend anIncErrs "Error: gl2ps can not be used with OpenGL ES"
|
||||
}
|
||||
wokdep:SearchEGL anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
wokdep:SearchGLES anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
@@ -221,8 +151,8 @@ proc wokdep:gui:UpdateList {} {
|
||||
if { "$::HAVE_FFMPEG" == "true" } {
|
||||
wokdep:SearchFFmpeg anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
if { "$::HAVE_OPENVR" == "true" } {
|
||||
wokdep:SearchOpenVR anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
if { "$::HAVE_GL2PS" == "true" } {
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "gl2ps" "gl2ps.h" "gl2ps" {"gl2ps"}
|
||||
}
|
||||
if { "$::HAVE_TBB" == "true" } {
|
||||
wokdep:SearchTBB anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
@@ -235,11 +165,7 @@ proc wokdep:gui:UpdateList {} {
|
||||
}
|
||||
|
||||
if { "$::HAVE_ZLIB" == "true" } {
|
||||
set aCheckLib "z"
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aCheckLib "zlib"
|
||||
}
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "zlib" "zlib.h" "$aCheckLib" {"zlib"}
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "zlib" "zlib.h" "zlib" {"zlib"}
|
||||
}
|
||||
if { "$::HAVE_LIBLZMA" == "true" } {
|
||||
set aCheckLib "lzma"
|
||||
@@ -248,56 +174,19 @@ proc wokdep:gui:UpdateList {} {
|
||||
}
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "liblzma" "lzma.h" "$aCheckLib" {"lzma" "xz"}
|
||||
}
|
||||
if { "$::HAVE_E57" == "true" } {
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "e57" "e57/E57Foundation.h" "E57RefImpl" {"e57"}
|
||||
set aCheckLib "xerces-c"
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aCheckLib "xerces-c_3"
|
||||
}
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "xerces-c" "xercesc/sax2/XMLReaderFactory.hpp" "$aCheckLib" {"xerces"}
|
||||
}
|
||||
if { "$::HAVE_RAPIDJSON" == "true" } {
|
||||
wokdep:SearchRapidJson anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
if { "$::HAVE_DRACO" == "true" } {
|
||||
set aDummy {}
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs aDummy aDummy "draco" "draco/compression/decode.h" "draco" {"draco"}
|
||||
}
|
||||
|
||||
if {"$::BUILD_Inspector" == "true" } {
|
||||
set ::CHECK_QT "true"
|
||||
if { "$::CHECK_QT4" == "true" } {
|
||||
wokdep:SearchQt4 anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
|
||||
if { "$::CHECK_QT" == "true" } {
|
||||
wokdep:SearchQt anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
|
||||
if { "$::CHECK_JDK" == "true" } {
|
||||
wokdep:SearchJDK anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
|
||||
wokdep:gui:SetLabelText .myFrame.myIncErrLbl [join $anIncErrs "\n"]
|
||||
|
||||
wokdep:gui:SetLabelText .myFrame.myIncErrLbl [join $anIncErrs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myLib32_ErrLbl [join $anLib32Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myLib64_ErrLbl [join $anLib64Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myBin32_ErrLbl [join $anBin32Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myBin64_ErrLbl [join $anBin64Errs "\n"]
|
||||
|
||||
wokdep:gui:SetLabelText .myFrame.myLib32D_ErrLbl [join $anLib32Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myLib64D_ErrLbl [join $anLib64Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myBin32D_ErrLbl [join $anBin32Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myBin64D_ErrLbl [join $anBin64Errs "\n"]
|
||||
|
||||
# merge duplicates
|
||||
set ::CSF_OPT_LIB32 [lsort -unique $::CSF_OPT_LIB32]
|
||||
set ::CSF_OPT_LIB64 [lsort -unique $::CSF_OPT_LIB64]
|
||||
set ::CSF_OPT_BIN32 [lsort -unique $::CSF_OPT_BIN32]
|
||||
set ::CSF_OPT_BIN64 [lsort -unique $::CSF_OPT_BIN64]
|
||||
set ::CSF_OPT_LIB32D [lsort -unique $::CSF_OPT_LIB32D]
|
||||
set ::CSF_OPT_LIB64D [lsort -unique $::CSF_OPT_LIB64D]
|
||||
set ::CSF_OPT_BIN32D [lsort -unique $::CSF_OPT_BIN32D]
|
||||
set ::CSF_OPT_BIN64D [lsort -unique $::CSF_OPT_BIN64D]
|
||||
.myFrame.myIncErrLbl configure -text [join $anIncErrs "\n"]
|
||||
.myFrame.myLib32ErrLbl configure -text [join $anLib32Errs "\n"]
|
||||
.myFrame.myLib64ErrLbl configure -text [join $anLib64Errs "\n"]
|
||||
.myFrame.myBin32ErrLbl configure -text [join $anBin32Errs "\n"]
|
||||
.myFrame.myBin64ErrLbl configure -text [join $anBin64Errs "\n"]
|
||||
}
|
||||
|
||||
proc wokdep:gui:BrowseVcVars {} {
|
||||
@@ -308,9 +197,9 @@ proc wokdep:gui:BrowseVcVars {} {
|
||||
}
|
||||
|
||||
proc wokdep:gui:BrowsePartiesRoot {} {
|
||||
set aResult [tk_chooseDirectory -initialdir $::PRODUCTS_PATH_INPUT -title "Choose a directory"]
|
||||
set aResult [tk_chooseDirectory -initialdir $::PRODUCTS_PATH -title "Choose a directory"]
|
||||
if { "$aResult" != "" } {
|
||||
set ::PRODUCTS_PATH_INPUT $aResult
|
||||
set ::PRODUCTS_PATH $aResult
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
}
|
||||
@@ -323,20 +212,34 @@ proc wokdep:gui:AddIncPath {} {
|
||||
}
|
||||
}
|
||||
|
||||
proc wokdep:gui:AddLibPath {} {
|
||||
set aCfg [wokdep:gui:configSuffix]
|
||||
proc wokdep:gui:AddLib32Path {} {
|
||||
set aResult [tk_chooseDirectory -title "Choose a directory"]
|
||||
if { "$aResult" != "" } {
|
||||
lappend ::CSF_OPT_LIB${::ARCH}${aCfg} "$aResult"
|
||||
lappend ::CSF_OPT_LIB32 "$aResult"
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
}
|
||||
|
||||
proc wokdep:gui:AddBinPath {} {
|
||||
set aCfg [wokdep:gui:configSuffix]
|
||||
proc wokdep:gui:AddLib64Path {} {
|
||||
set aResult [tk_chooseDirectory -title "Choose a directory"]
|
||||
if { "$aResult" != "" } {
|
||||
lappend ::CSF_OPT_BIN${::ARCH}${aCfg} "$aResult"
|
||||
lappend ::CSF_OPT_LIB64 "$aResult"
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
}
|
||||
|
||||
proc wokdep:gui:AddBin32Path {} {
|
||||
set aResult [tk_chooseDirectory -title "Choose a directory"]
|
||||
if { "$aResult" != "" } {
|
||||
lappend ::CSF_OPT_BIN32 "$aResult"
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
}
|
||||
|
||||
proc wokdep:gui:AddBin64Path {} {
|
||||
set aResult [tk_chooseDirectory -title "Choose a directory"]
|
||||
if { "$aResult" != "" } {
|
||||
lappend ::CSF_OPT_BIN64 "$aResult"
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
}
|
||||
@@ -349,20 +252,34 @@ proc wokdep:gui:RemoveIncPath {} {
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:RemoveLibPath {} {
|
||||
set aCfg [wokdep:gui:configSuffix]
|
||||
set aSelIndices [.myFrame.myLib${::ARCH}${aCfg}_List curselection]
|
||||
proc wokdep:gui:RemoveLib32Path {} {
|
||||
set aSelIndices [.myFrame.myLib32List curselection]
|
||||
if { [llength $aSelIndices] != 0 } {
|
||||
.myFrame.myLib${::ARCH}${aCfg}_List delete [lindex $aSelIndices 0]
|
||||
.myFrame.myLib32List delete [lindex $aSelIndices 0]
|
||||
}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:RemoveBinPath {} {
|
||||
set aCfg [wokdep:gui:configSuffix]
|
||||
set aSelIndices [.myFrame.myBin${::ARCH}${aCfg}_List curselection]
|
||||
proc wokdep:gui:RemoveLib64Path {} {
|
||||
set aSelIndices [.myFrame.myLib64List curselection]
|
||||
if { [llength $aSelIndices] != 0 } {
|
||||
.myFrame.myBin${::ARCH}${aCfg}_List delete [lindex $aSelIndices 0]
|
||||
.myFrame.myLib64List delete [lindex $aSelIndices 0]
|
||||
}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:RemoveBin32Path {} {
|
||||
set aSelIndices [.myFrame.myBin32List curselection]
|
||||
if { [llength $aSelIndices] != 0 } {
|
||||
.myFrame.myBin32List delete [lindex $aSelIndices 0]
|
||||
}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:RemoveBin64Path {} {
|
||||
set aSelIndices [.myFrame.myBin64List curselection]
|
||||
if { [llength $aSelIndices] != 0 } {
|
||||
.myFrame.myBin64List delete [lindex $aSelIndices 0]
|
||||
}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
@@ -372,83 +289,116 @@ proc wokdep:gui:ResetIncPath {} {
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:ResetLibPath {} {
|
||||
set ::CSF_OPT_LIB${::ARCH} {}
|
||||
set ::CSF_OPT_LIB${::ARCH}D {}
|
||||
set ::CSF_OPT_BIN${::ARCH} {}
|
||||
set ::CSF_OPT_BIN${::ARCH}D {}
|
||||
proc wokdep:gui:ResetLib32Path {} {
|
||||
set ::CSF_OPT_LIB32 {}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:Show3264Bitness { theRowIter } {
|
||||
proc wokdep:gui:ResetLib64Path {} {
|
||||
set ::CSF_OPT_LIB64 {}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:ResetBin32Path {} {
|
||||
set ::CSF_OPT_BIN32 {}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:ResetBin64Path {} {
|
||||
set ::CSF_OPT_BIN64 {}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:Show32Bitness { theRowIter } {
|
||||
upvar $theRowIter aRowIter
|
||||
|
||||
set aArchOld ""
|
||||
set aCfg [wokdep:gui:configSuffix]
|
||||
if { "$::ARCH" == "32" } {
|
||||
set aArchOld "64"
|
||||
} else {
|
||||
set aArchOld "32"
|
||||
if { [llength [grid info .myFrame.myLib64Lbl]] != 0 } {
|
||||
grid forget .myFrame.myLib64Lbl .myFrame.myLib64List .myFrame.myLib64Scrl
|
||||
grid forget .myFrame.myLib64Add .myFrame.myLib64Remove .myFrame.myLib64Clear .myFrame.myLib64ErrLbl
|
||||
grid forget .myFrame.myBin64Lbl .myFrame.myBin64List .myFrame.myBin64Scrl
|
||||
grid forget .myFrame.myBin64Add .myFrame.myBin64Remove .myFrame.myBin64Clear .myFrame.myBin64ErrLbl
|
||||
}
|
||||
|
||||
set aCfgOld "D"
|
||||
if { "$::CONFIG" == "Debug" } { set aCfgOld "" }
|
||||
set aDelArch ${aArchOld}${aCfg}
|
||||
if { [llength [grid info .myFrame.myLib${aDelArch}_Lbl]] != 0 } {
|
||||
grid forget .myFrame.myLib${aDelArch}_Lbl .myFrame.myLib${aDelArch}_List .myFrame.myLib${aDelArch}_Scrl
|
||||
grid forget .myFrame.myLib${aDelArch}_Add .myFrame.myLib${aDelArch}_Remove .myFrame.myLib${aDelArch}_Clear .myFrame.myLib${aDelArch}_ErrLbl
|
||||
grid forget .myFrame.myBin${aDelArch}_Lbl .myFrame.myBin${aDelArch}_List .myFrame.myBin${aDelArch}_Scrl
|
||||
grid forget .myFrame.myBin${aDelArch}_Add .myFrame.myBin${aDelArch}_Remove .myFrame.myBin${aDelArch}_Clear .myFrame.myBin${aDelArch}_ErrLbl
|
||||
}
|
||||
set aDelCfg ${::ARCH}${aCfgOld}
|
||||
if { [llength [grid info .myFrame.myLib${aDelCfg}_Lbl]] != 0 } {
|
||||
grid forget .myFrame.myLib${aDelCfg}_Lbl .myFrame.myLib${aDelCfg}_List .myFrame.myLib${aDelCfg}_Scrl
|
||||
grid forget .myFrame.myLib${aDelCfg}_Add .myFrame.myLib${aDelCfg}_Remove .myFrame.myLib${aDelCfg}_Clear .myFrame.myLib${aDelCfg}_ErrLbl
|
||||
grid forget .myFrame.myBin${aDelCfg}_Lbl .myFrame.myBin${aDelCfg}_List .myFrame.myBin${aDelCfg}_Scrl
|
||||
grid forget .myFrame.myBin${aDelCfg}_Add .myFrame.myBin${aDelCfg}_Remove .myFrame.myBin${aDelCfg}_Clear .myFrame.myBin${aDelCfg}_ErrLbl
|
||||
}
|
||||
|
||||
set aNewCfg ${::ARCH}${aCfg}
|
||||
# Additional libraries search paths
|
||||
grid .myFrame.myLib${aNewCfg}_Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
# Additional libraries (32-bit) search paths
|
||||
grid .myFrame.myLib32Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib${aNewCfg}_List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myLib${aNewCfg}_Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myLib${aNewCfg}_Add -row $aRowIter -column 6
|
||||
grid .myFrame.myLib32List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myLib32Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myLib32Add -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
#grid .myFrame.myLib${aNewCfg}_Edit -row $aRowIter -column 6
|
||||
#grid .myFrame.myLib32Edit -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib${aNewCfg}_Remove -row $aRowIter -column 6
|
||||
grid .myFrame.myLib32Remove -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib${aNewCfg}_Clear -row $aRowIter -column 6
|
||||
grid .myFrame.myLib32Clear -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib${aNewCfg}_ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
grid .myFrame.myLib32ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
|
||||
# Additional executables search paths
|
||||
grid .myFrame.myBin${aNewCfg}_Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
# Additional executables (32-bit) search paths
|
||||
grid .myFrame.myBin32Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin${aNewCfg}_List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myBin${aNewCfg}_Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myBin${aNewCfg}_Add -row $aRowIter -column 6
|
||||
grid .myFrame.myBin32List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myBin32Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myBin32Add -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
#grid .myFrame.myBin${aNewCfg}_Edit -row $aRowIter -column 6
|
||||
#grid .myFrame.myBin32Edit -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin${aNewCfg}_Remove -row $aRowIter -column 6
|
||||
grid .myFrame.myBin32Remove -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin${aNewCfg}_Clear -row $aRowIter -column 6
|
||||
grid .myFrame.myBin32Clear -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin${aNewCfg}_ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
grid .myFrame.myBin32ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
}
|
||||
|
||||
proc wokdep:gui:Show64Bitness { theRowIter } {
|
||||
upvar $theRowIter aRowIter
|
||||
|
||||
if { [llength [grid info .myFrame.myLib32Lbl]] != 0 } {
|
||||
grid forget .myFrame.myLib32Lbl .myFrame.myLib32List .myFrame.myLib32Scrl
|
||||
grid forget .myFrame.myLib32Add .myFrame.myLib32Remove .myFrame.myLib32Clear .myFrame.myLib32ErrLbl
|
||||
grid forget .myFrame.myBin32Lbl .myFrame.myBin32List .myFrame.myBin32Scrl
|
||||
grid forget .myFrame.myBin32Add .myFrame.myBin32Remove .myFrame.myBin32Clear .myFrame.myBin32ErrLbl
|
||||
}
|
||||
|
||||
# Additional libraries (64-bit) search paths
|
||||
grid .myFrame.myLib64Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib64List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myLib64Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myLib64Add -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
#grid .myFrame.myLib64Edit -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib64Remove -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib64Clear -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib64ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
|
||||
# Additional executables (64-bit) search paths
|
||||
grid .myFrame.myBin64Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin64List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myBin64Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myBin64Add -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
#grid .myFrame.myBin64Edit -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin64Remove -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin64Clear -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin64ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
}
|
||||
|
||||
# Header
|
||||
ttk::label .myFrame.myPrjFrame.myPrjLbl -text "Project format:" -padding {5 5 20 5}
|
||||
ttk::combobox .myFrame.myPrjFrame.myPrjCombo -values $SYS_PRJNAME_LIST -state readonly -textvariable PRJNAME -width 40
|
||||
ttk::label .myFrame.myVsFrame.myVsLbl -text "Visual Studio configuration:" -padding {5 5 20 5}
|
||||
ttk::combobox .myFrame.myVsFrame.myVsCombo -values $SYS_VS_LIST -state readonly -textvariable VSVER -width 40
|
||||
ttk::combobox .myFrame.myVsFrame.myArchCombo -values { {32} {64} } -textvariable ARCH -state readonly -width 6
|
||||
ttk::combobox .myFrame.myVsFrame.myConfigCombo -values { {Release} {Debug} } -textvariable CONFIG -state readonly -width 6
|
||||
entry .myFrame.myVcEntry -textvariable VCVER -width 10
|
||||
entry .myFrame.myVcVarsEntry -textvariable VCVARS -width 70
|
||||
ttk::button .myFrame.myVcBrowseBtn -text "Browse" -command wokdep:gui:BrowseVcVars
|
||||
@@ -461,16 +411,14 @@ ttk::label .myFrame.myHxxChecks.myScutsLbl -text "Strategy for filling he
|
||||
|
||||
#
|
||||
ttk::label .myFrame.mySrchLbl -text "3rd-parties search path:" -padding {5 5 80 5}
|
||||
entry .myFrame.mySrchEntry -textvariable PRODUCTS_PATH_INPUT -width 80
|
||||
entry .myFrame.mySrchEntry -textvariable PRODUCTS_PATH -width 80
|
||||
ttk::button .myFrame.mySrchBrowseBtn -text "Browse" -command wokdep:gui:BrowsePartiesRoot
|
||||
checkbutton .myFrame.myChecks.myFreeTypeCheck -offvalue "false" -onvalue "true" -variable HAVE_FREETYPE -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myFreeTypeLbl -text "Use FreeType"
|
||||
checkbutton .myFrame.myChecks.myFImageCheck -offvalue "false" -onvalue "true" -variable HAVE_FREEIMAGE -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myFImageLbl -text "Use FreeImage"
|
||||
checkbutton .myFrame.myChecks.myGl2psCheck -offvalue "false" -onvalue "true" -variable HAVE_GL2PS -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myGl2psLbl -text "Use GL2PS"
|
||||
checkbutton .myFrame.myChecks.myTbbCheck -offvalue "false" -onvalue "true" -variable HAVE_TBB -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myTbbLbl -text "Use Intel TBB"
|
||||
checkbutton .myFrame.myChecks.myOpenVrCheck -offvalue "false" -onvalue "true" -variable HAVE_OPENVR -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myOpenVrLbl -text "Use OpenVR"
|
||||
if { "$::tcl_platform(os)" != "Darwin" } {
|
||||
checkbutton .myFrame.myChecks.myGlesCheck -offvalue "false" -onvalue "true" -variable HAVE_GLES2 -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myGlesLbl -text "Use OpenGL ES"
|
||||
@@ -483,13 +431,8 @@ checkbutton .myFrame.myChecks.myFFmpegCheck -offvalue "false" -onvalue "true
|
||||
ttk::label .myFrame.myChecks.myFFmpegLbl -text "Use FFmpeg"
|
||||
#checkbutton .myFrame.myChecks.myOpenClCheck -offvalue "false" -onvalue "true" -variable HAVE_OPENCL -command wokdep:gui:UpdateList
|
||||
#ttk::label .myFrame.myChecks.myOpenClLbl -text "Use OpenCL"
|
||||
checkbutton .myFrame.myChecks.myRapidJsonCheck -offvalue "false" -onvalue "true" -variable HAVE_RAPIDJSON -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myRapidJsonLbl -text "Use RapidJSON"
|
||||
checkbutton .myFrame.myChecks.myDracoCheck -offvalue "false" -onvalue "true" -variable HAVE_DRACO -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myDracoLbl -text "Use Draco"
|
||||
|
||||
checkbutton .myFrame.myChecks.myXLibCheck -offvalue "false" -onvalue "true" -variable HAVE_XLIB
|
||||
ttk::label .myFrame.myChecks.myXLibLbl -text "Use X11 for windows drawing"
|
||||
checkbutton .myFrame.myChecks.myMacGLXCheck -offvalue "false" -onvalue "true" -variable MACOSX_USE_GLX
|
||||
ttk::label .myFrame.myChecks.myMacGLXLbl -text "Use X11 for windows drawing"
|
||||
ttk::label .myFrame.myChecks.myVtkLbl -text "Use VTK"
|
||||
checkbutton .myFrame.myChecks.myVtkCheck -offvalue "false" -onvalue "true" -variable HAVE_VTK -command wokdep:gui:UpdateList
|
||||
|
||||
@@ -497,19 +440,12 @@ checkbutton .myFrame.myChecks.myZLibCheck -offvalue "false" -onvalue "true
|
||||
ttk::label .myFrame.myChecks.myZLibLbl -text "Use zlib"
|
||||
checkbutton .myFrame.myChecks.myLzmaCheck -offvalue "false" -onvalue "true" -variable HAVE_LIBLZMA -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myLzmaLbl -text "Use liblzma"
|
||||
checkbutton .myFrame.myChecks.myE57Check -offvalue "false" -onvalue "true" -variable HAVE_E57 -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myE57Lbl -text "Use E57"
|
||||
|
||||
checkbutton .myFrame.myChecks.myQtCheck -offvalue "false" -onvalue "true" -variable CHECK_QT -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myQtLbl -text "Search Qt"
|
||||
checkbutton .myFrame.myChecks.myQt4Check -offvalue "false" -onvalue "true" -variable CHECK_QT4 -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myQt4Lbl -text "Search Qt4"
|
||||
checkbutton .myFrame.myChecks.myJDKCheck -offvalue "false" -onvalue "true" -variable CHECK_JDK -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myJDKLbl -text "Search JDK"
|
||||
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
checkbutton .myFrame.myChecks.myInspectorBuild -offvalue "false" -onvalue "true" -variable BUILD_Inspector -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myInspectorLbl -text "Build Inspector"
|
||||
}
|
||||
|
||||
# Additional headers search paths
|
||||
ttk::label .myFrame.myIncLbl -text "Additional headers search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myIncScrl -command ".myFrame.myIncList yview"
|
||||
@@ -521,84 +457,44 @@ ttk::button .myFrame.myIncClear -text "Reset" -command wokdep:gui:ResetIncP
|
||||
ttk::label .myFrame.myIncErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional libraries (32-bit) search paths
|
||||
ttk::label .myFrame.myLib32_Lbl -text "Additional libraries (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib32_Scrl -command ".myFrame.myLib32_List yview"
|
||||
listbox .myFrame.myLib32_List -listvariable CSF_OPT_LIB32 -width 80 -height 5 -yscrollcommand ".myFrame.myLib32_Scrl set"
|
||||
ttk::button .myFrame.myLib32_Add -text "Add" -command wokdep:gui:AddLibPath
|
||||
ttk::button .myFrame.myLib32_Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib32_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
|
||||
ttk::button .myFrame.myLib32_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myLib32_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional debug libraries (32-bit) search paths
|
||||
ttk::label .myFrame.myLib32D_Lbl -text "Additional debug libraries (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib32D_Scrl -command ".myFrame.myLib32D_List yview"
|
||||
listbox .myFrame.myLib32D_List -listvariable CSF_OPT_LIB32D -width 80 -height 5 -yscrollcommand ".myFrame.myLib32D_Scrl set"
|
||||
ttk::button .myFrame.myLib32D_Add -text "Add" -command wokdep:gui:AddLibPath
|
||||
ttk::button .myFrame.myLib32D_Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib32D_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
|
||||
ttk::button .myFrame.myLib32D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myLib32D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
ttk::label .myFrame.myLib32Lbl -text "Additional libraries (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib32Scrl -command ".myFrame.myLib32List yview"
|
||||
listbox .myFrame.myLib32List -listvariable CSF_OPT_LIB32 -width 80 -height 5 -yscrollcommand ".myFrame.myLib32Scrl set"
|
||||
ttk::button .myFrame.myLib32Add -text "Add" -command wokdep:gui:AddLib32Path
|
||||
ttk::button .myFrame.myLib32Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib32Remove -text "Remove" -command wokdep:gui:RemoveLib32Path
|
||||
ttk::button .myFrame.myLib32Clear -text "Reset" -command wokdep:gui:ResetLib32Path
|
||||
ttk::label .myFrame.myLib32ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional libraries (64-bit) search paths
|
||||
ttk::label .myFrame.myLib64_Lbl -text "Additional libraries (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib64_Scrl -command ".myFrame.myLib64_List yview"
|
||||
listbox .myFrame.myLib64_List -listvariable CSF_OPT_LIB64 -width 80 -height 5 -yscrollcommand ".myFrame.myLib64_Scrl set"
|
||||
ttk::button .myFrame.myLib64_Add -text "Add" -command wokdep:gui:AddLibPath
|
||||
ttk::button .myFrame.myLib64_Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib64_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
|
||||
ttk::button .myFrame.myLib64_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myLib64_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional debug libraries (64-bit) search paths
|
||||
ttk::label .myFrame.myLib64D_Lbl -text "Additional debug libraries (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib64D_Scrl -command ".myFrame.myLib64D_List yview"
|
||||
listbox .myFrame.myLib64D_List -listvariable CSF_OPT_LIB64D -width 80 -height 5 -yscrollcommand ".myFrame.myLib64D_Scrl set"
|
||||
ttk::button .myFrame.myLib64D_Add -text "Add" -command wokdep:gui:AddLibPath
|
||||
ttk::button .myFrame.myLib64D_Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib64D_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
|
||||
ttk::button .myFrame.myLib64D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myLib64D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
ttk::label .myFrame.myLib64Lbl -text "Additional libraries (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib64Scrl -command ".myFrame.myLib64List yview"
|
||||
listbox .myFrame.myLib64List -listvariable CSF_OPT_LIB64 -width 80 -height 5 -yscrollcommand ".myFrame.myLib64Scrl set"
|
||||
ttk::button .myFrame.myLib64Add -text "Add" -command wokdep:gui:AddLib64Path
|
||||
ttk::button .myFrame.myLib64Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib64Remove -text "Remove" -command wokdep:gui:RemoveLib64Path
|
||||
ttk::button .myFrame.myLib64Clear -text "Reset" -command wokdep:gui:ResetLib64Path
|
||||
ttk::label .myFrame.myLib64ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional executables (32-bit) search paths
|
||||
ttk::label .myFrame.myBin32_Lbl -text "Additional executables (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin32_Scrl -command ".myFrame.myBin32_List yview"
|
||||
listbox .myFrame.myBin32_List -listvariable CSF_OPT_BIN32 -width 80 -height 5 -yscrollcommand ".myFrame.myBin32_Scrl set"
|
||||
ttk::button .myFrame.myBin32_Add -text "Add" -command wokdep:gui:AddBinPath
|
||||
ttk::button .myFrame.myBin32_Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin32_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
|
||||
ttk::button .myFrame.myBin32_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myBin32_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional debug executables (32-bit) search paths
|
||||
ttk::label .myFrame.myBin32D_Lbl -text "Additional debug executables (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin32D_Scrl -command ".myFrame.myBin32D_List yview"
|
||||
listbox .myFrame.myBin32D_List -listvariable CSF_OPT_BIN32D -width 80 -height 5 -yscrollcommand ".myFrame.myBin32D_Scrl set"
|
||||
ttk::button .myFrame.myBin32D_Add -text "Add" -command wokdep:gui:AddBinPath
|
||||
ttk::button .myFrame.myBin32D_Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin32D_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
|
||||
ttk::button .myFrame.myBin32D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myBin32D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
ttk::label .myFrame.myBin32Lbl -text "Additional executables (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin32Scrl -command ".myFrame.myBin32List yview"
|
||||
listbox .myFrame.myBin32List -listvariable CSF_OPT_BIN32 -width 80 -height 5 -yscrollcommand ".myFrame.myBin32Scrl set"
|
||||
ttk::button .myFrame.myBin32Add -text "Add" -command wokdep:gui:AddBin32Path
|
||||
ttk::button .myFrame.myBin32Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin32Remove -text "Remove" -command wokdep:gui:RemoveBin32Path
|
||||
ttk::button .myFrame.myBin32Clear -text "Reset" -command wokdep:gui:ResetBin32Path
|
||||
ttk::label .myFrame.myBin32ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional executables (64-bit) search paths
|
||||
ttk::label .myFrame.myBin64_Lbl -text "Additional executables (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin64_Scrl -command ".myFrame.myBin64_List yview"
|
||||
listbox .myFrame.myBin64_List -listvariable CSF_OPT_BIN64 -width 80 -height 5 -yscrollcommand ".myFrame.myBin64_Scrl set"
|
||||
ttk::button .myFrame.myBin64_Add -text "Add" -command wokdep:gui:AddBinPath
|
||||
ttk::button .myFrame.myBin64_Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin64_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
|
||||
ttk::button .myFrame.myBin64_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myBin64_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional debug executables (64-bit) search paths
|
||||
ttk::label .myFrame.myBin64D_Lbl -text "Additional debug executables (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin64D_Scrl -command ".myFrame.myBin64D_List yview"
|
||||
listbox .myFrame.myBin64D_List -listvariable CSF_OPT_BIN64D -width 80 -height 5 -yscrollcommand ".myFrame.myBin64D_Scrl set"
|
||||
ttk::button .myFrame.myBin64D_Add -text "Add" -command wokdep:gui:AddBinPath
|
||||
ttk::button .myFrame.myBin64D_Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin64D_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
|
||||
ttk::button .myFrame.myBin64D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myBin64D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
ttk::label .myFrame.myBin64Lbl -text "Additional executables (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin64Scrl -command ".myFrame.myBin64List yview"
|
||||
listbox .myFrame.myBin64List -listvariable CSF_OPT_BIN64 -width 80 -height 5 -yscrollcommand ".myFrame.myBin64Scrl set"
|
||||
ttk::button .myFrame.myBin64Add -text "Add" -command wokdep:gui:AddBin64Path
|
||||
ttk::button .myFrame.myBin64Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin64Remove -text "Remove" -command wokdep:gui:RemoveBin64Path
|
||||
ttk::button .myFrame.myBin64Clear -text "Reset" -command wokdep:gui:ResetBin64Path
|
||||
ttk::label .myFrame.myBin64ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Bottom
|
||||
ttk::button .myFrame.mySave -text "Save" -command wokdep:SaveCustom
|
||||
@@ -606,25 +502,16 @@ ttk::button .myFrame.myClose -text "Close" -command wokdep:gui:Close
|
||||
|
||||
# Create grid
|
||||
# Header
|
||||
grid .myFrame.myPrjFrame -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
grid .myFrame.myPrjFrame.myPrjLbl -row 0 -column 0
|
||||
grid .myFrame.myPrjFrame.myPrjCombo -row 0 -column 1
|
||||
if { "$tcl_platform(platform)" == "windows" } {
|
||||
incr aRowIter
|
||||
grid .myFrame.myVsFrame -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
grid .myFrame.myVsFrame.myVsLbl -row 0 -column 0
|
||||
grid .myFrame.myVsFrame.myVsCombo -row 0 -column 1 -padx 5
|
||||
grid .myFrame.myVsFrame.myArchCombo -row 0 -column 2
|
||||
grid .myFrame.myVsFrame.myConfigCombo -row 0 -column 3
|
||||
incr aRowIter
|
||||
grid .myFrame.myVcEntry -row $aRowIter -column 0
|
||||
grid .myFrame.myVcVarsEntry -row $aRowIter -column 1 -columnspan 4 -sticky w
|
||||
grid .myFrame.myVcBrowseBtn -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
} else {
|
||||
grid .myFrame.myVsFrame -row $aRowIter -column 4 -sticky w
|
||||
grid .myFrame.myVsFrame.myConfigCombo -row 0 -column 0
|
||||
incr aRowIter
|
||||
}
|
||||
|
||||
#
|
||||
@@ -645,10 +532,10 @@ incr aRowIter
|
||||
|
||||
grid .myFrame.myChecks -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
grid .myFrame.myChecks.myFreeTypeCheck -row $aCheckRowIter -column 0 -sticky e
|
||||
grid .myFrame.myChecks.myFreeTypeLbl -row $aCheckRowIter -column 1 -sticky w
|
||||
grid .myFrame.myChecks.myRapidJsonCheck -row $aCheckRowIter -column 2 -sticky e
|
||||
grid .myFrame.myChecks.myRapidJsonLbl -row $aCheckRowIter -column 3 -sticky w
|
||||
grid .myFrame.myChecks.myFImageCheck -row $aCheckRowIter -column 0 -sticky e
|
||||
grid .myFrame.myChecks.myFImageLbl -row $aCheckRowIter -column 1 -sticky w
|
||||
grid .myFrame.myChecks.myTbbCheck -row $aCheckRowIter -column 2 -sticky e
|
||||
grid .myFrame.myChecks.myTbbLbl -row $aCheckRowIter -column 3 -sticky w
|
||||
if { "$::tcl_platform(os)" != "Darwin" } {
|
||||
grid .myFrame.myChecks.myGlesCheck -row $aCheckRowIter -column 4 -sticky e
|
||||
grid .myFrame.myChecks.myGlesLbl -row $aCheckRowIter -column 5 -sticky w
|
||||
@@ -658,48 +545,32 @@ if { "$::tcl_platform(os)" != "Darwin" } {
|
||||
grid .myFrame.myChecks.myZLibCheck -row $aCheckRowIter -column 6 -sticky e
|
||||
grid .myFrame.myChecks.myZLibLbl -row $aCheckRowIter -column 7 -sticky w
|
||||
|
||||
grid .myFrame.myChecks.myQtCheck -row $aCheckRowIter -column 12 -sticky e
|
||||
grid .myFrame.myChecks.myQtLbl -row $aCheckRowIter -column 13 -sticky w
|
||||
grid .myFrame.myChecks.myGl2psCheck -row $aCheckRowIter -column 8 -sticky e
|
||||
grid .myFrame.myChecks.myGl2psLbl -row $aCheckRowIter -column 9 -sticky w
|
||||
|
||||
incr aCheckRowIter
|
||||
grid .myFrame.myChecks.myFImageCheck -row $aCheckRowIter -column 0 -sticky e
|
||||
grid .myFrame.myChecks.myFImageLbl -row $aCheckRowIter -column 1 -sticky w
|
||||
grid .myFrame.myChecks.myDracoCheck -row $aCheckRowIter -column 2 -sticky e
|
||||
grid .myFrame.myChecks.myDracoLbl -row $aCheckRowIter -column 3 -sticky w
|
||||
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
grid .myFrame.myChecks.myD3dCheck -row $aCheckRowIter -column 4 -sticky e
|
||||
grid .myFrame.myChecks.myD3dLbl -row $aCheckRowIter -column 5 -sticky w
|
||||
} else {
|
||||
grid .myFrame.myChecks.myXLibCheck -row $aCheckRowIter -column 4 -sticky e
|
||||
grid .myFrame.myChecks.myXLibLbl -row $aCheckRowIter -column 5 -sticky w
|
||||
}
|
||||
grid .myFrame.myChecks.myLzmaCheck -row $aCheckRowIter -column 6 -sticky e
|
||||
grid .myFrame.myChecks.myLzmaLbl -row $aCheckRowIter -column 7 -sticky w
|
||||
grid .myFrame.myChecks.myJDKCheck -row $aCheckRowIter -column 12 -sticky e
|
||||
grid .myFrame.myChecks.myJDKLbl -row $aCheckRowIter -column 13 -sticky w
|
||||
grid .myFrame.myChecks.myQt4Check -row $aCheckRowIter -column 10 -sticky e
|
||||
grid .myFrame.myChecks.myQt4Lbl -row $aCheckRowIter -column 11 -sticky w
|
||||
|
||||
incr aCheckRowIter
|
||||
grid .myFrame.myChecks.myFFmpegCheck -row $aCheckRowIter -column 0 -sticky e
|
||||
grid .myFrame.myChecks.myFFmpegLbl -row $aCheckRowIter -column 1 -sticky w
|
||||
grid .myFrame.myChecks.myVtkCheck -row $aCheckRowIter -column 2 -sticky e
|
||||
grid .myFrame.myChecks.myVtkLbl -row $aCheckRowIter -column 3 -sticky w
|
||||
grid .myFrame.myChecks.myOpenVrCheck -row $aCheckRowIter -column 4 -sticky e
|
||||
grid .myFrame.myChecks.myOpenVrLbl -row $aCheckRowIter -column 5 -sticky w
|
||||
grid .myFrame.myChecks.myE57Check -row $aCheckRowIter -column 6 -sticky e
|
||||
grid .myFrame.myChecks.myE57Lbl -row $aCheckRowIter -column 7 -sticky w
|
||||
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
grid .myFrame.myChecks.myInspectorBuild -row $aCheckRowIter -column 12 -sticky e
|
||||
grid .myFrame.myChecks.myInspectorLbl -row $aCheckRowIter -column 13 -sticky w
|
||||
grid .myFrame.myChecks.myD3dCheck -row $aCheckRowIter -column 4 -sticky e
|
||||
grid .myFrame.myChecks.myD3dLbl -row $aCheckRowIter -column 5 -sticky w
|
||||
}
|
||||
grid .myFrame.myChecks.myLzmaCheck -row $aCheckRowIter -column 6 -sticky e
|
||||
grid .myFrame.myChecks.myLzmaLbl -row $aCheckRowIter -column 7 -sticky w
|
||||
grid .myFrame.myChecks.myJDKCheck -row $aCheckRowIter -column 10 -sticky e
|
||||
grid .myFrame.myChecks.myJDKLbl -row $aCheckRowIter -column 11 -sticky w
|
||||
|
||||
incr aCheckRowIter
|
||||
|
||||
grid .myFrame.myChecks.myTbbCheck -row $aCheckRowIter -column 12 -sticky e
|
||||
grid .myFrame.myChecks.myTbbLbl -row $aCheckRowIter -column 13 -sticky w
|
||||
|
||||
incr aCheckRowIter
|
||||
if { "$::tcl_platform(os)" == "Darwin" } {
|
||||
grid .myFrame.myChecks.myMacGLXCheck -row $aCheckRowIter -column 0 -sticky e
|
||||
grid .myFrame.myChecks.myMacGLXLbl -row $aCheckRowIter -column 1 -sticky w
|
||||
incr aCheckRowIter
|
||||
}
|
||||
|
||||
# Additional headers search paths
|
||||
grid .myFrame.myIncLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
@@ -717,29 +588,29 @@ incr aRowIter
|
||||
grid .myFrame.myIncErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
|
||||
# Additional search paths
|
||||
wokdep:gui:Show3264Bitness aRowIter
|
||||
# Additional 32-bit search paths
|
||||
if { "$ARCH" == "32" } {
|
||||
wokdep:gui:Show32Bitness aRowIter
|
||||
}
|
||||
|
||||
# Additional 64-bit search paths
|
||||
if { "$ARCH" == "64" } {
|
||||
wokdep:gui:Show64Bitness aRowIter
|
||||
}
|
||||
|
||||
# Bottom section
|
||||
grid .myFrame.mySave -row $aRowIter -column 4 -columnspan 2
|
||||
grid .myFrame.myClose -row $aRowIter -column 6 -columnspan 2
|
||||
|
||||
# Bind events
|
||||
bind .myFrame.myPrjFrame.myPrjCombo <<ComboboxSelected>> {
|
||||
wokdep:gui:SwitchConfig
|
||||
}
|
||||
bind .myFrame.myVsFrame.myVsCombo <<ComboboxSelected>> {
|
||||
wokdep:gui:SwitchConfig
|
||||
}
|
||||
bind .myFrame.myVsFrame.myArchCombo <<ComboboxSelected>> {
|
||||
wokdep:gui:SwitchArch
|
||||
}
|
||||
bind .myFrame.myVsFrame.myConfigCombo <<ComboboxSelected>> {
|
||||
wokdep:gui:SwitchArch
|
||||
}
|
||||
|
||||
.myFrame.mySrchEntry configure -validate all -validatecommand {
|
||||
set ::PRODUCTS_PATH [file normalize "$::PRODUCTS_PATH_INPUT"]
|
||||
#return [file exists "$::PRODUCTS_PATH"]
|
||||
wokdep:gui:UpdateList
|
||||
return 1
|
||||
|
@@ -27,10 +27,8 @@ if { "$tcl_platform(platform)" == "unix" } {
|
||||
set SYS_EXE_SUFFIX ""
|
||||
if { "$tcl_platform(os)" == "Darwin" } {
|
||||
set SYS_LIB_SUFFIX "dylib"
|
||||
set PRJFMT "xcd"
|
||||
} else {
|
||||
set SYS_LIB_SUFFIX "so"
|
||||
set PRJFMT "cbp"
|
||||
}
|
||||
set VCVER "gcc"
|
||||
set VCVARS ""
|
||||
@@ -41,7 +39,6 @@ if { "$tcl_platform(platform)" == "unix" } {
|
||||
set SYS_EXE_SUFFIX ".exe"
|
||||
set VCVER "vc10"
|
||||
set VCVARS ""
|
||||
set PRJFMT "vcxproj"
|
||||
}
|
||||
|
||||
set SHORTCUT_HEADERS "ShortCut"
|
||||
@@ -52,10 +49,6 @@ set CSF_OPT_LIB32 [list]
|
||||
set CSF_OPT_LIB64 [list]
|
||||
set CSF_OPT_BIN32 [list]
|
||||
set CSF_OPT_BIN64 [list]
|
||||
set CSF_OPT_LIB32D [list]
|
||||
set CSF_OPT_LIB64D [list]
|
||||
set CSF_OPT_BIN32D [list]
|
||||
set CSF_OPT_BIN64D [list]
|
||||
|
||||
if { "$tcl_platform(pointerSize)" == "4" } {
|
||||
set ARCH "32"
|
||||
@@ -72,15 +65,9 @@ if { [info exists ::env(SHORTCUT_HEADERS)] } {
|
||||
}
|
||||
|
||||
# fetch environment variables (e.g. set by custom.sh or custom.bat) and set them as tcl variables with the same name
|
||||
set THE_ENV_VARIABLES { HAVE_TK HAVE_FREETYPE HAVE_FREEIMAGE HAVE_FFMPEG HAVE_TBB HAVE_GLES2 HAVE_D3D HAVE_VTK \
|
||||
HAVE_ZLIB HAVE_LIBLZMA HAVE_E57 HAVE_RAPIDJSON HAVE_DRACO HAVE_OPENVR HAVE_OPENCL \
|
||||
CHECK_QT4 CHECK_JDK HAVE_XLIB \
|
||||
HAVE_RelWithDebInfo BUILD_Inspector }
|
||||
foreach anEnvIter $THE_ENV_VARIABLES { set ${anEnvIter} "false" }
|
||||
set HAVE_TK "true"
|
||||
set HAVE_FREETYPE "true"
|
||||
if { "$tcl_platform(os)" != "Darwin" } { set HAVE_XLIB "true" }
|
||||
set THE_ENV_VARIABLES {HAVE_FREEIMAGE HAVE_FFMPEG HAVE_TBB HAVE_GLES2 HAVE_D3D HAVE_VTK HAVE_GL2PS HAVE_ZLIB HAVE_LIBLZMA HAVE_OPENCL CHECK_QT4 CHECK_JDK MACOSX_USE_GLX HAVE_RelWithDebInfo}
|
||||
foreach anEnvIter $THE_ENV_VARIABLES {
|
||||
set ${anEnvIter} "false"
|
||||
if { [info exists ::env(${anEnvIter})] } {
|
||||
set ${anEnvIter} "$::env(${anEnvIter})"
|
||||
}
|
||||
@@ -88,21 +75,18 @@ foreach anEnvIter $THE_ENV_VARIABLES {
|
||||
# do not export platform-specific variables
|
||||
if { "$::tcl_platform(os)" == "Darwin" } {
|
||||
set HAVE_GLES2 ""
|
||||
} else {
|
||||
set MACOSX_USE_GLX ""
|
||||
}
|
||||
if { "$tcl_platform(platform)" != "windows" } {
|
||||
set HAVE_D3D ""
|
||||
set HAVE_RelWithDebInfo ""
|
||||
} else {
|
||||
set HAVE_XLIB ""
|
||||
}
|
||||
foreach anEnvIter {ARCH VCVER VCVARS PRJFMT } {
|
||||
foreach anEnvIter {ARCH VCVER VCVARS PRODUCTS_PATH} {
|
||||
if { [info exists ::env(${anEnvIter})] } {
|
||||
set ${anEnvIter} "$::env(${anEnvIter})"
|
||||
}
|
||||
}
|
||||
if { [info exists ::env(PRODUCTS_PATH)] } {
|
||||
set PRODUCTS_PATH [file normalize "$::env(PRODUCTS_PATH)"]
|
||||
}
|
||||
|
||||
if { [info exists ::env(CSF_OPT_INC)] } {
|
||||
set CSF_OPT_INC [split "$::env(CSF_OPT_INC)" $::SYS_PATH_SPLITTER]
|
||||
@@ -120,35 +104,6 @@ if { [info exists ::env(CSF_OPT_BIN64)] } {
|
||||
set CSF_OPT_BIN64 [split "$::env(CSF_OPT_BIN64)" $::SYS_PATH_SPLITTER]
|
||||
}
|
||||
|
||||
if { [info exists ::env(CSF_OPT_LIB32D)] } {
|
||||
set CSF_OPT_LIB32D [split "$::env(CSF_OPT_LIB32D)" $::SYS_PATH_SPLITTER]
|
||||
foreach aLibIter $::CSF_OPT_LIB32 {
|
||||
set aPos [lsearch -exact $::CSF_OPT_LIB32D $aLibIter]
|
||||
set ::CSF_OPT_LIB32D [lreplace $::CSF_OPT_LIB32D $aPos $aPos]
|
||||
}
|
||||
}
|
||||
if { [info exists ::env(CSF_OPT_LIB64D)] } {
|
||||
set CSF_OPT_LIB64D [split "$::env(CSF_OPT_LIB64D)" $::SYS_PATH_SPLITTER]
|
||||
foreach aLibIter $::CSF_OPT_LIB64 {
|
||||
set aPos [lsearch -exact $::CSF_OPT_LIB64D $aLibIter]
|
||||
set ::CSF_OPT_LIB64D [lreplace $::CSF_OPT_LIB64D $aPos $aPos]
|
||||
}
|
||||
}
|
||||
if { [info exists ::env(CSF_OPT_BIN32D)] } {
|
||||
set CSF_OPT_BIN32D [split "$::env(CSF_OPT_BIN32D)" $::SYS_PATH_SPLITTER]
|
||||
foreach aLibIter $::CSF_OPT_BIN32 {
|
||||
set aPos [lsearch -exact $::CSF_OPT_BIN32D $aLibIter]
|
||||
set ::CSF_OPT_BIN32D [lreplace $::CSF_OPT_BIN32D $aPos $aPos]
|
||||
}
|
||||
}
|
||||
if { [info exists ::env(CSF_OPT_BIN64D)] } {
|
||||
set CSF_OPT_BIN64D [split "$::env(CSF_OPT_BIN64D)" $::SYS_PATH_SPLITTER]
|
||||
foreach aLibIter $::CSF_OPT_BIN64 {
|
||||
set aPos [lsearch -exact $::CSF_OPT_BIN64D $aLibIter]
|
||||
set ::CSF_OPT_BIN64D [lreplace $::CSF_OPT_BIN64D $aPos $aPos]
|
||||
}
|
||||
}
|
||||
|
||||
# Search header file in $::CSF_OPT_INC and standard paths
|
||||
proc wokdep:SearchHeader {theHeader} {
|
||||
# search in custom paths
|
||||
@@ -186,11 +141,8 @@ proc wokdep:SearchHeader {theHeader} {
|
||||
proc wokdep:SearchLib {theLib theBitness {theSearchPath ""}} {
|
||||
if { "$theSearchPath" != "" } {
|
||||
set aPath "${theSearchPath}/${::SYS_LIB_PREFIX}${theLib}.${::SYS_LIB_SUFFIX}"
|
||||
set aPath2 "${theSearchPath}/${::SYS_LIB_PREFIX}${theLib}.a"
|
||||
if { [file exists "$aPath"] } {
|
||||
return "$aPath"
|
||||
} elseif { "$::tcl_platform(platform)" != "windows" && [file exists "$aPath2"] } {
|
||||
return "$aPath2"
|
||||
} else {
|
||||
return ""
|
||||
}
|
||||
@@ -199,41 +151,30 @@ proc wokdep:SearchLib {theLib theBitness {theSearchPath ""}} {
|
||||
# search in custom paths
|
||||
foreach aLibPath [set ::CSF_OPT_LIB$theBitness] {
|
||||
set aPath "${aLibPath}/${::SYS_LIB_PREFIX}${theLib}.${::SYS_LIB_SUFFIX}"
|
||||
set aPath2 "${aLibPath}/${::SYS_LIB_PREFIX}${theLib}.a"
|
||||
if { [file exists "$aPath"] } {
|
||||
return "$aPath"
|
||||
} elseif { "$::tcl_platform(platform)" != "windows" && [file exists "$aPath2"] } {
|
||||
return "$aPath2"
|
||||
}
|
||||
}
|
||||
|
||||
# search in system
|
||||
if { "$::ARCH" == "$theBitness"} {
|
||||
set aPath "/usr/lib/${::SYS_LIB_PREFIX}${theLib}.${::SYS_LIB_SUFFIX}"
|
||||
set aPath2 "/usr/lib/${::SYS_LIB_PREFIX}${theLib}.a"
|
||||
if { [file exists "$aPath"] } {
|
||||
return "$aPath"
|
||||
} elseif { [file exists "$aPath2"] } {
|
||||
return "$aPath2"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if { "$::tcl_platform(os)" == "Linux" } {
|
||||
if { "$theBitness" == "64" } {
|
||||
set aPath "/usr/lib/x86_64-linux-gnu/lib${theLib}.so"
|
||||
set aPath2 "/usr/lib/x86_64-linux-gnu/lib${theLib}.a"
|
||||
if { [file exists "$aPath"] } {
|
||||
return "$aPath"
|
||||
} elseif { [file exists "$aPath2"] } {
|
||||
return "$aPath2"
|
||||
}
|
||||
} else {
|
||||
set aPath "/usr/lib/i386-linux-gnu/lib${theLib}.so"
|
||||
set aPath2 "/usr/lib/i386-linux-gnu/lib${theLib}.a"
|
||||
if { [file exists "$aPath"] } {
|
||||
return "$aPath"
|
||||
} elseif { [file exists "$aPath2"] } {
|
||||
return "$aPath2"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -280,12 +221,8 @@ proc wokdep:Preferred {theList theCmpl theArch} {
|
||||
|
||||
# keep only two first digits in "vc141"
|
||||
if { ! [regexp {^vc[0-9][0-9]} $theCmpl aCmpl] } {
|
||||
if { [regexp {^vclang} $theCmpl] } {
|
||||
set aCmpl vc14
|
||||
} else {
|
||||
set aCmpl $theCmpl
|
||||
}
|
||||
}
|
||||
|
||||
set aShortList {}
|
||||
foreach aPath $theList {
|
||||
@@ -349,12 +286,6 @@ proc wokdep:SearchStandardLibrary {theErrInc theErrLib32 theErrLib64 theErrBin32
|
||||
lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
|
||||
set hasLib true
|
||||
|
||||
set aLibDPath [wokdep:SearchLib "$theCheckLib" "$anArchIter" "$aPath/libd"]
|
||||
if { "$aLibDPath" != "" } {
|
||||
lappend ::CSF_OPT_LIB${anArchIter}D "$aPath/libd"
|
||||
lappend ::CSF_OPT_BIN${anArchIter}D "$aPath/bind"
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -670,59 +601,6 @@ proc wokdep:SearchFFmpeg {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBi
|
||||
return "$isFound"
|
||||
}
|
||||
|
||||
# Search OpenVR SDK placement
|
||||
proc wokdep:SearchOpenVR {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
|
||||
upvar $theErrInc anErrInc
|
||||
upvar $theErrLib32 anErrLib32
|
||||
upvar $theErrLib64 anErrLib64
|
||||
upvar $theErrBin32 anErrBin32
|
||||
upvar $theErrBin64 anErrBin64
|
||||
|
||||
set isFound "true"
|
||||
set anOpenVrHPath [wokdep:SearchHeader "openvr.h"]
|
||||
if { "$anOpenVrHPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{openvr}*] "$::VCVER" "$::ARCH" ]
|
||||
if { "$aPath" != "" && [file exists "$aPath/include/openvr.h"] } {
|
||||
lappend ::CSF_OPT_INC "$aPath/include"
|
||||
} elseif { "$aPath" != "" && [file exists "$aPath/headers/openvr.h"] } {
|
||||
lappend ::CSF_OPT_INC "$aPath/headers"
|
||||
} else {
|
||||
lappend anErrInc "Error: 'openvr.h' not found (OpenVR)"
|
||||
set isFound "false"
|
||||
}
|
||||
}
|
||||
|
||||
set aPlatform "unknown"
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aPlatform "win"
|
||||
} elseif { "$::tcl_platform(os)" == "Darwin" } {
|
||||
set aPlatform "osx"
|
||||
} elseif { "$::tcl_platform(os)" == "Linux" } {
|
||||
set aPlatform "linux"
|
||||
}
|
||||
|
||||
foreach anArchIter {64 32} {
|
||||
set anOpenVrLibPath [wokdep:SearchLib "openvr_api" "$anArchIter"]
|
||||
if { "$anOpenVrLibPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{openvr}*] "$::VCVER" "$anArchIter" ]
|
||||
set anOpenVrLibPath [wokdep:SearchLib "openvr_api" "$anArchIter" "$aPath/lib/${aPlatform}${anArchIter}"]
|
||||
set anOpenVrLibPath2 [wokdep:SearchLib "openvr_api" "$anArchIter" "$aPath/lib"]
|
||||
if { "$anOpenVrLibPath" != "" } {
|
||||
lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib/${aPlatform}${anArchIter}"
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin/${aPlatform}${anArchIter}"
|
||||
} elseif { "$anOpenVrLibPath2" != "" } {
|
||||
lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
|
||||
} else {
|
||||
lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}openvr_api.${::SYS_LIB_SUFFIX}' not found (OpenVR)"
|
||||
if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "$isFound"
|
||||
}
|
||||
|
||||
# Search TBB library placement
|
||||
proc wokdep:SearchTBB {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
|
||||
upvar $theErrInc anErrInc
|
||||
@@ -733,12 +611,8 @@ proc wokdep:SearchTBB {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64
|
||||
|
||||
# keep only two first digits in "vc141"
|
||||
if { ! [regexp {^vc[0-9][0-9]} ${::VCVER} aVcLib] } {
|
||||
if { [regexp {^vclang} ${::VCVER}] } {
|
||||
set aVcLib vc14
|
||||
} else {
|
||||
set aVcLib ${::VCVER}
|
||||
}
|
||||
}
|
||||
|
||||
set isFound "true"
|
||||
set aTbbHPath [wokdep:SearchHeader "tbb/scalable_allocator.h"]
|
||||
@@ -780,14 +654,14 @@ proc wokdep:SearchTBB {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64
|
||||
}
|
||||
}
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aTbbDllPath [wokdep:SearchBin "tbb12.dll" "$anArchIter"]
|
||||
set aTbbDllPath [wokdep:SearchBin "tbb.dll" "$anArchIter"]
|
||||
if { "$aTbbDllPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{tbb}*] $aVcLib "$anArchIter" ]
|
||||
set aTbbDllPath [wokdep:SearchBin "tbb12.dll" "$anArchIter" "$aPath/bin/$aSubDir/$aVcLib"]
|
||||
set aTbbDllPath [wokdep:SearchBin "tbb.dll" "$anArchIter" "$aPath/bin/$aSubDir/$aVcLib"]
|
||||
if { "$aTbbDllPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin/$aSubDir/$aVcLib"
|
||||
} else {
|
||||
lappend anErrBin$anArchIter "Error: 'tbb12.dll' not found (Intel TBB)"
|
||||
lappend anErrBin$anArchIter "Error: 'tbb.dll' not found (Intel TBB)"
|
||||
if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
|
||||
}
|
||||
}
|
||||
@@ -981,25 +855,6 @@ proc wokdep:SearchGLES {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin6
|
||||
return "$isFound"
|
||||
}
|
||||
|
||||
# Search RapidJSON headers
|
||||
proc wokdep:SearchRapidJson {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
|
||||
upvar $theErrInc anErrInc
|
||||
|
||||
set isFound "true"
|
||||
set aRJHPath [wokdep:SearchHeader "rapidjson/rapidjson.h"]
|
||||
if { "$aRJHPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{rapidjson}*] "$::VCVER" "$::ARCH" ]
|
||||
if { "$aPath" != "" && [file exists "$aPath/include/rapidjson/rapidjson.h"] } {
|
||||
lappend ::CSF_OPT_INC "$aPath/include"
|
||||
} else {
|
||||
lappend anErrInc "Error: 'rapidjson/rapidjson.h' not found (RapidJSON)"
|
||||
set isFound "false"
|
||||
}
|
||||
}
|
||||
|
||||
return "$isFound"
|
||||
}
|
||||
|
||||
# Auxiliary function, gets VTK version to set default search directory
|
||||
proc wokdep:VtkVersion { thePath } {
|
||||
set aResult "6.1"
|
||||
@@ -1086,51 +941,42 @@ proc wokdep:SearchVTK {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Search binary path
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
foreach anArchIter {64 32} {
|
||||
set aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter"]
|
||||
if { "$aVtkBinPath" == "" } {
|
||||
set aPathList [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{VTK}*]
|
||||
set aPath [wokdep:Preferred $aPathList "$::VCVER" "$anArchIter" ]
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{VTK}*] "$::VCVER" "$anArchIter" ]
|
||||
set aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$aPath/bin"]
|
||||
if { "$aVtkBinPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
|
||||
if { "$aVtkBinPath" != "" } { lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
|
||||
} else {
|
||||
# Try to find in lib path
|
||||
set aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$aPath/lib"]
|
||||
if { "$aVtkBinPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/lib"
|
||||
} else {
|
||||
# We didn't find preferred binary path => search through all available VTK directories
|
||||
foreach anIt $aPathList {
|
||||
set aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$anIt/bin"]
|
||||
if { "$aVtkBinPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$anIt/bin"
|
||||
break
|
||||
} else {
|
||||
# Try to find in lib path
|
||||
set aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$anIt/lib"]
|
||||
if { "$aVtkBinPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$anIt/lib"
|
||||
if { "$aVtkBinPath" != "" } { lappend ::CSF_OPT_BIN$anArchIter "$aPath/lib" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# We didn't find preferred binary path => search through inc path or among all available VTK directories
|
||||
if { "$aVtkBinPath" == "" } {
|
||||
# Try to find in lib path
|
||||
set aPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$aVtkLibPath/bin"]
|
||||
if { "$aPath" != "" } { lappend ::CSF_OPT_BIN$anArchIter "$aVtkLibPath/bin"
|
||||
} elseif { [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$aVtkLibPath/lib"] != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aVtkLibPath/lib"
|
||||
} else {
|
||||
lappend anErrBin$anArchIter "Error: 'vtkCommonCore-${aVtkVer}.dll' not found (VTK)"
|
||||
set isFound "false"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "$isFound"
|
||||
}
|
||||
|
||||
# Search Qt libraries placement
|
||||
proc wokdep:SearchQt {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
|
||||
# Search Qt4 libraries placement
|
||||
proc wokdep:SearchQt4 {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
|
||||
upvar $theErrInc anErrInc
|
||||
upvar $theErrLib32 anErrLib32
|
||||
upvar $theErrLib64 anErrLib64
|
||||
@@ -1138,46 +984,53 @@ proc wokdep:SearchQt {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64}
|
||||
upvar $theErrBin64 anErrBin64
|
||||
|
||||
set isFound "true"
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{qt}*] "$::VCVER" "$::ARCH" ]
|
||||
set aQMsgBoxHPath [wokdep:SearchHeader "QtGui/qguiapplication.h"]
|
||||
set aQMsgBoxHPath [wokdep:SearchHeader "QtGui/qmessagebox.h"]
|
||||
if { "$aQMsgBoxHPath" == "" } {
|
||||
if { "$aPath" != "" && [file exists "$aPath/include/QtGui/qguiapplication.h"] } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{qt4}*] "$::VCVER" "$::ARCH" ]
|
||||
if { "$aPath" != "" && [file exists "$aPath/include/QtGui/qmessagebox.h"] } {
|
||||
lappend ::CSF_OPT_INC "$aPath/include"
|
||||
lappend ::CSF_OPT_INC "$aPath/include/Qt"
|
||||
lappend ::CSF_OPT_INC "$aPath/include/QtGui"
|
||||
lappend ::CSF_OPT_INC "$aPath/include/QtCore"
|
||||
lappend ::CSF_OPT_INC "$aPath/include/QtWidgets"
|
||||
lappend ::CSF_OPT_INC "$aPath/include/QtXml"
|
||||
} else {
|
||||
lappend anErrInc "Error: 'QtGui/qguiapplication.h' not found"
|
||||
if { [file exists "/usr/include/qt4/QtGui/qmessagebox.h"] } {
|
||||
lappend ::CSF_OPT_INC "/usr/include/qt4"
|
||||
lappend ::CSF_OPT_INC "/usr/include/qt4/Qt"
|
||||
lappend ::CSF_OPT_INC "/usr/include/qt4/QtGui"
|
||||
lappend ::CSF_OPT_INC "/usr/include/qt4/QtCore"
|
||||
} else {
|
||||
lappend anErrInc "Error: 'QtGui/qmessagebox.h' not found (Qt4)"
|
||||
set isFound "false"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set aQtGuiLibName "QtGui"
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aQtGuiLibName "Qt5Gui"
|
||||
set aQtGuiLibName "QtGui4"
|
||||
}
|
||||
|
||||
foreach anArchIter {64 32} {
|
||||
set aQMsgBoxLibPath [wokdep:SearchLib "${aQtGuiLibName}" "$anArchIter"]
|
||||
if { "$aQMsgBoxLibPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{qt4}*] "$::VCVER" "$anArchIter" ]
|
||||
set aQMsgBoxLibPath [wokdep:SearchLib "${aQtGuiLibName}" "$anArchIter" "$aPath/lib"]
|
||||
if { "$aQMsgBoxLibPath" != "" } {
|
||||
lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
|
||||
} else {
|
||||
lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}${aQtGuiLibName}.${::SYS_LIB_SUFFIX}' not found (Qt)"
|
||||
lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}${aQtGuiLibName}.${::SYS_LIB_SUFFIX}' not found (Qt4)"
|
||||
if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
|
||||
}
|
||||
}
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aQMsgBoxDllPath [wokdep:SearchBin "${aQtGuiLibName}.dll" "$anArchIter"]
|
||||
set aQMsgBoxDllPath [wokdep:SearchBin "QtGui4.dll" "$anArchIter"]
|
||||
if { "$aQMsgBoxDllPath" == "" } {
|
||||
set aQMsgBoxDllPath [wokdep:SearchBin "${aQtGuiLibName}.dll" "$anArchIter" "$aPath/bin"]
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{qt4}*] "$::VCVER" "$anArchIter" ]
|
||||
set aQMsgBoxDllPath [wokdep:SearchBin "QtGui4.dll" "$anArchIter" "$aPath/bin"]
|
||||
if { "$aQMsgBoxDllPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
|
||||
} else {
|
||||
lappend anErrBin$anArchIter "Error: '${aQtGuiLibName}.dll' not found (Qt)"
|
||||
lappend anErrBin$anArchIter "Error: 'QtGui4.dll' not found (Qt4)"
|
||||
if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
|
||||
}
|
||||
}
|
||||
@@ -1247,17 +1100,17 @@ proc wokdep:SearchX11 {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64
|
||||
upvar $theErrBin64 anErrBin64
|
||||
|
||||
set isFound "true"
|
||||
if { "$::tcl_platform(platform)" == "windows" || ( "$::tcl_platform(os)" == "Darwin" && "$::HAVE_XLIB" != "true" ) } {
|
||||
if { "$::tcl_platform(platform)" == "windows" || ( "$::tcl_platform(os)" == "Darwin" && "$::MACOSX_USE_GLX" != "true" ) } {
|
||||
return "$isFound"
|
||||
}
|
||||
|
||||
set aX11LibPath [wokdep:SearchLib "X11" "$::ARCH"]
|
||||
if { "$aX11LibPath" == "" } {
|
||||
set aX11LibPath [wokdep:SearchLib "X11" "$::ARCH" "/usr/X11/lib"]
|
||||
if { "$aX11LibPath" != "" } {
|
||||
set aXmuLibPath [wokdep:SearchLib "Xmu" "$::ARCH"]
|
||||
if { "$aXmuLibPath" == "" } {
|
||||
set aXmuLibPath [wokdep:SearchLib "Xmu" "$::ARCH" "/usr/X11/lib"]
|
||||
if { "$aXmuLibPath" != "" } {
|
||||
#lappend ::CSF_OPT_LIB$::ARCH "/usr/X11/lib"
|
||||
} else {
|
||||
lappend anErrLib$::ARCH "Error: '${::SYS_LIB_PREFIX}X11.${::SYS_LIB_SUFFIX}' not found (X11)"
|
||||
lappend anErrLib$::ARCH "Error: '${::SYS_LIB_PREFIX}Xmu.${::SYS_LIB_SUFFIX}' not found (X11)"
|
||||
set isFound "false"
|
||||
}
|
||||
}
|
||||
@@ -1265,33 +1118,15 @@ proc wokdep:SearchX11 {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64
|
||||
return "$isFound"
|
||||
}
|
||||
|
||||
# Returns OCCT version string from file Standard_Version.hxx (if available)
|
||||
proc wokdep:DetectCasVersion {} {
|
||||
set occt_ver 7.0.0
|
||||
set aCasRoot [file normalize [file dirname [info script]]]
|
||||
set filename "${aCasRoot}/src/Standard/Standard_Version.hxx"
|
||||
if { [file exists $filename] } {
|
||||
set fh [open $filename "r"]
|
||||
set fh_loaded [read $fh]
|
||||
close $fh
|
||||
regexp {[^/]\s*#\s*define\s+OCC_VERSION_COMPLETE\s+\"([^\s]*)\"} $fh_loaded dummy occt_ver
|
||||
} else {
|
||||
puts "Error: file '$filename' not found"
|
||||
}
|
||||
return $occt_ver
|
||||
}
|
||||
|
||||
# Generate (override) custom environment file
|
||||
proc wokdep:SaveCustom {} {
|
||||
set aGenInfo "This environment file was generated by genconf.tcl script at [clock format [clock seconds] -format "%Y.%m.%d %H:%M"]"
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aCustomFilePath "./custom.bat"
|
||||
set aFile [open $aCustomFilePath "w"]
|
||||
puts $aFile "@echo off"
|
||||
puts $aFile "rem $aGenInfo"
|
||||
puts $aFile "rem This environment file was generated by wok_depsgui.tcl script at [clock format [clock seconds] -format "%Y.%m.%d %H:%M"]"
|
||||
|
||||
puts $aFile ""
|
||||
puts $aFile "set PRJFMT=$::PRJFMT"
|
||||
puts $aFile "set VCVER=$::VCVER"
|
||||
puts $aFile "set ARCH=$::ARCH"
|
||||
puts $aFile "set VCVARS=$::VCVARS"
|
||||
@@ -1311,102 +1146,38 @@ proc wokdep:SaveCustom {} {
|
||||
}
|
||||
|
||||
set aStringInc [join $::CSF_OPT_INC $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringInc [regsub -all "$::PRODUCTS_PATH" $aStringInc "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional headers search paths"
|
||||
puts $aFile "set \"CSF_OPT_INC=$aStringInc\""
|
||||
|
||||
set aStringLib32 [join $::CSF_OPT_LIB32 $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringLib32 [regsub -all "$::PRODUCTS_PATH" $aStringLib32 "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional libraries (32-bit) search paths"
|
||||
puts $aFile "set \"CSF_OPT_LIB32=$aStringLib32\""
|
||||
|
||||
set aStringLib32d [join $::CSF_OPT_LIB32D $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringLib32d [regsub -all "$::PRODUCTS_PATH" $aStringLib32d "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional debug libraries (32-bit) search paths"
|
||||
if { "$aStringLib32d" != "" && "$aStringLib32" != "" } {
|
||||
puts $aFile "set \"CSF_OPT_LIB32D=$aStringLib32d;%CSF_OPT_LIB32%\""
|
||||
} else {
|
||||
puts $aFile "set \"CSF_OPT_LIB32D=$aStringLib32d\""
|
||||
}
|
||||
|
||||
set aStringLib64 [join $::CSF_OPT_LIB64 $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringLib64 [regsub -all "$::PRODUCTS_PATH" $aStringLib64 "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional libraries (64-bit) search paths"
|
||||
puts $aFile "set \"CSF_OPT_LIB64=$aStringLib64\""
|
||||
|
||||
set aStringLib64d [join $::CSF_OPT_LIB64D $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringLib64d [regsub -all "$::PRODUCTS_PATH" $aStringLib64d "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional debug libraries (64-bit) search paths"
|
||||
if { "$aStringLib64d" != "" && "$aStringLib64" != "" } {
|
||||
puts $aFile "set \"CSF_OPT_LIB64D=$aStringLib64d;%CSF_OPT_LIB64%\""
|
||||
} else {
|
||||
puts $aFile "set \"CSF_OPT_LIB64D=$aStringLib64d\""
|
||||
}
|
||||
|
||||
set aStringBin32 [join $::CSF_OPT_BIN32 $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBin32 [regsub -all "$::PRODUCTS_PATH" $aStringBin32 "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional (32-bit) search paths"
|
||||
puts $aFile "set \"CSF_OPT_BIN32=$aStringBin32\""
|
||||
|
||||
set aStringBin32d [join $::CSF_OPT_BIN32D $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBin32d [regsub -all "$::PRODUCTS_PATH" $aStringBin32d "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional debug (32-bit) search paths"
|
||||
if { "$aStringBin32d" != "" && "$aStringBin32" != "" } {
|
||||
puts $aFile "set \"CSF_OPT_BIN32D=$aStringBin32d;%CSF_OPT_BIN32%\""
|
||||
} else {
|
||||
puts $aFile "set \"CSF_OPT_BIN32D=$aStringBin32d\""
|
||||
}
|
||||
|
||||
set aStringBin64 [join $::CSF_OPT_BIN64 $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBin64 [regsub -all "$::PRODUCTS_PATH" $aStringBin64 "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional (64-bit) search paths"
|
||||
puts $aFile "set \"CSF_OPT_BIN64=$aStringBin64\""
|
||||
|
||||
set aStringBin64d [join $::CSF_OPT_BIN64D $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBin64d [regsub -all "$::PRODUCTS_PATH" $aStringBin64d "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional debug (64-bit) search paths"
|
||||
if { "$aStringBin64d" != "" && "$aStringBin64" != "" } {
|
||||
puts $aFile "set \"CSF_OPT_BIN64D=$aStringBin64d;%CSF_OPT_BIN64%\""
|
||||
} else {
|
||||
puts $aFile "set \"CSF_OPT_BIN64D=$aStringBin64d\""
|
||||
}
|
||||
|
||||
close $aFile
|
||||
} else {
|
||||
set aCustomFilePath "./custom.sh"
|
||||
set aFile [open $aCustomFilePath "w"]
|
||||
puts $aFile "#!/bin/bash"
|
||||
puts $aFile "# $aGenInfo"
|
||||
puts $aFile "# This environment file was generated by wok_depsgui.tcl script at [clock format [clock seconds] -format "%Y.%m.%d %H:%M"]"
|
||||
|
||||
puts $aFile ""
|
||||
puts $aFile "export PRJFMT=$::PRJFMT"
|
||||
puts $aFile "export ARCH=$::ARCH"
|
||||
puts $aFile "export SHORTCUT_HEADERS=$::SHORTCUT_HEADERS"
|
||||
|
||||
@@ -1424,133 +1195,22 @@ proc wokdep:SaveCustom {} {
|
||||
}
|
||||
|
||||
set aStringInc [join $::CSF_OPT_INC $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringInc [regsub -all "$::PRODUCTS_PATH" $aStringInc "\${PRODUCTS_PATH}"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "# Additional headers search paths"
|
||||
puts $aFile "export CSF_OPT_INC=\"$aStringInc\""
|
||||
|
||||
set aStringLib [join [set ::CSF_OPT_LIB$::ARCH] $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringLib [regsub -all "$::PRODUCTS_PATH" $aStringLib "\${PRODUCTS_PATH}"]
|
||||
}
|
||||
set aStringLib$::ARCH [join [set ::CSF_OPT_LIB$::ARCH] $::SYS_PATH_SPLITTER]
|
||||
puts $aFile ""
|
||||
puts $aFile "# Additional libraries ($::ARCH-bit) search paths"
|
||||
puts $aFile "export CSF_OPT_LIB$::ARCH=\"[set aStringLib]\""
|
||||
puts $aFile "export CSF_OPT_LIB$::ARCH=\"[set aStringLib$::ARCH]\""
|
||||
|
||||
set aStringLibD [join [set ::CSF_OPT_LIB${::ARCH}D] $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringLibD [regsub -all "$::PRODUCTS_PATH" $aStringLibD "\${PRODUCTS_PATH}"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "# Additional debug libraries ($::ARCH-bit) search paths"
|
||||
if { "$aStringLibD" != "" && "$aStringLib" != "" } {
|
||||
puts $aFile "export CSF_OPT_LIB${::ARCH}D=\"[set aStringLibD]:\$CSF_OPT_LIB${::ARCH}\""
|
||||
} else {
|
||||
puts $aFile "export CSF_OPT_LIB${::ARCH}D=\"[set aStringLibD]\""
|
||||
}
|
||||
|
||||
set aStringBin [join [set ::CSF_OPT_BIN$::ARCH] $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBin [regsub -all "$::PRODUCTS_PATH" $aStringBin "\${PRODUCTS_PATH}"]
|
||||
}
|
||||
set aStringBin$::ARCH [join [set ::CSF_OPT_BIN$::ARCH] $::SYS_PATH_SPLITTER]
|
||||
puts $aFile ""
|
||||
puts $aFile "# Additional ($::ARCH-bit) search paths"
|
||||
puts $aFile "export CSF_OPT_BIN$::ARCH=\"[set aStringBin]\""
|
||||
|
||||
set aStringBinD [join [set ::CSF_OPT_BIN${::ARCH}D] $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBinD [regsub -all "$::PRODUCTS_PATH" $aStringBinD "\${PRODUCTS_PATH}"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "# Additional debug ($::ARCH-bit) search paths"
|
||||
if { "$aStringBinD" != "" && "$aStringBin" != "" } {
|
||||
puts $aFile "export CSF_OPT_BIN${::ARCH}D=\"[set aStringBinD]:\$CSF_OPT_BIN${::ARCH}\""
|
||||
} else {
|
||||
puts $aFile "export CSF_OPT_BIN${::ARCH}D=\"[set aStringBinD]\""
|
||||
}
|
||||
puts $aFile "export CSF_OPT_BIN$::ARCH=\"[set aStringBin$::ARCH]\""
|
||||
|
||||
close $aFile
|
||||
}
|
||||
|
||||
puts "Configuration saved to file '$aCustomFilePath'"
|
||||
|
||||
# generate custom.auto.pri
|
||||
set toExportCustomPri 1
|
||||
if { $toExportCustomPri == 1 } {
|
||||
set aCasVer [wokdep:DetectCasVersion]
|
||||
set aCustomFilePath "./adm/qmake/custom.auto.pri"
|
||||
set aFile [open $aCustomFilePath "w"]
|
||||
puts $aFile "# $aGenInfo"
|
||||
|
||||
puts $aFile ""
|
||||
puts $aFile "VERSION=$aCasVer"
|
||||
puts $aFile "PRODUCTS_PATH=\"$::PRODUCTS_PATH\""
|
||||
|
||||
puts $aFile ""
|
||||
puts $aFile "# Optional 3rd-parties switches"
|
||||
foreach anEnvIter $::THE_ENV_VARIABLES {
|
||||
set aName ${anEnvIter}
|
||||
set aValue [set ::${anEnvIter}]
|
||||
if { "$aValue" == "true" } {
|
||||
puts $aFile "CONFIG += ${aName}"
|
||||
} else {
|
||||
#puts $aFile "CONFIG -= ${aName}"
|
||||
}
|
||||
}
|
||||
|
||||
puts $aFile ""
|
||||
puts $aFile "# Additional headers search paths"
|
||||
foreach anIncPath $::CSF_OPT_INC {
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set anIncPath [regsub -all "$::PRODUCTS_PATH" $anIncPath "\$\$\{PRODUCTS_PATH\}"]
|
||||
}
|
||||
puts $aFile "INCLUDEPATH += \"${anIncPath}\""
|
||||
}
|
||||
|
||||
puts $aFile ""
|
||||
puts $aFile "CONFIG(debug, debug|release) {"
|
||||
puts $aFile " # Additional debug libraries search paths"
|
||||
foreach aLibPath [set ::CSF_OPT_LIB${::ARCH}D] {
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aLibPath [regsub -all "$::PRODUCTS_PATH" $aLibPath "\$\$\{PRODUCTS_PATH\}"]
|
||||
}
|
||||
puts $aFile " LIBS += -L\"${aLibPath}\""
|
||||
}
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
puts $aFile ""
|
||||
puts $aFile " # Additional debug DLLs search paths"
|
||||
foreach aDllPath [set ::CSF_OPT_BIN${::ARCH}D] {
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aDllPath [regsub -all "$::PRODUCTS_PATH" $aDllPath "\$\$\{PRODUCTS_PATH\}"]
|
||||
}
|
||||
puts $aFile " LIBS += -L\"${aDllPath}\""
|
||||
}
|
||||
}
|
||||
puts $aFile "}"
|
||||
|
||||
puts $aFile ""
|
||||
puts $aFile "# Additional libraries search paths"
|
||||
foreach aLibPath [set ::CSF_OPT_LIB$::ARCH] {
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aLibPath [regsub -all "$::PRODUCTS_PATH" $aLibPath "\$\$\{PRODUCTS_PATH\}"]
|
||||
}
|
||||
puts $aFile "LIBS += -L\"${aLibPath}\""
|
||||
}
|
||||
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
puts $aFile ""
|
||||
puts $aFile "# Additional DLLs search paths"
|
||||
foreach aDllPath [set ::CSF_OPT_BIN$::ARCH] {
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aDllPath [regsub -all "$::PRODUCTS_PATH" $aDllPath "\$\$\{PRODUCTS_PATH\}"]
|
||||
}
|
||||
puts $aFile "LIBS += -L\"${aDllPath}\""
|
||||
}
|
||||
}
|
||||
|
||||
puts $aFile ""
|
||||
close $aFile
|
||||
puts "Configuration saved to file '$aCustomFilePath'"
|
||||
}
|
||||
}
|
||||
|
@@ -237,10 +237,8 @@ proc gendoc {args} {
|
||||
}
|
||||
} elseif {$arg_n == "s"} {
|
||||
if { [ lsearch $args_names "pdf" ] != -1 } {
|
||||
puts "Warning: search is not used with PDF and will be ignored."
|
||||
continue
|
||||
}
|
||||
|
||||
if {$args_values(s) != "NULL"} {
|
||||
set SEARCH_MODE $args_values(s)
|
||||
} else {
|
||||
@@ -249,9 +247,6 @@ proc gendoc {args} {
|
||||
}
|
||||
} elseif {$arg_n == "mathjax"} {
|
||||
if { [ lsearch $args_names "pdf" ] != -1 } {
|
||||
puts "Warning: MathJax is not used with PDF and will be ignored."
|
||||
}
|
||||
|
||||
set possible_mathjax_loc $args_values(mathjax)
|
||||
if {[file exist [file join $possible_mathjax_loc $mathjax_js_name]]} {
|
||||
set MATHJAX_LOCATION $args_values(mathjax)
|
||||
@@ -260,6 +255,9 @@ proc gendoc {args} {
|
||||
puts "Warning: $mathjax_js_name is not found in $possible_mathjax_loc."
|
||||
puts " MathJax will be used from $MATHJAX_LOCATION"
|
||||
}
|
||||
} else {
|
||||
puts "Warning: MathJax is not used with pdf and will be ignored."
|
||||
}
|
||||
} else {
|
||||
puts "\nWrong argument: $arg_n"
|
||||
OCCDoc_PrintHelpMessage
|
||||
@@ -688,17 +686,6 @@ proc OCCDoc_MakeDoxyfile {docType outDir tagFileDir {doxyFileName} {generatorMod
|
||||
# Write specific options
|
||||
if { $docType == "REFMAN" } {
|
||||
|
||||
# always include optional components
|
||||
set aHaveD3dBack ""
|
||||
set aHaveGlesBack ""
|
||||
set aHaveVtkBack ""
|
||||
if { [info exists ::env(HAVE_D3D)] } { set aHaveD3dBack "$::env(HAVE_D3D)" }
|
||||
if { [info exists ::env(HAVE_GLES2)] } { set aHaveGlesBack "$::env(HAVE_GLES2)" }
|
||||
if { [info exists ::env(HAVE_VTK)] } { set aHaveVtkBack "$::env(HAVE_VTK)" }
|
||||
set ::env(HAVE_D3D) "true"
|
||||
set ::env(HAVE_GLES2) "true"
|
||||
set ::env(HAVE_VTK) "true"
|
||||
|
||||
# Load lists of modules scripts
|
||||
if { $productsPath == "" } {
|
||||
set modules_scripts [glob -nocomplain -type f -directory "[OCCDoc_GetSourceDir $productsPath]/OS/" *.tcl]
|
||||
@@ -824,18 +811,12 @@ proc OCCDoc_MakeDoxyfile {docType outDir tagFileDir {doxyFileName} {generatorMod
|
||||
|
||||
puts $doxyFile ""
|
||||
|
||||
# restore environment variables
|
||||
set ::env(HAVE_D3D) "$aHaveD3dBack"
|
||||
set ::env(HAVE_GLES2) "$aHaveGlesBack"
|
||||
set ::env(HAVE_VTK) "$aHaveVtkBack"
|
||||
|
||||
} elseif { $docType == "OVERVIEW" } {
|
||||
|
||||
# Add common options for generation of Overview and User Guides
|
||||
puts $doxyFile "PROJECT_NUMBER = $occt_version"
|
||||
puts $doxyFile "OUTPUT_DIRECTORY = $outDir/."
|
||||
puts $doxyFile "PROJECT_LOGO = [OCCDoc_GetDoxDir]/resources/occ_logo.png"
|
||||
puts $doxyFile "EXAMPLE_PATH = [OCCDoc_GetSourceDir $productsPath]"
|
||||
|
||||
set PARAM_INPUT "INPUT ="
|
||||
set PARAM_IMAGEPATH "IMAGE_PATH = [OCCDoc_GetDoxDir]/resources/ "
|
||||
|
979
adm/genproj.tcl
979
adm/genproj.tcl
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,7 @@
|
||||
# commercial license or contractual agreement.
|
||||
|
||||
# =======================================================================
|
||||
# This script contains auxiliary functions which can be used
|
||||
# This script contains auxilary functions which can be used
|
||||
# in documentation generation process
|
||||
# =======================================================================
|
||||
|
||||
@@ -179,10 +179,8 @@ proc OCCDoc_DetectNecessarySoftware { DOXYGEN_PATH GRAPHVIZ_PATH INKSCAPE_PATH H
|
||||
}
|
||||
if {"$is_win" == "yes"} {
|
||||
set exe ".exe"
|
||||
set com ".com"
|
||||
} else {
|
||||
set exe ""
|
||||
set com ""
|
||||
}
|
||||
|
||||
set g_flag "no"
|
||||
@@ -226,11 +224,11 @@ proc OCCDoc_DetectNecessarySoftware { DOXYGEN_PATH GRAPHVIZ_PATH INKSCAPE_PATH H
|
||||
}
|
||||
}
|
||||
if {$i_flag == "no"} {
|
||||
if { [file exists $path/inkscape$com] } {
|
||||
if { [file exists $path/inkscape$exe] } {
|
||||
catch { exec $path/inkscape -V } version
|
||||
puts "Info: $version "
|
||||
puts " found in $path."
|
||||
set inkscape_path "$path/inkscape$com"
|
||||
set inkscape_path "$path/inkscape$exe"
|
||||
set i_flag "yes"
|
||||
}
|
||||
}
|
||||
@@ -358,30 +356,16 @@ proc OCCDoc_DetectNecessarySoftware { DOXYGEN_PATH GRAPHVIZ_PATH INKSCAPE_PATH H
|
||||
# Convert SVG files to PDF format to allow including them to PDF
|
||||
# (requires InkScape to be in PATH)
|
||||
proc OCCDoc_ProcessSvg {latexDir verboseMode} {
|
||||
set anSvgList [glob -nocomplain $latexDir/*.svg]
|
||||
if { $anSvgList == {} } {
|
||||
return
|
||||
}
|
||||
|
||||
catch { exec inkscape -V } anInkVer
|
||||
set isOldSyntax 0
|
||||
if {[string match "Inkscape 0.*" $anInkVer]} { set isOldSyntax 1 }
|
||||
foreach file $anSvgList {
|
||||
foreach file [glob -nocomplain $latexDir/*.svg] {
|
||||
if {$verboseMode == "YES"} {
|
||||
puts "Info: Converting file $file..."
|
||||
}
|
||||
set pdffile "[file rootname $file].pdf"
|
||||
if { $isOldSyntax == 1 } {
|
||||
if { [catch {exec inkscape -z -D --file=$file --export-pdf=$pdffile} res] } {
|
||||
#puts "Error: $res."
|
||||
return
|
||||
}
|
||||
} else {
|
||||
if { [catch {exec inkscape $file --export-area-drawing --export-type=pdf --export-filename=$pdffile} res] } {
|
||||
#puts "Error: $res."
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -635,7 +619,7 @@ proc OCCDoc_MakeMainPage {outDir outFile modules {theProductsDir ""} } {
|
||||
foreach mod $modules {
|
||||
puts $fd "\\li \\subpage [string tolower $module_prefix$mod]"
|
||||
}
|
||||
# insert modules relationship diagram
|
||||
# insert modules relationship diagramm
|
||||
puts $fd "\\dotfile [OCCDoc_CreateModulesDependencyGraph $outDir/html schema_all_modules $modules $module_prefix]"
|
||||
puts $fd "**/\n"
|
||||
}
|
||||
|
5
adm/qmake/.gitignore
vendored
5
adm/qmake/.gitignore
vendored
@@ -1,5 +0,0 @@
|
||||
/*/*.pro
|
||||
/*/*/*.pro
|
||||
*.pro.user
|
||||
custom.pri
|
||||
custom.auto.pri
|
@@ -1,165 +0,0 @@
|
||||
# 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}
|
@@ -1,42 +0,0 @@
|
||||
# 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}))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,2 +0,0 @@
|
||||
OCC_MODULE_NAME = \$\$TARGET
|
||||
include(../OccModule.pri)
|
@@ -1,166 +0,0 @@
|
||||
# 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}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,2 +0,0 @@
|
||||
OCC_TOOLKIT_NAME = \$\$TARGET
|
||||
include(../../OccToolkit.pri)
|
@@ -1,45 +0,0 @@
|
||||
# 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
|
@@ -1 +0,0 @@
|
||||
#include \"../src/$${OCCT_PACKAGE}/$${OCCT_HEADER}\"
|
@@ -1,17 +0,0 @@
|
||||
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
|
@@ -1,39 +0,0 @@
|
||||
<?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>
|
2
adm/scripts/.gitignore
vendored
2
adm/scripts/.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
*custom.bat
|
||||
*custom.sh
|
@@ -1,269 +0,0 @@
|
||||
@echo OFF
|
||||
|
||||
rem Auxiliary script for semi-automated building of OCCT for Android platform.
|
||||
rem android_custom.bat should be configured with paths
|
||||
rem to CMake, 3rd-parties, Android NDK and MinGW make tool.
|
||||
|
||||
set "aCasSrc=%~dp0..\.."
|
||||
set "aBuildRoot=%aCasSrc%\work"
|
||||
|
||||
set aNbJobs=%NUMBER_OF_PROCESSORS%
|
||||
|
||||
rem Paths to 3rd-party tools and libraries
|
||||
set "anNdkPath="
|
||||
set "aFreeType="
|
||||
set "aRapidJson="
|
||||
set "aDraco="
|
||||
|
||||
rem Build stages to perform
|
||||
set "toCMake=1"
|
||||
set "toClean=0"
|
||||
set "toMake=1"
|
||||
set "toInstall=1"
|
||||
set "toPack=1"
|
||||
set "isStatic=0"
|
||||
|
||||
rem Minimal Android platform and CPU architectures
|
||||
set "anNdkApiLevel=21"
|
||||
set "anNdkAbiList=armeabi-v7a x86 arm64-v8a x86_64"
|
||||
|
||||
rem OCCT Modules to build
|
||||
set "BUILD_ModelingData=ON"
|
||||
set "BUILD_ModelingAlgorithms=ON"
|
||||
set "BUILD_Visualization=ON"
|
||||
set "BUILD_ApplicationFramework=ON"
|
||||
set "BUILD_DataExchange=ON"
|
||||
set "BUILD_DETools=OFF"
|
||||
|
||||
rem Optional 3rd-party libraries to enable
|
||||
set "USE_FREETYPE=ON"
|
||||
set "USE_RAPIDJSON=OFF"
|
||||
set "USE_DRACO=OFF"
|
||||
|
||||
rem Archive tool
|
||||
set "THE_7Z_PARAMS=-t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on"
|
||||
set "THE_7Z_PATH=%ProgramW6432%\7-Zip\7z.exe"
|
||||
|
||||
rem Configuration file
|
||||
if exist "%~dp0android_custom.bat" call "%~dp0android_custom.bat"
|
||||
|
||||
set "aCompiler=gcc"
|
||||
set "aCppLib=gnustl_shared"
|
||||
if not exist "%anNdkPath%/sources/cxx-stl/gnu-libstdc++" (
|
||||
if exist "%anNdkPath%/sources/cxx-stl/llvm-libc++" (
|
||||
set "aCompiler=clang"
|
||||
set "aCppLib=c++_shared"
|
||||
)
|
||||
)
|
||||
set "aLibType=Shared"
|
||||
if ["%isStatic%"] == ["1"] set "aLibType=Static"
|
||||
set "aDestDir=%aBuildRoot%\android-%aCompiler%"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aDestDir%"
|
||||
)
|
||||
)
|
||||
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
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 (
|
||||
call :cmakeGenerate "%anNdkApiLevel%" "%%s"
|
||||
if errorlevel 1 (
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
|
||||
for /F "skip=1 delims=" %%F in ('
|
||||
wmic PATH Win32_LocalTime GET Day^,Month^,Year /FORMAT:TABLE
|
||||
') do (
|
||||
for /F "tokens=1-3" %%L in ("%%F") do (
|
||||
set DAY00=0%%L
|
||||
set MONTH00=0%%M
|
||||
set YEAR=%%N
|
||||
)
|
||||
)
|
||||
set DAY00=%DAY00:~-2%
|
||||
set MONTH00=%MONTH00:~-2%
|
||||
set "aRevision=-%YEAR%-%MONTH00%-%DAY00%"
|
||||
rem set "aRevision=-%aGitBranch%"
|
||||
set "anArchName=occt-%anOcctVersion%%anOcctVerSuffix%%aRevision%-android"
|
||||
set "aTarget=%aBuildRoot%\%anArchName%"
|
||||
if ["%toPack%"] == ["1"] (
|
||||
echo Creating archive %anArchName%.7z
|
||||
rmdir /S /Q "%aTarget%"
|
||||
if not exist "%aTarget%" ( mkdir "%aTarget%" )
|
||||
if exist "%aBuildRoot%/%anArchName%.7z" del "%aBuildRoot%/%anArchName%.7z"
|
||||
xcopy /S /Y "%aDestDir%\*" "%aTarget%\"
|
||||
|
||||
"%THE_7Z_PATH%" a -r %THE_7Z_PARAMS% "%aBuildRoot%/%anArchName%.7z" "%aTarget%"
|
||||
)
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
|
||||
goto :eof
|
||||
|
||||
:cmakeGenerate
|
||||
set "anApi=%~1"
|
||||
set "anAbi=%~2"
|
||||
if ["%anApi%"] == [""] (
|
||||
set "anApi=21"
|
||||
if ["%anAbi%"] == ["armeabi-v7a"] ( set "anApi=16" )
|
||||
if ["%anAbi%"] == ["x86"] ( set "anApi=16" )
|
||||
)
|
||||
set "aPlatformAndCompiler=android-%anAbi%-%aCompiler%"
|
||||
set "aWorkDir=%aBuildRoot%\%aPlatformAndCompiler%-make"
|
||||
set "aLogFile=%aBuildRoot%\build-%aPlatformAndCompiler%.log"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aWorkDir%"
|
||||
)
|
||||
)
|
||||
if not exist "%aWorkDir%" ( mkdir "%aWorkDir%" )
|
||||
if exist "%aLogFile%" ( del "%aLogFile%" )
|
||||
|
||||
rem include some information about OCCT into archive
|
||||
echo ^<pre^>> "%aWorkDir%\VERSION.html"
|
||||
git status >> "%aWorkDir%\VERSION.html"
|
||||
git log -n 100 >> "%aWorkDir%\VERSION.html"
|
||||
echo ^</pre^>>> "%aWorkDir%\VERSION.html"
|
||||
|
||||
echo Start building OCCT for %aPlatformAndCompiler%
|
||||
echo Start building OCCT for %aPlatformAndCompiler%, API level %anApi%>> %aLogFile%
|
||||
|
||||
pushd "%aWorkDir%"
|
||||
|
||||
set "aFreeTypeLibName=libfreetype.so"
|
||||
if exist "%aFreeType%/libs/%anAbi%/libfreetype.a" ( set "aFreeTypeLibName=libfreetype.a" )
|
||||
|
||||
set "aTimeZERO=%TIME%"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Configuring OCCT for Android %anAbi%, API level %anApi%...
|
||||
cmake -G "MinGW Makefiles" ^
|
||||
-D CMAKE_SYSTEM_NAME:STRING="Android" ^
|
||||
-D CMAKE_ANDROID_NDK="%anNdkPath%" ^
|
||||
-D CMAKE_BUILD_TYPE:STRING="Release" ^
|
||||
-D CMAKE_ANDROID_ARCH_ABI:STRING="%anAbi%" ^
|
||||
-D CMAKE_SYSTEM_VERSION:STRING="%anApi%" ^
|
||||
-D CMAKE_ANDROID_STL_TYPE="%aCppLib%" ^
|
||||
-D BUILD_LIBRARY_TYPE:STRING="%aLibType%" ^
|
||||
-D INSTALL_DIR:PATH="%aDestDir%" ^
|
||||
-D INSTALL_DIR_INCLUDE:STRING="inc" ^
|
||||
-D INSTALL_DIR_LIB:STRING="libs/%anAbi%" ^
|
||||
-D INSTALL_DIR_CMAKE:STRING="libs/%anAbi%/cmake/opencascade" ^
|
||||
-D INSTALL_DIR_RESOURCE:STRING="src" ^
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL="ON" ^
|
||||
-D BUILD_MODULE_ModelingData:BOOL="%BUILD_ModelingData%" ^
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL="%BUILD_ModelingAlgorithms%" ^
|
||||
-D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
|
||||
-D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
|
||||
-D BUILD_MODULE_DETools:BOOL="OFF" ^
|
||||
-D BUILD_MODULE_Draw:BOOL="OFF" ^
|
||||
-D BUILD_DOC_Overview:BOOL="OFF" ^
|
||||
-D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="%aFreeType%" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="%aFreeType%/include" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="%aFreeType%/include" ^
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY_DIR:PATH="%aFreeType%/libs/%anAbi%" ^
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY:FILEPATH="%aFreeType%/libs/%anAbi%/%aFreeTypeLibName%" ^
|
||||
-D USE_RAPIDJSON:BOOL="%USE_RAPIDJSON%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_DIR:PATH="%aRapidJson%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_INCLUDE_DIR:PATH="%aRapidJson%/include" ^
|
||||
-D USE_DRACO:BOOL="%USE_DRACO%" ^
|
||||
-D 3RDPARTY_DRACO_DIR:PATH="%aDraco%" ^
|
||||
-D 3RDPARTY_DRACO_INCLUDE_DIR:FILEPATH="%aDraco%/include" ^
|
||||
-D 3RDPARTY_DRACO_LIBRARY_DIR_draco:PATH="%aDraco%/libs/%anAbi%" ^
|
||||
"%aCasSrc%"
|
||||
|
||||
if errorlevel 1 (
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
set "aTimeGEN=%TIME%"
|
||||
call :computeDuration %aTimeZERO% %aTimeGEN%
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Generation time: %DURATION%
|
||||
echo Generation time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toClean%"] == ["1"] (
|
||||
mingw32-make clean
|
||||
)
|
||||
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building...
|
||||
mingw32-make -j %aNbJobs% 2>> "%aLogFile%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFile%"
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
type "%aLogFile%"
|
||||
)
|
||||
set "aTimeBUILD=%TIME%"
|
||||
call :computeDuration %aTimeGEN% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building time: %DURATION%
|
||||
echo Building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
call :computeDuration %aTimeZERO% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Total building time: %DURATION%
|
||||
echo Total building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Installing into %aDestDir%...
|
||||
mingw32-make install 2>> "%aLogFile%"
|
||||
copy /Y "%aWorkDir%\VERSION.html" "%aDestDir%\VERSION.html"
|
||||
)
|
||||
set "aTimeINSTALL=%TIME%"
|
||||
call :computeDuration "%aTimeBUILD%" "%aTimeINSTALL%"
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Install time: %DURATION%
|
||||
echo Install time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
call :computeDuration "%aTimeZERO%" "%aTimeINSTALL%"
|
||||
echo Total time: %DURATION%
|
||||
echo Total time: %DURATION%>> "%aLogFile%"
|
||||
|
||||
popd
|
||||
goto :eof
|
||||
|
||||
:computeDuration
|
||||
set "aTimeFrom=%~1"
|
||||
set "aTimeEnd=%~2"
|
||||
rem handle time before 10AM (win10 - remove empty space at the beginning)
|
||||
if "%aTimeFrom:~0,1%"==" " set "aTimeFrom=%aTimeFrom:~1%"
|
||||
if "%aTimeEnd:~0,1%"==" " set "aTimeEnd=%aTimeEnd:~1%"
|
||||
rem handle time before 10AM (win7 - add 0 at the beginning)
|
||||
if "%aTimeFrom:~1,1%"==":" set "aTimeFrom=0%aTimeFrom%"
|
||||
if "%aTimeEnd:~1,1%"==":" set "aTimeEnd=0%aTimeEnd%"
|
||||
rem convert hours:minutes:seconds:ms into duration
|
||||
set /A aTimeFrom=(1%aTimeFrom:~0,2%-100)*360000 + (1%aTimeFrom:~3,2%-100)*6000 + (1%aTimeFrom:~6,2%-100)*100 + (1%aTimeFrom:~9,2%-100)
|
||||
set /A aTimeEnd= (1%aTimeEnd:~0,2%-100)*360000 + (1%aTimeEnd:~3,2%-100)*6000 + (1%aTimeEnd:~6,2%-100)*100 + (1%aTimeEnd:~9,2%-100)
|
||||
set /A aDurTotalSec=%aTimeEnd%-%aTimeFrom%
|
||||
if %aTimeEnd% LSS %aTimeFrom% set set /A aDurTotalSec=%aTimeFrom%-%aTimeEnd%
|
||||
set /A aDurHH=%aDurTotalSec% / 360000
|
||||
set /A aDurMM=(%aDurTotalSec% - %aDurHH%*360000) / 6000
|
||||
set /A aDurSS=(%aDurTotalSec% - %aDurHH%*360000 - %aDurMM%*6000) / 100
|
||||
if %aDurHH% LSS 10 set aDurHH=0%aDurHH%
|
||||
if %aDurMM% LSS 10 set aDurMM=0%aDurMM%
|
||||
if %aDurSS% LSS 10 set aDurSS=0%aDurSS%
|
||||
|
||||
set "DURATION=%aDurHH%:%aDurMM%:%aDurSS%"
|
||||
goto :eof
|
@@ -1,34 +0,0 @@
|
||||
rem Environment configuration template for android_build.bat (to be renamed as android_custom.bat)
|
||||
|
||||
rem Paths to 3rd-party tools and libraries
|
||||
rem call c:\TDM-GCC-64\mingwvars.bat
|
||||
rem set "PATH=c:\CMake\bin;%PATH%"
|
||||
rem set "anNdkPath=c:/android-ndk-r12"
|
||||
rem set "aFreeType=c:/freetype-2.7.1-android"
|
||||
rem set "aRapidJson=c:/rapidjson-1.1.0"
|
||||
rem set "aDraco=c:/draco-1.4.1-android"
|
||||
|
||||
rem Uncomment to customize building steps
|
||||
rem set "aBuildRoot=%~dp0..\..\work"
|
||||
rem set "toCMake=1"
|
||||
rem set "toClean=0"
|
||||
rem set "toMake=1"
|
||||
rem set "toInstall=1"
|
||||
rem set "toPack=1"
|
||||
rem set "isStatic=0"
|
||||
|
||||
rem Minimal Android platform and CPU architectures
|
||||
rem set "anNdkApiLevel=21"
|
||||
rem set "anNdkAbiList=arm64-v8a x86_64"
|
||||
|
||||
rem OCCT Modules to build
|
||||
rem set "BUILD_ModelingData=ON"
|
||||
rem set "BUILD_ModelingAlgorithms=ON"
|
||||
rem set "BUILD_Visualization=ON"
|
||||
rem set "BUILD_ApplicationFramework=ON"
|
||||
rem set "BUILD_DataExchange=ON"
|
||||
rem set "BUILD_MODULE_DETools=OFF"
|
||||
|
||||
rem Optional 3rd-party libraries to enable
|
||||
rem set "USE_RAPIDJSON=ON"
|
||||
rem set "USE_DRACO=ON"
|
@@ -1,49 +0,0 @@
|
||||
rem Environment configuration template for cmake_gen.bat (to be renamed as cmake_gen_custom.bat)
|
||||
|
||||
set "OCCT3RDPARTY=%SrcRoot%\..\3rdparty"
|
||||
|
||||
set VS=14
|
||||
set VSDATA=2015
|
||||
|
||||
rem Leave VSPLATFORM empty to build for x86 platform
|
||||
set VSPLATFORM=Win64
|
||||
|
||||
rem ------------------------------------
|
||||
rem Uncomment to customize building steps
|
||||
rem ------------------------------------
|
||||
|
||||
rem set "BUILD_DIR=build-vs%VS%-%VSPLATFORM%"
|
||||
rem set "INSTALL_DIR=%SrcRoot%\install"
|
||||
|
||||
rem set BUILD_DOC_Overview=OFF
|
||||
rem set BUILD_Inspector=OFF
|
||||
rem set BUILD_LIBRARY_TYPE=Shared
|
||||
rem set BUILD_RELEASE_DISABLE_EXCEPTIONS=ON
|
||||
rem set BUILD_WITH_DEBUG=OFF
|
||||
rem set BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
|
||||
rem set BUILD_USE_PCH=OFF
|
||||
rem set BUILD_FORCE_RelWithDebInfo=OFF
|
||||
|
||||
rem Use semicolon-separated list of toolkits if you want to disable all modules
|
||||
rem and build only some toolkits.
|
||||
rem set BUILD_ADDITIONAL_TOOLKITS=
|
||||
|
||||
rem Set a directory recognized as a patch for OCCT.
|
||||
rem set BUILD_PATCH=
|
||||
|
||||
rem set BUILD_MODULE_ApplicationFramework=ON
|
||||
rem set BUILD_MODULE_DataExchange=ON
|
||||
rem set BUILD_MODULE_DETools=OFF
|
||||
rem set BUILD_MODULE_Draw=ON
|
||||
rem set BUILD_MODULE_ModelingAlgorithms=ON
|
||||
rem set BUILD_MODULE_ModelingData=ON
|
||||
rem set BUILD_MODULE_Visualization=ON
|
||||
|
||||
rem set USE_D3D=OFF
|
||||
rem set USE_FFMPEG=OFF
|
||||
rem set USE_FREEIMAGE=OFF
|
||||
rem set USE_GLES2=OFF
|
||||
rem set USE_RAPIDJSON=OFF
|
||||
rem set USE_DRACO=OFF
|
||||
rem set USE_TBB=OFF
|
||||
rem set USE_VTK=OFF
|
@@ -1,44 +0,0 @@
|
||||
# Environment configuration template for cmake_gen.sh (to be renamed as cmake_gen_custom.sh)
|
||||
|
||||
OCCT3RDPARTY="$SrcRoot/../3rdparty"
|
||||
FREETYPE_DIR="$OCCT3RDPARTY/freetype-2.7.1"
|
||||
|
||||
# ------------------------------------
|
||||
# Uncomment to customize building steps
|
||||
# ------------------------------------
|
||||
|
||||
#BUILD_DIR=build
|
||||
#INSTALL_DIR="$SrcRoot/install"
|
||||
|
||||
#BUILD_DOC_Overview=OFF
|
||||
#BUILD_Inspector=OFF
|
||||
#BUILD_LIBRARY_TYPE=Shared
|
||||
#BUILD_RELEASE_DISABLE_EXCEPTIONS=ON
|
||||
#BUILD_WITH_DEBUG=OFF
|
||||
#BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
|
||||
|
||||
# Use semicolon-separated list of toolkits if you want to disable all modules
|
||||
# and build only some toolkits.
|
||||
#BUILD_ADDITIONAL_TOOLKITS=
|
||||
|
||||
# Set a directory recognized as a patch for OCCT.
|
||||
#BUILD_PATCH=
|
||||
|
||||
#BUILD_MODULE_ApplicationFramework=ON
|
||||
#BUILD_MODULE_DataExchange=ON
|
||||
#BUILD_MODULE_DETools=OFF
|
||||
#BUILD_MODULE_Draw=ON
|
||||
#BUILD_MODULE_ModelingAlgorithms=ON
|
||||
#BUILD_MODULE_ModelingData=ON
|
||||
#BUILD_MODULE_Visualization=ON
|
||||
|
||||
#USE_FFMPEG=OFF
|
||||
#USE_FREEIMAGE=OFF
|
||||
#USE_GLES2=OFF
|
||||
#USE_RAPIDJSON=OFF
|
||||
#USE_DRACO=OFF
|
||||
#USE_TBB=OFF
|
||||
#USE_VTK=OFF
|
||||
|
||||
# This is to add any additional arguments to cmake
|
||||
#AUX_ARGS=
|
@@ -1,90 +0,0 @@
|
||||
@echo off
|
||||
|
||||
rem Auxiliary script for semi-automated building of OCCT using cmake.
|
||||
rem cmake_custom.bat should be configured with VS version and path to 3rd-parties.
|
||||
rem OCCT3RDPARTY must be specified as mandatory dependency.
|
||||
|
||||
setlocal
|
||||
|
||||
set "SrcRoot=%~dp0..\.."
|
||||
|
||||
set VS=14
|
||||
set VSDATA=2015
|
||||
set VSPLATFORM=Win64
|
||||
set "BUILD_DIR=build-vs%VS%-%VSPLATFORM%"
|
||||
set "OCCT3RDPARTY="
|
||||
set "INSTALL_DIR=%SrcRoot%\install"
|
||||
|
||||
set BUILD_ADDITIONAL_TOOLKITS=
|
||||
set BUILD_DOC_Overview=OFF
|
||||
set BUILD_Inspector=OFF
|
||||
set BUILD_LIBRARY_TYPE=Shared
|
||||
set BUILD_PATCH=
|
||||
set BUILD_RELEASE_DISABLE_EXCEPTIONS=ON
|
||||
set BUILD_WITH_DEBUG=OFF
|
||||
set BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
|
||||
set BUILD_USE_PCH=OFF
|
||||
set BUILD_FORCE_RelWithDebInfo=OFF
|
||||
|
||||
set BUILD_MODULE_ApplicationFramework=ON
|
||||
set BUILD_MODULE_DataExchange=ON
|
||||
set BUILD_MODULE_DETools=OFF
|
||||
set BUILD_MODULE_Draw=ON
|
||||
set BUILD_MODULE_ModelingAlgorithms=ON
|
||||
set BUILD_MODULE_ModelingData=ON
|
||||
set BUILD_MODULE_Visualization=ON
|
||||
|
||||
set USE_D3D=OFF
|
||||
set USE_FFMPEG=OFF
|
||||
set USE_FREEIMAGE=OFF
|
||||
set USE_GLES2=OFF
|
||||
set USE_RAPIDJSON=OFF
|
||||
set USE_DRACO=OFF
|
||||
set USE_TBB=OFF
|
||||
set USE_VTK=OFF
|
||||
|
||||
if exist "%~dp0cmake_custom.bat" call "%~dp0cmake_custom.bat"
|
||||
|
||||
if not "%VSPLATFORM%"=="" set "arch_compile=Visual Studio %VS% %VSDATA% %VSPLATFORM%"
|
||||
if "%VSPLATFORM%"=="" set "arch_compile=Visual Studio %VS% %VSDATA%"
|
||||
|
||||
set "INSTALL_DIR=%INSTALL_DIR:\=/%"
|
||||
set "OCCT3RDPARTY=%OCCT3RDPARTY:\=/%"
|
||||
|
||||
set "BUILD_DIR=%SrcRoot%\%BUILD_DIR%"
|
||||
if not exist "%BUILD_DIR%" mkdir "%BUILD_DIR%"
|
||||
pushd "%BUILD_DIR%"
|
||||
|
||||
cmake -G "%arch_compile%" ^
|
||||
-D 3RDPARTY_DIR:STRING="%OCCT3RDPARTY%" ^
|
||||
-D BUILD_ADDITIONAL_TOOLKITS:STRING="%BUILD_ADDITIONAL_TOOLKITS%" ^
|
||||
-D BUILD_DOC_Overview:BOOL=%BUILD_DOC_Overview% ^
|
||||
-D BUILD_Inspector:BOOL=%BUILD_Inspector% ^
|
||||
-D BUILD_LIBRARY_TYPE:STRING=%BUILD_LIBRARY_TYPE% ^
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL=%BUILD_MODULE_ApplicationFramework% ^
|
||||
-D BUILD_MODULE_DataExchange:BOOL=%BUILD_MODULE_DataExchange% ^
|
||||
-D BUILD_MODULE_DETools:BOOL=%BUILD_MODULE_DETools% ^
|
||||
-D BUILD_MODULE_Draw:BOOL=%BUILD_MODULE_Draw% ^
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL=ON ^
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL=%BUILD_MODULE_ModelingAlgorithms% ^
|
||||
-D BUILD_MODULE_ModelingData:BOOL=%BUILD_MODULE_ModelingData% ^
|
||||
-D BUILD_MODULE_Visualization:BOOL=%BUILD_MODULE_Visualization% ^
|
||||
-D BUILD_PATCH:PATH="%BUILD_PATCH%" ^
|
||||
-D BUILD_RELEASE_DISABLE_EXCEPTIONS:BOOL=%BUILD_RELEASE_DISABLE_EXCEPTIONS% ^
|
||||
-D BUILD_WITH_DEBUG:BOOL=%BUILD_WITH_DEBUG% ^
|
||||
-D BUILD_ENABLE_FPE_SIGNAL_HANDLER:BOOL=%BUILD_ENABLE_FPE_SIGNAL_HANDLER% ^
|
||||
-D BUILD_USE_PCH:BOOL=%BUILD_USE_PCH% ^
|
||||
-D BUILD_FORCE_RelWithDebInfo:BOOL=%BUILD_FORCE_RelWithDebInfo% ^
|
||||
-D INSTALL_DIR:PATH="%INSTALL_DIR%" ^
|
||||
-D USE_D3D:BOOL=%USE_D3D% ^
|
||||
-D USE_FFMPEG:BOOL=%USE_FFMPEG% ^
|
||||
-D USE_FREEIMAGE:BOOL=%USE_FREEIMAGE% ^
|
||||
-D USE_GLES2:BOOL=%USE_GLES2% ^
|
||||
-D USE_RAPIDJSON:BOOL=%USE_RAPIDJSON% ^
|
||||
-D USE_DRACO:BOOL=%USE_DRACO% ^
|
||||
-D USE_TBB:BOOL=%USE_TBB% ^
|
||||
-D USE_VTK:BOOL=%USE_VTK% ^
|
||||
"%SrcRoot%"
|
||||
|
||||
popd
|
||||
endlocal
|
@@ -1,90 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Auxiliary script for semi-automated building of OCCT using cmake.
|
||||
# cmake_custom.sh should be configured with path to 3rd-parties.
|
||||
# OCCT3RDPARTY and FREETYPE_DIR must be specified as mandatory dependencies.
|
||||
|
||||
ScriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
SrcRoot="${ScriptDir}/../.."
|
||||
|
||||
INSTALL_DIR="$SrcRoot/install"
|
||||
|
||||
BUILD_DIR=build
|
||||
DEB=
|
||||
CMAKE_BUILD_TYPE=Release
|
||||
if [ "$1" = "-d" ]; then
|
||||
DEB=d
|
||||
BUILD_DIR=${BUILD_DIR}-deb
|
||||
CMAKE_BUILD_TYPE=Debug
|
||||
fi
|
||||
INSTALL_DIR_BIN=lin64/gcc/bin$DEB
|
||||
INSTALL_DIR_LIB=lin64/gcc/lib$DEB
|
||||
|
||||
BUILD_ADDITIONAL_TOOLKITS=
|
||||
BUILD_DOC_Overview=OFF
|
||||
BUILD_Inspector=OFF
|
||||
BUILD_LIBRARY_TYPE=Shared
|
||||
BUILD_PATCH=
|
||||
BUILD_RELEASE_DISABLE_EXCEPTIONS=ON
|
||||
BUILD_WITH_DEBUG=OFF
|
||||
BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
|
||||
|
||||
BUILD_MODULE_ApplicationFramework=ON
|
||||
BUILD_MODULE_DataExchange=ON
|
||||
BUILD_MODULE_DETools=OFF
|
||||
BUILD_MODULE_Draw=ON
|
||||
BUILD_MODULE_ModelingAlgorithms=ON
|
||||
BUILD_MODULE_ModelingData=ON
|
||||
BUILD_MODULE_Visualization=ON
|
||||
|
||||
USE_FFMPEG=OFF
|
||||
USE_FREEIMAGE=OFF
|
||||
USE_GLES2=OFF
|
||||
USE_RAPIDJSON=OFF
|
||||
USE_DRACO=OFF
|
||||
USE_TBB=OFF
|
||||
USE_VTK=OFF
|
||||
AUX_ARGS=
|
||||
|
||||
if [ -f "${ScriptDir}/cmake_custom.sh" ]; then
|
||||
. "${ScriptDir}/cmake_custom.sh"
|
||||
fi
|
||||
|
||||
BUILD_DIR="$SrcRoot/$BUILD_DIR"
|
||||
if [ ! -d "$BUILD_DIR" ]; then mkdir -p "$BUILD_DIR"; fi
|
||||
pushd "$BUILD_DIR"
|
||||
|
||||
cmake -G "Unix Makefiles" \
|
||||
-D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \
|
||||
-D 3RDPARTY_DIR:PATH="$OCCT3RDPARTY" \
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="$FREETYPE_DIR" \
|
||||
-D BUILD_ADDITIONAL_TOOLKITS:STRING="$BUILD_ADDITIONAL_TOOLKITS" \
|
||||
-D BUILD_DOC_Overview:BOOL=$BUILD_DOC_Overview \
|
||||
-D BUILD_Inspector:BOOL=$BUILD_Inspector \
|
||||
-D BUILD_LIBRARY_TYPE:STRING=$BUILD_LIBRARY_TYPE \
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL=$BUILD_MODULE_ApplicationFramework \
|
||||
-D BUILD_MODULE_DataExchange:BOOL=$BUILD_MODULE_DataExchange \
|
||||
-D BUILD_MODULE_DETools:BOOL=$BUILD_MODULE_DETools \
|
||||
-D BUILD_MODULE_Draw:BOOL=$BUILD_MODULE_Draw \
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL=ON \
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL=$BUILD_MODULE_ModelingAlgorithms \
|
||||
-D BUILD_MODULE_ModelingData:BOOL=$BUILD_MODULE_ModelingData \
|
||||
-D BUILD_MODULE_Visualization:BOOL=$BUILD_MODULE_Visualization \
|
||||
-D BUILD_PATCH:PATH="$BUILD_PATCH" \
|
||||
-D BUILD_RELEASE_DISABLE_EXCEPTIONS:BOOL=$BUILD_RELEASE_DISABLE_EXCEPTIONS \
|
||||
-D BUILD_WITH_DEBUG:BOOL=$BUILD_WITH_DEBUG \
|
||||
-D BUILD_ENABLE_FPE_SIGNAL_HANDLER:BOOL=$BUILD_ENABLE_FPE_SIGNAL_HANDLER \
|
||||
-D INSTALL_DIR:PATH="$INSTALL_DIR" \
|
||||
-D INSTALL_DIR_LAYOUT:STRING=Windows \
|
||||
-D INSTALL_DIR_BIN:STRING=$INSTALL_DIR_BIN \
|
||||
-D INSTALL_DIR_LIB:STRING=$INSTALL_DIR_LIB \
|
||||
-D USE_FFMPEG:BOOL=$USE_FFMPEG \
|
||||
-D USE_FREEIMAGE:BOOL=$USE_FREEIMAGE \
|
||||
-D USE_GLES2:BOOL=$USE_GLES2 \
|
||||
-D USE_RAPIDJSON:BOOL=$USE_RAPIDJSON \
|
||||
-D USE_DRACO:BOOL=$USE_DRACO \
|
||||
-D USE_TBB:BOOL=$USE_TBB \
|
||||
-D USE_VTK:BOOL=$USE_VTK \
|
||||
$AUX_ARGS "$SrcRoot"
|
||||
|
||||
popd
|
@@ -1,269 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Auxiliary script for semi-automated building of OCCT for iOS platform.
|
||||
# macos_custom.sh should be configured with paths to CMake and other 3rd-parties.
|
||||
# FreeType should be specified as mandatory dependency.
|
||||
|
||||
aScriptDir=${BASH_SOURCE%/*}
|
||||
if [ -d "$aScriptDir" ]; then cd "$aScriptDir"; fi
|
||||
aScriptDir="$PWD"
|
||||
|
||||
aCasSrc=${aScriptDir}/../..
|
||||
aNbJobs="$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
export aBuildRoot=work
|
||||
|
||||
# paths to pre-built 3rd-parties
|
||||
export aFreeType=
|
||||
export aFreeImage=
|
||||
export aRapidJson=
|
||||
export aDraco=
|
||||
|
||||
# build stages to perform
|
||||
export isStatic=1
|
||||
export toCMake=1
|
||||
export toClean=1
|
||||
export toMake=1
|
||||
export toInstall=1
|
||||
export toPack=0
|
||||
export toPackFat=0
|
||||
export toDebug=0
|
||||
|
||||
export BUILD_ModelingData=ON
|
||||
export BUILD_ModelingAlgorithms=ON
|
||||
export BUILD_Visualization=ON
|
||||
export BUILD_ApplicationFramework=ON
|
||||
export BUILD_DataExchange=ON
|
||||
export BUILD_DETools=OFF
|
||||
|
||||
export USE_FREETYPE=ON
|
||||
export USE_FREEIMAGE=OFF
|
||||
export USE_RAPIDJSON=OFF
|
||||
export USE_DRACO=OFF
|
||||
|
||||
export IPHONEOS_DEPLOYMENT_TARGET=8.0
|
||||
#export anAbiList="iPhoneOS|arm64 iPhoneSimulator|arm64 iPhoneSimulator|x86_64"
|
||||
export anAbiList="iPhoneOS|arm64"
|
||||
|
||||
if [[ -f "${aScriptDir}/ios_custom.sh" ]]; then
|
||||
source "${aScriptDir}/ios_custom.sh"
|
||||
fi
|
||||
|
||||
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")
|
||||
MONTH=$(date +"%m")
|
||||
DAY=$(date +"%d")
|
||||
aRevision=-${YEAR}-${MONTH}-${DAY}
|
||||
#aRevision=-${aGitBranch}
|
||||
|
||||
set -o pipefail
|
||||
|
||||
aBuildType="Release"
|
||||
aBuildTypePrefix=
|
||||
if [[ $toDebug == 1 ]]; then
|
||||
aBuildType="Debug"
|
||||
aBuildTypePrefix="-debug"
|
||||
fi
|
||||
aLibType="Shared"
|
||||
if [[ $isStatic == 1 ]]; then
|
||||
aLibType="Static"
|
||||
fi
|
||||
|
||||
function buildArch {
|
||||
anAbi=$1
|
||||
aPlatformSdk=$2
|
||||
|
||||
aPlatformAndCompiler=${aPlatformSdk}-${anAbi}${aBuildTypePrefix}-clang
|
||||
|
||||
aWorkDir="${aCasSrc}/${aBuildRoot}/${aPlatformAndCompiler}-make"
|
||||
aDestDir="${aCasSrc}/${aBuildRoot}/${aPlatformAndCompiler}"
|
||||
aLogFile="${aCasSrc}/${aBuildRoot}/build-${aPlatformAndCompiler}.log"
|
||||
|
||||
if [[ $toCMake == 1 ]] && [[ $toClean == 1 ]]; then
|
||||
rm -r -f "$aWorkDir"
|
||||
rm -r -f "$aDestDir"
|
||||
fi
|
||||
mkdir -p "$aWorkDir"
|
||||
mkdir -p "$aDestDir"
|
||||
rm -f "$aLogFile"
|
||||
|
||||
# include some information about OCCT into archive
|
||||
echo \<pre\>> "${aWorkDir}/VERSION.html"
|
||||
git status >> "${aWorkDir}/VERSION.html"
|
||||
git log -n 100 >> "${aWorkDir}/VERSION.html"
|
||||
echo \</pre\>>> "${aWorkDir}/VERSION.html"
|
||||
|
||||
pushd "$aWorkDir"
|
||||
|
||||
aTimeZERO=$SECONDS
|
||||
|
||||
function logDuration {
|
||||
if [[ $1 == 1 ]]; then
|
||||
aDur=$(($4 - $3))
|
||||
echo $2 time: $aDur sec>> "$aLogFile"
|
||||
fi
|
||||
}
|
||||
|
||||
aSysRoot="/Applications/Xcode.app/Contents/Developer/Platforms/${aPlatformSdk}.platform/Developer/SDKs/${aPlatformSdk}.sdk"
|
||||
|
||||
# (re)generate Make files
|
||||
if [[ $toCMake == 1 ]]; then
|
||||
echo Configuring OCCT for iOS...
|
||||
cmake -G "Unix Makefiles" \
|
||||
-D CMAKE_SYSTEM_NAME="iOS" \
|
||||
-D CMAKE_OSX_ARCHITECTURES:STRING="$anAbi" \
|
||||
-D CMAKE_OSX_DEPLOYMENT_TARGET:STRING="$IPHONEOS_DEPLOYMENT_TARGET" \
|
||||
-D CMAKE_OSX_SYSROOT:PATH="$aSysRoot" \
|
||||
-D CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS:BOOL="OFF" \
|
||||
-D CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS:BOOL="OFF" \
|
||||
-D CMAKE_BUILD_TYPE:STRING="$aBuildType" \
|
||||
-D BUILD_LIBRARY_TYPE:STRING="$aLibType" \
|
||||
-D INSTALL_DIR:PATH="$aDestDir" \
|
||||
-D INSTALL_DIR_INCLUDE:STRING="inc" \
|
||||
-D INSTALL_DIR_LIB:STRING="lib" \
|
||||
-D INSTALL_DIR_RESOURCE:STRING="src" \
|
||||
-D INSTALL_NAME_DIR:STRING="@executable_path/../Frameworks" \
|
||||
-D USE_FREETYPE:BOOL="$USE_FREETYPE" \
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="$aFreeType" \
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="$aFreeType/include" \
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="$aFreeType/include" \
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY_DIR:PATH="$aFreeType/lib" \
|
||||
-D USE_RAPIDJSON:BOOL="$USE_RAPIDJSON" \
|
||||
-D 3RDPARTY_RAPIDJSON_DIR:PATH="$aRapidJson" \
|
||||
-D 3RDPARTY_RAPIDJSON_INCLUDE_DIR:PATH="$aRapidJson/include" \
|
||||
-D USE_DRACO:BOOL="$USE_DRACO" \
|
||||
-D 3RDPARTY_DRACO_DIR:PATH="$aDraco" \
|
||||
-D 3RDPARTY_DRACO_INCLUDE_DIR:FILEPATH="$aDraco/include" \
|
||||
-D 3RDPARTY_DRACO_LIBRARY_DIR:PATH="$aDraco/lib" \
|
||||
-D USE_FREEIMAGE:BOOL="$USE_FREEIMAGE" \
|
||||
-D 3RDPARTY_FREEIMAGE_DIR:PATH="$aFreeImage" \
|
||||
-D 3RDPARTY_FREEIMAGE_INCLUDE_DIR:FILEPATH="$aFreeImage/include" \
|
||||
-D 3RDPARTY_FREEIMAGE_LIBRARY_DIR:PATH="$aFreeImage/lib" \
|
||||
-D 3RDPARTY_FREEIMAGE_LIBRARY:FILEPATH="$aFreeImage/lib/libfreeimage.a" \
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL="ON" \
|
||||
-D BUILD_MODULE_ModelingData:BOOL="${BUILD_ModelingData}" \
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL="${BUILD_ModelingAlgorithms}" \
|
||||
-D BUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
|
||||
-D BUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
|
||||
-D BUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
|
||||
-D BUILD_MODULE_Draw:BOOL="OFF" \
|
||||
-D BUILD_DOC_Overview:BOOL="OFF" \
|
||||
"$aCasSrc" 2>&1 | tee -a "$aLogFile"
|
||||
aResult=$?; if [[ $aResult != 0 ]]; then exit $aResult; fi
|
||||
fi
|
||||
aTimeGEN=$SECONDS
|
||||
logDuration $toCMake "Generation" $aTimeZERO $aTimeGEN
|
||||
|
||||
# clean up from previous build
|
||||
if [[ $toClean == 1 ]]; then
|
||||
make clean
|
||||
fi
|
||||
|
||||
# build the project
|
||||
if [[ $toMake == 1 ]]; then
|
||||
echo Building...
|
||||
make -j $aNbJobs 2>&1 | tee -a "$aLogFile"
|
||||
aResult=$?; if [[ $aResult != 0 ]]; then exit $aResult; fi
|
||||
fi
|
||||
aTimeBUILD=$SECONDS
|
||||
logDuration $toMake "Building" $aTimeGEN $aTimeBUILD
|
||||
logDuration $toMake "Total building" $aTimeZERO $aTimeBUILD
|
||||
|
||||
# install the project
|
||||
if [[ $toInstall == 1 ]]; then
|
||||
echo Installing OCCT into $aDestDir...
|
||||
make install 2>&1 | tee -a "$aLogFile"
|
||||
cp -f "$aWorkDir/VERSION.html" "$aDestDir/VERSION.html"
|
||||
echo Platform: ${aPlatformSdk} ABI: ${anAbi} Build: ${aBuildType} IPHONEOS_DEPLOYMENT_TARGET: ${IPHONEOS_DEPLOYMENT_TARGET} > "$aDestDir/build_target.txt"
|
||||
fi
|
||||
aTimeINSTALL=$SECONDS
|
||||
logDuration $toInstall "Install" $aTimeBUILD $aTimeINSTALL
|
||||
|
||||
# create an archive
|
||||
if [[ $toPack == 1 ]]; then
|
||||
anArchName=occt-${anOcctVersion}${anOcctVerSuffix}${aRevision}-${aPlatformAndCompiler}.tar.bz2
|
||||
echo Creating an archive ${aCasSrc}/${aBuildRoot}/${anArchName}...
|
||||
rm ${aDestDir}/../${anArchName} &>/dev/null
|
||||
pushd "$aDestDir"
|
||||
tar -jcf ${aDestDir}/../${anArchName} *
|
||||
popd
|
||||
fi
|
||||
aTimePACK=$SECONDS
|
||||
logDuration $toPack "Packing archive" $aTimeINSTALL $aTimePACK
|
||||
|
||||
# finished
|
||||
DURATION=$(($aTimePACK - $aTimeZERO))
|
||||
echo Total time: $DURATION sec
|
||||
logDuration 1 "Total" $aTimeZERO $aTimePACK
|
||||
|
||||
popd
|
||||
}
|
||||
|
||||
for anArchIter in $anAbiList
|
||||
do
|
||||
IFS="|" read -r aPlatform anArch <<< "$anArchIter"
|
||||
echo Platform: ${aPlatform} ABI: ${anArch} Build: ${aBuildType}
|
||||
buildArch $anArch $aPlatform
|
||||
done
|
||||
|
||||
# create a FAT archive
|
||||
if [[ $toPackFat == 1 ]]; then
|
||||
for aPlatIter in iPhoneOS iPhoneSimulator
|
||||
do
|
||||
aSuffixFat=${aPlatIter}${aBuildTypePrefix}-clang
|
||||
aFatDir="${aCasSrc}/${aBuildRoot}/${aSuffixFat}"
|
||||
|
||||
# merge per-arch builds into fat builds
|
||||
hasPlatform=0
|
||||
for anArchIter in $anAbiList
|
||||
do
|
||||
IFS="|" read -r aPlatform anArch <<< "$anArchIter"
|
||||
if [[ $aPlatIter != ${aPlatform} ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
aSuffixThin=${aPlatform}-${anArch}${aBuildTypePrefix}-clang
|
||||
anArchDir="${aCasSrc}/${aBuildRoot}/${aSuffixThin}"
|
||||
if [[ $hasPlatform == 0 ]]; then
|
||||
hasPlatform=1
|
||||
echo Packing FAT archive for platform: ${aPlatform}
|
||||
rm -r -f "$aFatDir"
|
||||
mkdir -p "$aFatDir"
|
||||
rsync -r --exclude '*.a' "$anArchDir/" "$aFatDir"
|
||||
rm -f "$aFatDir/build_target.txt"
|
||||
for aLibIter in $anArchDir/lib/*.a; do
|
||||
aLibName=`basename $aLibIter`
|
||||
lipo "$anArchDir/lib/$aLibName" -output "$aFatDir/lib/$aLibName" -create
|
||||
done
|
||||
else
|
||||
for aLibIter in $aFatDir/lib/*.a; do
|
||||
aLibName=`basename $aLibIter`
|
||||
lipo "$aFatDir/lib/$aLibName" "$anArchDir/lib/$aLibName" -output "$aFatDir/lib/$aLibName" -create
|
||||
#lipo -info "$aFatDir/lib/$aLibName"
|
||||
done
|
||||
fi
|
||||
cat "$anArchDir/build_target.txt" >> "$aFatDir/build_target.txt"
|
||||
done
|
||||
|
||||
# create an archive
|
||||
for anArchIter in $anAbiList
|
||||
do
|
||||
IFS="|" read -r aPlatform anArch <<< "$anArchIter"
|
||||
if [[ $aPlatIter != ${aPlatform} ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
anArchName=occt-${anOcctVersion}${anOcctVerSuffix}${aRevision}-${aSuffixFat}.tar.bz2
|
||||
echo Creating an archive ${aCasSrc}/${aBuildRoot}/${anArchName}...
|
||||
rm ${aFatDir}/../${anArchName} &>/dev/null
|
||||
pushd "$aFatDir"
|
||||
tar -jcf ${aFatDir}/../${anArchName} *
|
||||
popd
|
||||
break
|
||||
done
|
||||
done
|
||||
fi
|
@@ -1,31 +0,0 @@
|
||||
# environment configuration template for ios_build.sh (to be renamed as ios_custom_env.sh)
|
||||
export PATH=/Applications/CMake.app/Contents/bin:$PATH
|
||||
export aFreeType="$aSrcRoot/../3rdparty/freetype-2.10.4-ios"
|
||||
export aFreeImage="$aSrcRoot/../3rdparty/freeimage-3.18-ios"
|
||||
export aRapidJson="$aSrcRoot/../3rdparty/rapidjson-1.1.0"
|
||||
export aDraco="$aSrcRoot/../3rdparty/draco-1.4.1-ios"
|
||||
|
||||
# Uncomment to customize building steps
|
||||
#export isStatic=0
|
||||
#export toCMake=1
|
||||
#export toClean=1
|
||||
#export toMake=1
|
||||
#export toInstall=1
|
||||
#export toPack=0
|
||||
#export toPackFat=1
|
||||
#export toDebug=0
|
||||
|
||||
#export BUILD_ModelingData=ON
|
||||
#export BUILD_ModelingAlgorithms=ON
|
||||
#export BUILD_Visualization=ON
|
||||
#export BUILD_ApplicationFramework=ON
|
||||
#export BUILD_DataExchange=ON
|
||||
#export BUILD_DETools=OFF
|
||||
|
||||
#export USE_RAPIDJSON=ON
|
||||
#export USE_DRACO=ON
|
||||
#export USE_FREEIMAGE=ON
|
||||
|
||||
#export IPHONEOS_DEPLOYMENT_TARGET=8.0
|
||||
#export anAbiList="iPhoneOS|arm64 iPhoneSimulator|arm64 iPhoneSimulator|x86_64"
|
||||
#export anAbiList="iPhoneOS|arm64"
|
@@ -1,270 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Auxiliary script for semi-automated building of OCCT for macOS platform.
|
||||
# macos_custom.sh should be configured with paths to CMake and other 3rd-parties.
|
||||
# FreeType should be specified as mandatory dependency.
|
||||
|
||||
aScriptDir=${BASH_SOURCE%/*}
|
||||
if [ -d "$aScriptDir" ]; then cd "$aScriptDir"; fi
|
||||
aScriptDir="$PWD"
|
||||
|
||||
aCasSrc=${aScriptDir}/../..
|
||||
aNbJobs="$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
export aBuildRoot=work
|
||||
|
||||
# paths to pre-built 3rd-parties
|
||||
export aFreeType=
|
||||
export aFreeImage=
|
||||
export aRapidJson=
|
||||
export aDraco=
|
||||
|
||||
# build stages to perform
|
||||
export isStatic=0
|
||||
export toCMake=1
|
||||
export toClean=1
|
||||
export toMake=1
|
||||
export toInstall=1
|
||||
export toPack=0
|
||||
export toPackFat=0
|
||||
export toDebug=0
|
||||
|
||||
export BUILD_ModelingData=ON
|
||||
export BUILD_ModelingAlgorithms=ON
|
||||
export BUILD_Visualization=ON
|
||||
export BUILD_ApplicationFramework=ON
|
||||
export BUILD_DataExchange=ON
|
||||
export BUILD_DETools=OFF
|
||||
export BUILD_Draw=ON
|
||||
|
||||
export USE_FREETYPE=ON
|
||||
export USE_FREEIMAGE=ON
|
||||
export USE_RAPIDJSON=OFF
|
||||
export USE_DRACO=OFF
|
||||
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.10
|
||||
#export anAbiList="arm64 x86_64"
|
||||
export anAbiList="x86_64"
|
||||
aPlatform="macos"
|
||||
|
||||
if [[ -f "${aScriptDir}/macos_custom.sh" ]]; then
|
||||
source "${aScriptDir}/macos_custom.sh"
|
||||
fi
|
||||
|
||||
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")
|
||||
MONTH=$(date +"%m")
|
||||
DAY=$(date +"%d")
|
||||
aRevision=-${YEAR}-${MONTH}-${DAY}
|
||||
#aRevision=-${aGitBranch}
|
||||
|
||||
set -o pipefail
|
||||
|
||||
aBuildType="Release"
|
||||
aBuildTypePrefix=
|
||||
if [[ $toDebug == 1 ]]; then
|
||||
aBuildType="Debug"
|
||||
aBuildTypePrefix="-debug"
|
||||
fi
|
||||
aLibType="Shared"
|
||||
aLibExt="dylib"
|
||||
if [[ $isStatic == 1 ]]; then
|
||||
aLibType="Static"
|
||||
aLibExt="a"
|
||||
fi
|
||||
|
||||
function buildArch {
|
||||
anAbi=$1
|
||||
|
||||
aPlatformAndCompiler=${aPlatform}-${anAbi}${aBuildTypePrefix}-clang
|
||||
|
||||
aWorkDir="${aCasSrc}/${aBuildRoot}/${aPlatformAndCompiler}-make"
|
||||
aDestDir="${aCasSrc}/${aBuildRoot}/${aPlatformAndCompiler}"
|
||||
aLogFile="${aCasSrc}/${aBuildRoot}/build-${aPlatformAndCompiler}.log"
|
||||
|
||||
if [[ $toCMake == 1 ]] && [[ $toClean == 1 ]]; then
|
||||
rm -r -f "$aWorkDir"
|
||||
rm -r -f "$aDestDir"
|
||||
fi
|
||||
mkdir -p "$aWorkDir"
|
||||
mkdir -p "$aDestDir"
|
||||
rm -f "$aLogFile"
|
||||
|
||||
# include some information about OCCT into archive
|
||||
echo \<pre\>> "${aWorkDir}/VERSION.html"
|
||||
git status >> "${aWorkDir}/VERSION.html"
|
||||
git log -n 100 >> "${aWorkDir}/VERSION.html"
|
||||
echo \</pre\>>> "${aWorkDir}/VERSION.html"
|
||||
|
||||
pushd "$aWorkDir"
|
||||
|
||||
aTimeZERO=$SECONDS
|
||||
|
||||
function logDuration {
|
||||
if [[ $1 == 1 ]]; then
|
||||
aDur=$(($4 - $3))
|
||||
echo $2 time: $aDur sec>> "$aLogFile"
|
||||
fi
|
||||
}
|
||||
|
||||
# (re)generate Make files
|
||||
if [[ $toCMake == 1 ]]; then
|
||||
echo Configuring OCCT for macOS...
|
||||
cmake -G "Unix Makefiles" \
|
||||
-D CMAKE_OSX_ARCHITECTURES:STRING="$anAbi" \
|
||||
-D CMAKE_BUILD_TYPE:STRING="$aBuildType" \
|
||||
-D BUILD_LIBRARY_TYPE:STRING="$aLibType" \
|
||||
-D INSTALL_DIR:PATH="$aDestDir" \
|
||||
-D INSTALL_DIR_INCLUDE:STRING="inc" \
|
||||
-D INSTALL_DIR_LIB:STRING="lib" \
|
||||
-D INSTALL_DIR_RESOURCE:STRING="src" \
|
||||
-D INSTALL_NAME_DIR:STRING="@executable_path/../Frameworks" \
|
||||
-D USE_FREETYPE:BOOL="$USE_FREETYPE" \
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="$aFreeType" \
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="$aFreeType/include" \
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="$aFreeType/include" \
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY_DIR:PATH="$aFreeType/lib" \
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY:FILEPATH="$aFreeType/lib/libfreetype.dylib" \
|
||||
-D USE_RAPIDJSON:BOOL="$USE_RAPIDJSON" \
|
||||
-D 3RDPARTY_RAPIDJSON_DIR:PATH="$aRapidJson" \
|
||||
-D 3RDPARTY_RAPIDJSON_INCLUDE_DIR:PATH="$aRapidJson/include" \
|
||||
-D USE_DRACO:BOOL="$USE_DRACO" \
|
||||
-D 3RDPARTY_DRACO_DIR:PATH="$aDraco" \
|
||||
-D 3RDPARTY_DRACO_INCLUDE_DIR:FILEPATH="$aDraco/include" \
|
||||
-D 3RDPARTY_DRACO_LIBRARY_DIR:PATH="$aDraco/lib" \
|
||||
-D USE_FREEIMAGE:BOOL="$USE_FREEIMAGE" \
|
||||
-D 3RDPARTY_FREEIMAGE_DIR:PATH="$aFreeImage" \
|
||||
-D 3RDPARTY_FREEIMAGE_INCLUDE_DIR:FILEPATH="$aFreeImage/include" \
|
||||
-D 3RDPARTY_FREEIMAGE_LIBRARY_DIR:PATH="$aFreeImage/lib" \
|
||||
-D 3RDPARTY_FREEIMAGE_LIBRARY:FILEPATH="$aFreeImage/lib/libfreeimage.a" \
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL="ON" \
|
||||
-D BUILD_MODULE_ModelingData:BOOL="${BUILD_ModelingData}" \
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL="${BUILD_ModelingAlgorithms}" \
|
||||
-D BUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
|
||||
-D BUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
|
||||
-D BUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
|
||||
-D BUILD_MODULE_Draw:BOOL="${BUILD_Draw}" \
|
||||
-D BUILD_DOC_Overview:BOOL="OFF" \
|
||||
"$aCasSrc" 2>&1 | tee -a "$aLogFile"
|
||||
aResult=$?; if [[ $aResult != 0 ]]; then exit $aResult; fi
|
||||
fi
|
||||
aTimeGEN=$SECONDS
|
||||
logDuration $toCMake "Generation" $aTimeZERO $aTimeGEN
|
||||
|
||||
# clean up from previous build
|
||||
if [[ $toClean == 1 ]]; then
|
||||
make clean
|
||||
fi
|
||||
|
||||
# build the project
|
||||
if [[ $toMake == 1 ]]; then
|
||||
echo Building OCCT...
|
||||
make -j $aNbJobs 2>&1 | tee -a "$aLogFile"
|
||||
aResult=$?; if [[ $aResult != 0 ]]; then exit $aResult; fi
|
||||
fi
|
||||
aTimeBUILD=$SECONDS
|
||||
logDuration $toMake "Building" $aTimeGEN $aTimeBUILD
|
||||
logDuration $toMake "Total building" $aTimeZERO $aTimeBUILD
|
||||
|
||||
# install the project
|
||||
if [[ $toInstall == 1 ]]; then
|
||||
echo Installing OCCT into $aDestDir...
|
||||
make install 2>&1 | tee -a "$aLogFile"
|
||||
cp -f "$aWorkDir/VERSION.html" "$aDestDir/VERSION.html"
|
||||
echo Platform: macOS ABI: ${anAbi} Build: ${aBuildType} MACOSX_DEPLOYMENT_TARGET: ${MACOSX_DEPLOYMENT_TARGET} > "$aDestDir/build_target.txt"
|
||||
fi
|
||||
aTimeINSTALL=$SECONDS
|
||||
logDuration $toInstall "Install" $aTimeBUILD $aTimeINSTALL
|
||||
|
||||
# create an archive
|
||||
if [[ $toPack == 1 ]]; then
|
||||
anArchName=occt-${anOcctVersion}${anOcctVerSuffix}${aRevision}-${aPlatformAndCompiler}.tar.bz2
|
||||
echo Creating an archive ${aCasSrc}/${aBuildRoot}/${anArchName}...
|
||||
rm ${aDestDir}/../${anArchName} &>/dev/null
|
||||
pushd "$aDestDir"
|
||||
tar -jcf ${aDestDir}/../${anArchName} *
|
||||
popd
|
||||
fi
|
||||
aTimePACK=$SECONDS
|
||||
logDuration $toPack "Packing archive" $aTimeINSTALL $aTimePACK
|
||||
|
||||
# finished
|
||||
DURATION=$(($aTimePACK - $aTimeZERO))
|
||||
echo Total time: $DURATION sec
|
||||
logDuration 1 "Total" $aTimeZERO $aTimePACK
|
||||
|
||||
popd
|
||||
}
|
||||
|
||||
for anArchIter in $anAbiList
|
||||
do
|
||||
echo Platform: macOS ABI: ${anArchIter} Build: ${aBuildType}
|
||||
buildArch $anArchIter
|
||||
done
|
||||
|
||||
# create a FAT archive
|
||||
if [[ $toPackFat == 1 ]]; then
|
||||
aSuffixFat=${aPlatform}${aBuildTypePrefix}-clang
|
||||
aFatDir="${aCasSrc}/${aBuildRoot}/${aSuffixFat}"
|
||||
|
||||
# merge per-arch builds into fat builds
|
||||
hasPlatform=0
|
||||
for anArchIter in $anAbiList
|
||||
do
|
||||
aSuffixThin=${aPlatform}-${anArchIter}${aBuildTypePrefix}-clang
|
||||
anArchDir="${aCasSrc}/${aBuildRoot}/${aSuffixThin}"
|
||||
if [[ $hasPlatform == 0 ]]; then
|
||||
hasPlatform=1
|
||||
echo Packing FAT archive
|
||||
rm -r -f "$aFatDir"
|
||||
mkdir -p "$aFatDir"
|
||||
if [[ $isStatic == 1 ]]; then
|
||||
rsync -r -l --exclude '*.a' "$anArchDir/" "$aFatDir"
|
||||
else
|
||||
rsync -r -l --exclude '*.dylib' "$anArchDir/" "$aFatDir"
|
||||
fi
|
||||
rm -f "$aFatDir/build_target.txt"
|
||||
|
||||
if [[ -L "$anArchDir/bin/DRAWEXE" ]]; then
|
||||
aDrawExe=$(readlink "$anArchDir/bin/DRAWEXE")
|
||||
rm $aFatDir/bin/$aDrawExe
|
||||
lipo "$anArchDir/bin/$aDrawExe" -output "$aFatDir/bin/$aDrawExe" -create
|
||||
fi
|
||||
|
||||
for aLibIter in $anArchDir/lib/*.$aLibExt; do
|
||||
aLibName=`basename $aLibIter`
|
||||
if [[ -L "$anArchDir/lib/$aLibName" ]]; then
|
||||
cp -a "$anArchDir/lib/$aLibName" "$aFatDir/lib/"
|
||||
else
|
||||
lipo "$anArchDir/lib/$aLibName" -output "$aFatDir/lib/$aLibName" -create
|
||||
fi
|
||||
done
|
||||
else
|
||||
if [[ -L "$anArchDir/bin/DRAWEXE" ]]; then
|
||||
aDrawExe=$(readlink "$anArchDir/bin/DRAWEXE")
|
||||
lipo "$aFatDir/bin/$aDrawExe" "$anArchDir/bin/$aDrawExe" -output "$aFatDir/bin/$aDrawExe" -create
|
||||
fi
|
||||
|
||||
for aLibIter in $aFatDir/lib/*.$aLibExt; do
|
||||
aLibName=`basename $aLibIter`
|
||||
if [[ ! -L "$anArchDir/lib/$aLibName" ]]; then
|
||||
lipo "$aFatDir/lib/$aLibName" "$anArchDir/lib/$aLibName" -output "$aFatDir/lib/$aLibName" -create
|
||||
#lipo -info "$aFatDir/lib/$aLibName"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
cat "$anArchDir/build_target.txt" >> "$aFatDir/build_target.txt"
|
||||
done
|
||||
|
||||
# create an archive
|
||||
anArchName=occt-${anOcctVersion}${anOcctVerSuffix}${aRevision}-${aSuffixFat}.tar.bz2
|
||||
echo Creating an archive ${aCasSrc}/${aBuildRoot}/${anArchName}...
|
||||
rm ${aFatDir}/../${anArchName} &>/dev/null
|
||||
pushd "$aFatDir"
|
||||
tar -jcf ${aFatDir}/../${anArchName} *
|
||||
popd
|
||||
fi
|
@@ -1,32 +0,0 @@
|
||||
# environment configuration template for macos_build.sh (to be renamed as macos_custom_env.sh)
|
||||
export PATH=/Applications/CMake.app/Contents/bin:$PATH
|
||||
export aFreeType="$aSrcRoot/../3rdparty/freetype-2.10.4-macos"
|
||||
export aFreeImage="$aSrcRoot/../3rdparty/freeimage-3.18-macos"
|
||||
export aRapidJson="$aSrcRoot/../3rdparty/rapidjson-1.1.0"
|
||||
export aDraco="$aSrcRoot/../3rdparty/draco-1.4.1-macos"
|
||||
|
||||
# Uncomment to customize building steps
|
||||
#export aBuildRoot=work
|
||||
#export toCMake=1
|
||||
#export toClean=1
|
||||
#export toMake=1
|
||||
#export toInstall=1
|
||||
#export toPack=1
|
||||
#export toPackFat=1
|
||||
|
||||
#export BUILD_ModelingData=ON
|
||||
#export BUILD_ModelingAlgorithms=ON
|
||||
#export BUILD_Visualization=ON
|
||||
#export BUILD_ApplicationFramework=ON
|
||||
#export BUILD_DataExchange=ON
|
||||
#export BUILD_DETools=OFF
|
||||
#export BUILD_Draw=ON
|
||||
|
||||
#export USE_RAPIDJSON=ON
|
||||
#export USE_DRACO=ON
|
||||
#export USE_FREEIMAGE=ON
|
||||
|
||||
#export MACOSX_DEPLOYMENT_TARGET=10.10
|
||||
#export anAbiList=arm64
|
||||
#export anAbiList=x86_64
|
||||
#export anAbiList="arm64 x86_64"
|
@@ -1,269 +0,0 @@
|
||||
@echo OFF
|
||||
|
||||
rem Auxiliary script for semi-automated building of OCCT for Mingw-w64 platform.
|
||||
rem mingw_custom.bat should be configured with paths to CMake, 3rd-parties and MinGW.
|
||||
|
||||
set "aCasSrc=%~dp0..\.."
|
||||
set "aBuildRoot=%aCasSrc%\work"
|
||||
|
||||
set aNbJobs=%NUMBER_OF_PROCESSORS%
|
||||
|
||||
rem Paths to 3rd-party tools and libraries
|
||||
set "aCmakeBin="
|
||||
set "aMingwVars="
|
||||
set "aFreeType="
|
||||
set "aFreeImage="
|
||||
set "aRapidJson="
|
||||
set "aDraco="
|
||||
set "aTclTk="
|
||||
|
||||
rem Build stages to perform
|
||||
set "toCMake=1"
|
||||
set "toClean=0"
|
||||
set "toMake=1"
|
||||
set "toInstall=1"
|
||||
set "toPack=0"
|
||||
set "toDebug=0"
|
||||
set "isStatic=0"
|
||||
|
||||
rem OCCT Modules to build
|
||||
set "BUILD_ModelingData=ON"
|
||||
set "BUILD_ModelingAlgorithms=ON"
|
||||
set "BUILD_Visualization=ON"
|
||||
set "BUILD_ApplicationFramework=ON"
|
||||
set "BUILD_DataExchange=ON"
|
||||
set "BUILD_DETools=OFF"
|
||||
set "BUILD_Draw=ON"
|
||||
|
||||
rem Optional 3rd-party libraries to enable
|
||||
set "USE_FREETYPE=ON"
|
||||
set "USE_RAPIDJSON=OFF"
|
||||
set "USE_DRACO=OFF"
|
||||
set "USE_FREEIMAGE=ON"
|
||||
|
||||
rem Archive tool
|
||||
set "THE_7Z_PARAMS=-t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on"
|
||||
set "THE_7Z_PATH=%ProgramW6432%\7-Zip\7z.exe"
|
||||
|
||||
rem Configuration file
|
||||
if exist "%~dp0mingw_custom.bat" call "%~dp0mingw_custom.bat"
|
||||
|
||||
if not ["%aMingwVars%"] == [""] ( call "%aMingwVars%" )
|
||||
if not ["%aCmakeBin%"] == [""] ( set "PATH=%aCmakeBin%;%PATH%" )
|
||||
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
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"
|
||||
set "aBuildTypePrefix="
|
||||
set "aLibType=Shared"
|
||||
if ["%isStatic%"] == ["1"] set "aLibType=Static"
|
||||
if ["%toDebug%"] == ["1"] (
|
||||
set "aBuildType=Debug"
|
||||
set "aBuildTypePrefix=-debug"
|
||||
)
|
||||
|
||||
call :cmakeGenerate
|
||||
if errorlevel 1 (
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
|
||||
for /F "skip=1 delims=" %%F in ('
|
||||
wmic PATH Win32_LocalTime GET Day^,Month^,Year /FORMAT:TABLE
|
||||
') do (
|
||||
for /F "tokens=1-3" %%L in ("%%F") do (
|
||||
set DAY00=0%%L
|
||||
set MONTH00=0%%M
|
||||
set YEAR=%%N
|
||||
)
|
||||
)
|
||||
set DAY00=%DAY00:~-2%
|
||||
set MONTH00=%MONTH00:~-2%
|
||||
set "aRevision=-%YEAR%-%MONTH00%-%DAY00%"
|
||||
rem set "aRevision=-%aGitBranch%"
|
||||
set "anArchName=occt-%anOcctVersion%%anOcctVerSuffix%%aRevision%-mingw64%aBuildTypePrefix%"
|
||||
set "aTarget=%aBuildRoot%\%anArchName%"
|
||||
if ["%toPack%"] == ["1"] (
|
||||
echo Creating archive %anArchName%.7z
|
||||
rmdir /S /Q "%aTarget%"
|
||||
if not exist "%aTarget%" ( mkdir "%aTarget%" )
|
||||
if exist "%aBuildRoot%/%anArchName%.7z" del "%aBuildRoot%/%anArchName%.7z"
|
||||
xcopy /S /Y "%aDestDir%\*" "%aTarget%\"
|
||||
|
||||
echo Copying dependencies...
|
||||
for %%i in (libstdc++-6.dll libwinpthread-1.dll libgcc_s_seh-1.dll) do (
|
||||
if "%%~$PATH:i" == "" (
|
||||
echo "Error: could not find %%i"
|
||||
) else (
|
||||
xcopy /Y "%%~$PATH:i" "%aTarget%\win64\gcc\bin"
|
||||
)
|
||||
)
|
||||
|
||||
"%THE_7Z_PATH%" a -r %THE_7Z_PARAMS% "%aBuildRoot%/%anArchName%.7z" "%aTarget%"
|
||||
)
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
|
||||
goto :eof
|
||||
|
||||
:cmakeGenerate
|
||||
set "aPlatformAndCompiler=mingw64%aBuildTypePrefix%"
|
||||
set "aWorkDir=%aBuildRoot%\occt-%aPlatformAndCompiler%-make"
|
||||
set "aDestDir=%aBuildRoot%\occt-%aPlatformAndCompiler%"
|
||||
set "aLogFile=%aBuildRoot%\occt-%aPlatformAndCompiler%-build.log"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aWorkDir%"
|
||||
rmdir /S /Q %aDestDir%"
|
||||
)
|
||||
)
|
||||
if not exist "%aWorkDir%" ( mkdir "%aWorkDir%" )
|
||||
if exist "%aLogFile%" ( del "%aLogFile%" )
|
||||
|
||||
rem include some information about OCCT into archive
|
||||
echo ^<pre^>> "%aWorkDir%\VERSION.html"
|
||||
git status >> "%aWorkDir%\VERSION.html"
|
||||
git log -n 100 >> "%aWorkDir%\VERSION.html"
|
||||
echo ^</pre^>>> "%aWorkDir%\VERSION.html"
|
||||
|
||||
echo Start building OCCT for %aPlatformAndCompiler%
|
||||
echo Start building OCCT for %aPlatformAndCompiler%>> %aLogFile%
|
||||
|
||||
pushd "%aWorkDir%"
|
||||
|
||||
set "aTimeZERO=%TIME%"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Configuring OCCT for MinGW-w64...
|
||||
cmake -G "MinGW Makefiles" ^
|
||||
-D CMAKE_BUILD_TYPE:STRING="%aBuildType%" ^
|
||||
-D BUILD_LIBRARY_TYPE:STRING="%aLibType%" ^
|
||||
-D INSTALL_DIR:PATH="%aDestDir%" ^
|
||||
-D INSTALL_DIR_INCLUDE:STRING="inc" ^
|
||||
-D INSTALL_DIR_RESOURCE:STRING="src" ^
|
||||
-D BUILD_DOC_Overview:BOOL="OFF" ^
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL="ON" ^
|
||||
-D BUILD_MODULE_ModelingData:BOOL="%BUILD_ModelingData%" ^
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL="%BUILD_ModelingAlgorithms%" ^
|
||||
-D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
|
||||
-D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
|
||||
-D BUILD_MODULE_DETools:BOOL="%BUILD_DETools%" ^
|
||||
-D BUILD_MODULE_Draw:BOOL="%BUILD_Draw%" ^
|
||||
-D 3RDPARTY_TCL_DIR:PATH="%aTclTk%" ^
|
||||
-D 3RDPARTY_TCL_INCLUDE_DIR:FILEPATH="%aTclTk%/include" ^
|
||||
-D 3RDPARTY_TCL_LIBRARY_DIR:PATH="%aTclTk%/lib" ^
|
||||
-D 3RDPARTY_TCL_DLL_DIR:PATH="%aTclTk%/bin" ^
|
||||
-D 3RDPARTY_TK_DIR:PATH="%aTclTk%" ^
|
||||
-D 3RDPARTY_TK_INCLUDE_DIR:FILEPATH="%aTclTk%/include" ^
|
||||
-D 3RDPARTY_TK_LIBRARY_DIR:PATH="%aTclTk%/lib" ^
|
||||
-D 3RDPARTY_TK_DLL_DIR:PATH="%aTclTk%/bin" ^
|
||||
-D USE_D3D:BOOL="ON" ^
|
||||
-D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="%aFreeType%" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="%aFreeType%/include" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="%aFreeType%/include" ^
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY_DIR:PATH="%aFreeType%/lib" ^
|
||||
-D USE_FREEIMAGE:BOOL="%USE_FREEIMAGE%" ^
|
||||
-D 3RDPARTY_FREEIMAGE_DIR:PATH="%aFreeImage%" ^
|
||||
-D 3RDPARTY_FREEIMAGE_INCLUDE_DIR:FILEPATH="%aFreeImage%/include" ^
|
||||
-D 3RDPARTY_FREEIMAGE_LIBRARY_DIR:PATH="%aFreeImage%/lib" ^
|
||||
-D USE_RAPIDJSON:BOOL="%USE_RAPIDJSON%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_DIR:PATH="%aRapidJson%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_INCLUDE_DIR:PATH="%aRapidJson%/include" ^
|
||||
-D USE_DRACO:BOOL="%USE_DRACO%" ^
|
||||
-D 3RDPARTY_DRACO_DIR:PATH="%aDraco%" ^
|
||||
-D 3RDPARTY_DRACO_INCLUDE_DIR:FILEPATH="%aDraco%/include" ^
|
||||
-D 3RDPARTY_DRACO_LIBRARY_DIR:PATH="%aDraco%/lib" ^
|
||||
"%aCasSrc%"
|
||||
|
||||
if errorlevel 1 (
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
set "aTimeGEN=%TIME%"
|
||||
call :computeDuration %aTimeZERO% %aTimeGEN%
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Generation time: %DURATION%
|
||||
echo Generation time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toClean%"] == ["1"] (
|
||||
mingw32-make clean
|
||||
)
|
||||
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building...
|
||||
mingw32-make -j %aNbJobs% 2>> "%aLogFile%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFile%"
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
type "%aLogFile%"
|
||||
)
|
||||
set "aTimeBUILD=%TIME%"
|
||||
call :computeDuration %aTimeGEN% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building time: %DURATION%
|
||||
echo Building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
call :computeDuration %aTimeZERO% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Total building time: %DURATION%
|
||||
echo Total building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Installing into %aDestDir%...
|
||||
mingw32-make install 2>> "%aLogFile%"
|
||||
copy /Y "%aWorkDir%\VERSION.html" "%aDestDir%\VERSION.html"
|
||||
)
|
||||
set "aTimeINSTALL=%TIME%"
|
||||
call :computeDuration "%aTimeBUILD%" "%aTimeINSTALL%"
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Install time: %DURATION%
|
||||
echo Install time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
call :computeDuration "%aTimeZERO%" "%aTimeINSTALL%"
|
||||
echo Total time: %DURATION%
|
||||
echo Total time: %DURATION%>> "%aLogFile%"
|
||||
|
||||
popd
|
||||
goto :eof
|
||||
|
||||
:computeDuration
|
||||
set "aTimeFrom=%~1"
|
||||
set "aTimeEnd=%~2"
|
||||
rem handle time before 10AM (win10 - remove empty space at the beginning)
|
||||
if "%aTimeFrom:~0,1%"==" " set "aTimeFrom=%aTimeFrom:~1%"
|
||||
if "%aTimeEnd:~0,1%"==" " set "aTimeEnd=%aTimeEnd:~1%"
|
||||
rem handle time before 10AM (win7 - add 0 at the beginning)
|
||||
if "%aTimeFrom:~1,1%"==":" set "aTimeFrom=0%aTimeFrom%"
|
||||
if "%aTimeEnd:~1,1%"==":" set "aTimeEnd=0%aTimeEnd%"
|
||||
rem convert hours:minutes:seconds:ms into duration
|
||||
set /A aTimeFrom=(1%aTimeFrom:~0,2%-100)*360000 + (1%aTimeFrom:~3,2%-100)*6000 + (1%aTimeFrom:~6,2%-100)*100 + (1%aTimeFrom:~9,2%-100)
|
||||
set /A aTimeEnd= (1%aTimeEnd:~0,2%-100)*360000 + (1%aTimeEnd:~3,2%-100)*6000 + (1%aTimeEnd:~6,2%-100)*100 + (1%aTimeEnd:~9,2%-100)
|
||||
set /A aDurTotalSec=%aTimeEnd%-%aTimeFrom%
|
||||
if %aTimeEnd% LSS %aTimeFrom% set set /A aDurTotalSec=%aTimeFrom%-%aTimeEnd%
|
||||
set /A aDurHH=%aDurTotalSec% / 360000
|
||||
set /A aDurMM=(%aDurTotalSec% - %aDurHH%*360000) / 6000
|
||||
set /A aDurSS=(%aDurTotalSec% - %aDurHH%*360000 - %aDurMM%*6000) / 100
|
||||
if %aDurHH% LSS 10 set aDurHH=0%aDurHH%
|
||||
if %aDurMM% LSS 10 set aDurMM=0%aDurMM%
|
||||
if %aDurSS% LSS 10 set aDurSS=0%aDurSS%
|
||||
|
||||
set "DURATION=%aDurHH%:%aDurMM%:%aDurSS%"
|
||||
goto :eof
|
@@ -1,30 +0,0 @@
|
||||
rem Environment configuration template for mingw_build.bat (to be renamed as mingw_custom.bat)
|
||||
set "aCmakeBin=%ProgramW6432%\CMake\bin"
|
||||
set "aFreeType=%aCasSrc%/../3rdparty/freetype-2.6.3-mingw-64"
|
||||
set "aTclTk=%aCasSrc%/../3rdparty/tcltk-8.6.4-mingw-64"
|
||||
set "aFreeImage=%aCasSrc%/../3rdparty/freeimage-3.17-0-mingw-64"
|
||||
set "aRapidJson=%aCasSrc%/../3rdparty/rapidjson-1.1.0"
|
||||
set "aDraco=%aCasSrc%/../3rdparty/draco-1.4-1-mingw-64"
|
||||
|
||||
set "aMingwVars=c:\mingw-8.3.0-msys2\mingwvars.bat"
|
||||
|
||||
rem Uncomment to customize building steps
|
||||
rem set "aBuildRoot=work"
|
||||
rem set "toCMake=1"
|
||||
rem set "toClean=1"
|
||||
rem set "toMake=1"
|
||||
rem set "toInstall=1"
|
||||
rem set "toPack=1"
|
||||
rem set "toDebug=0"
|
||||
|
||||
rem set "BUILD_ModelingData=ON"
|
||||
rem set "BUILD_ModelingAlgorithms=ON"
|
||||
rem set "BUILD_Visualization=ON"
|
||||
rem set "BUILD_ApplicationFramework=ON"
|
||||
rem set "BUILD_DataExchange=ON"
|
||||
rem set "BUILD_DETools=OFF"
|
||||
rem set "BUILD_Draw=ON"
|
||||
|
||||
rem set "USE_RAPIDJSON=ON"
|
||||
rem set "USE_DRACO=ON"
|
||||
rem set "USE_FREEIMAGE=ON"
|
@@ -1,335 +0,0 @@
|
||||
@echo OFF
|
||||
|
||||
rem Auxiliary script for semi-automated building of OCCT for WASM platform.
|
||||
rem wasm_custom.bat should be configured with paths to CMake, 3rd-parties and Emscripten SDK.
|
||||
rem FreeType should be specified as mandatory dependency.
|
||||
|
||||
set "aCasSrc=%~dp0..\.."
|
||||
set "aBuildRoot=%aCasSrc%\work"
|
||||
|
||||
set aNbJobs=%NUMBER_OF_PROCESSORS%
|
||||
|
||||
rem Paths to 3rd-party tools and libraries
|
||||
set "aCmakeBin="
|
||||
set "aFreeType="
|
||||
set "aRapidJson="
|
||||
set "aDraco="
|
||||
set "aTcl="
|
||||
|
||||
rem Build stages to perform
|
||||
set "toCMake=1"
|
||||
set "toClean=0"
|
||||
set "toMake=1"
|
||||
set "toInstall=1"
|
||||
set "toPack=0"
|
||||
set "toDebug=0"
|
||||
set "toBuildSample=0"
|
||||
set "sourceMapBase="
|
||||
|
||||
rem OCCT Modules to build
|
||||
set "BUILD_ModelingData=ON"
|
||||
set "BUILD_ModelingAlgorithms=ON"
|
||||
set "BUILD_Visualization=ON"
|
||||
set "BUILD_ApplicationFramework=ON"
|
||||
set "BUILD_DataExchange=ON"
|
||||
set "BUILD_DETools=OFF"
|
||||
set "BUILD_Draw=OFF"
|
||||
|
||||
rem Optional 3rd-party libraries to enable
|
||||
set "USE_FREETYPE=ON"
|
||||
set "USE_RAPIDJSON=OFF"
|
||||
set "USE_DRACO=OFF"
|
||||
set "USE_PTHREADS=OFF"
|
||||
|
||||
rem Archive tool
|
||||
set "THE_7Z_PARAMS=-t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on"
|
||||
set "THE_7Z_PATH=%ProgramW6432%\7-Zip\7z.exe"
|
||||
|
||||
rem Configuration file
|
||||
if exist "%~dp0wasm_custom.bat" call "%~dp0wasm_custom.bat"
|
||||
|
||||
call "%EMSDK_ROOT%\emsdk_env.bat"
|
||||
set "aToolchain=%EMSDK%/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake"
|
||||
if not ["%aCmakeBin%"] == [""] ( set "PATH=%aCmakeBin%;%PATH%" )
|
||||
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
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"
|
||||
set "aBuildTypePrefix="
|
||||
set "anExtraCxxFlags="
|
||||
if /I ["%USE_PTHREADS%"] == ["ON"] (
|
||||
set "anExtraCxxFlags=-pthread"
|
||||
set "aBuildTypePrefix=%aBuildTypePrefix%-pthread"
|
||||
)
|
||||
if ["%toDebug%"] == ["1"] (
|
||||
set "aBuildType=Debug"
|
||||
set "aBuildTypePrefix=%aBuildTypePrefix%-debug"
|
||||
)
|
||||
|
||||
call :cmakeGenerate
|
||||
if errorlevel 1 (
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
|
||||
for /F "skip=1 delims=" %%F in ('
|
||||
wmic PATH Win32_LocalTime GET Day^,Month^,Year /FORMAT:TABLE
|
||||
') do (
|
||||
for /F "tokens=1-3" %%L in ("%%F") do (
|
||||
set DAY00=0%%L
|
||||
set MONTH00=0%%M
|
||||
set YEAR=%%N
|
||||
)
|
||||
)
|
||||
set DAY00=%DAY00:~-2%
|
||||
set MONTH00=%MONTH00:~-2%
|
||||
set "aRevision=-%YEAR%-%MONTH00%-%DAY00%"
|
||||
rem set "aRevision=-%aGitBranch%"
|
||||
set "anArchName=occt-%anOcctVersion%%anOcctVerSuffix%%aRevision%-wasm32%aBuildTypePrefix%"
|
||||
set "aTarget=%aBuildRoot%\%anArchName%"
|
||||
if ["%toPack%"] == ["1"] (
|
||||
echo Creating archive %anArchName%.7z
|
||||
rmdir /S /Q "%aTarget%"
|
||||
if not exist "%aTarget%" ( mkdir "%aTarget%" )
|
||||
if exist "%aBuildRoot%/%anArchName%.7z" del "%aBuildRoot%/%anArchName%.7z"
|
||||
xcopy /S /Y "%aDestDir%\*" "%aTarget%\"
|
||||
|
||||
if ["%toBuildSample%"] == ["1"] (
|
||||
if not exist "%aTarget%\sample" ( mkdir "%aTarget%\sample" )
|
||||
xcopy /S /Y "%aDestDirSmpl%\*" "%aTarget%\sample\"
|
||||
)
|
||||
|
||||
"%THE_7Z_PATH%" a -r %THE_7Z_PARAMS% "%aBuildRoot%/%anArchName%.7z" "%aTarget%"
|
||||
)
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
|
||||
goto :eof
|
||||
|
||||
:cmakeGenerate
|
||||
set "aPlatformAndCompiler=wasm32%aBuildTypePrefix%"
|
||||
set "aWorkDir=%aBuildRoot%\occt-%aPlatformAndCompiler%-make"
|
||||
set "aDestDir=%aBuildRoot%\occt-%aPlatformAndCompiler%"
|
||||
set "aLogFile=%aBuildRoot%\occt-%aPlatformAndCompiler%-build.log"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aWorkDir%"
|
||||
rmdir /S /Q %aDestDir%"
|
||||
)
|
||||
)
|
||||
if not exist "%aWorkDir%" ( mkdir "%aWorkDir%" )
|
||||
if exist "%aLogFile%" ( del "%aLogFile%" )
|
||||
|
||||
set "aSrcRootSmpl=%aCasSrc%\samples\webgl"
|
||||
set "aWorkDirSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%-make"
|
||||
set "aDestDirSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%"
|
||||
set "aLogFileSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%-build.log"
|
||||
if ["%toBuildSample%"] == ["1"] (
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aWorkDirSmpl%"
|
||||
rmdir /S /Q %aDestDirSmpl%"
|
||||
)
|
||||
)
|
||||
if not exist "%aWorkDirSmpl%" ( mkdir "%aWorkDirSmpl%" )
|
||||
if exist "%aLogFileSmpl%" ( del "%aLogFileSmpl%" )
|
||||
)
|
||||
|
||||
rem include some information about OCCT into archive
|
||||
echo ^<pre^>> "%aWorkDir%\VERSION.html"
|
||||
git status >> "%aWorkDir%\VERSION.html"
|
||||
git log -n 100 >> "%aWorkDir%\VERSION.html"
|
||||
echo ^</pre^>>> "%aWorkDir%\VERSION.html"
|
||||
|
||||
echo Start building OCCT for %aPlatformAndCompiler%
|
||||
echo Start building OCCT for %aPlatformAndCompiler%>> %aLogFile%
|
||||
|
||||
echo --->> %aLogFile%
|
||||
call emcc --version >> %aLogFile%
|
||||
echo --->> %aLogFile%
|
||||
|
||||
pushd "%aWorkDir%"
|
||||
|
||||
set "aTimeZERO=%TIME%"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Configuring OCCT for WASM...
|
||||
cmake -G "MinGW Makefiles" ^
|
||||
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="%aToolchain%" ^
|
||||
-D CMAKE_BUILD_TYPE:STRING="%aBuildType%" ^
|
||||
-D BUILD_LIBRARY_TYPE:STRING="Static" ^
|
||||
-D CMAKE_CXX_FLAGS="%anExtraCxxFlags%" ^
|
||||
-D INSTALL_DIR:PATH="%aDestDir%" ^
|
||||
-D INSTALL_DIR_INCLUDE:STRING="inc" ^
|
||||
-D INSTALL_DIR_RESOURCE:STRING="src" ^
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL="ON" ^
|
||||
-D BUILD_MODULE_ModelingData:BOOL="%BUILD_ModelingData%" ^
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL="%BUILD_ModelingAlgorithms%" ^
|
||||
-D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
|
||||
-D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
|
||||
-D BUILD_MODULE_DETools:BOOL="%BUILD_DETools%" ^
|
||||
-D BUILD_MODULE_Draw:BOOL="%BUILD_Draw%" ^
|
||||
-D BUILD_DOC_Overview:BOOL="OFF" ^
|
||||
-D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="%aFreeType%" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="%aFreeType%/include" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="%aFreeType%/include" ^
|
||||
-D USE_RAPIDJSON:BOOL="%USE_RAPIDJSON%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_DIR:PATH="%aRapidJson%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_INCLUDE_DIR:PATH="%aRapidJson%/include" ^
|
||||
-D USE_DRACO:BOOL="%USE_DRACO%" ^
|
||||
-D 3RDPARTY_DRACO_DIR:PATH="%aDraco%" ^
|
||||
-D 3RDPARTY_DRACO_INCLUDE_DIR:FILEPATH="%aDraco%/include" ^
|
||||
-D 3RDPARTY_DRACO_LIBRARY_DIR:PATH="%aDraco%/lib" ^
|
||||
-D 3RDPARTY_DRACO_LIBRARY:FILEPATH="%aDraco%/lib/libdraco.a" ^
|
||||
-D USE_TK:BOOL="OFF" ^
|
||||
-D 3RDPARTY_TCL_DIR:PATH="%aTcl%" ^
|
||||
-D 3RDPARTY_TCL_INCLUDE_DIR:PATH="%aTcl%/include" ^
|
||||
-D 3RDPARTY_TCL_LIBRARY_DIR:PATH="%aTcl%/lib" ^
|
||||
-D 3RDPARTY_TCL_LIBRARY:FILEPATH="%aTcl%/lib/libtcl.a" ^
|
||||
"%aCasSrc%"
|
||||
|
||||
if errorlevel 1 (
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
set "aTimeGEN=%TIME%"
|
||||
call :computeDuration %aTimeZERO% %aTimeGEN%
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Generation time: %DURATION%
|
||||
echo Generation time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toClean%"] == ["1"] (
|
||||
mingw32-make clean
|
||||
)
|
||||
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building...
|
||||
mingw32-make -j %aNbJobs% 2>> "%aLogFile%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFile%"
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
type "%aLogFile%"
|
||||
)
|
||||
set "aTimeBUILD=%TIME%"
|
||||
call :computeDuration %aTimeGEN% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building time: %DURATION%
|
||||
echo Building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
call :computeDuration %aTimeZERO% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Total building time: %DURATION%
|
||||
echo Total building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Installing into %aDestDir%...
|
||||
mingw32-make install 2>> "%aLogFile%"
|
||||
copy /Y "%aWorkDir%\VERSION.html" "%aDestDir%\VERSION.html"
|
||||
)
|
||||
set "aTimeINSTALL=%TIME%"
|
||||
call :computeDuration "%aTimeBUILD%" "%aTimeINSTALL%"
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Install time: %DURATION%
|
||||
echo Install time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
call :computeDuration "%aTimeZERO%" "%aTimeINSTALL%"
|
||||
echo Total time: %DURATION%
|
||||
echo Total time: %DURATION%>> "%aLogFile%"
|
||||
|
||||
popd
|
||||
if ["%toBuildSample%"] == ["0"] (
|
||||
goto :eof
|
||||
)
|
||||
|
||||
pushd "%aWorkDirSmpl%"
|
||||
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
cmake -G "MinGW Makefiles" ^
|
||||
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="%aToolchain%" ^
|
||||
-D CMAKE_BUILD_TYPE:STRING="%aBuildType%" ^
|
||||
-D CMAKE_CXX_FLAGS="%anExtraCxxFlags%" ^
|
||||
-D CMAKE_INSTALL_PREFIX:PATH="%aDestDirSmpl%" ^
|
||||
-D SOURCE_MAP_BASE:STRING="%sourceMapBase%" ^
|
||||
-D OpenCASCADE_DIR:PATH="%aDestDir%/lib/cmake/opencascade" ^
|
||||
-D freetype_DIR:PATH="%aFreeType%/lib/cmake/freetype" ^
|
||||
"%aSrcRootSmpl%"
|
||||
|
||||
if errorlevel 1 (
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
if ["%toClean%"] == ["1"] (
|
||||
mingw32-make clean
|
||||
)
|
||||
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building...
|
||||
mingw32-make -j %aNbJobs% 2>> "%aLogFileSmpl%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFileSmpl%"
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
type "%aLogFileSmpl%"
|
||||
)
|
||||
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
mingw32-make install 2>> "%aLogFileSmpl%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFileSmpl%"
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
popd
|
||||
|
||||
goto :eof
|
||||
|
||||
:computeDuration
|
||||
set "aTimeFrom=%~1"
|
||||
set "aTimeEnd=%~2"
|
||||
rem handle time before 10AM (win10 - remove empty space at the beginning)
|
||||
if "%aTimeFrom:~0,1%"==" " set "aTimeFrom=%aTimeFrom:~1%"
|
||||
if "%aTimeEnd:~0,1%"==" " set "aTimeEnd=%aTimeEnd:~1%"
|
||||
rem handle time before 10AM (win7 - add 0 at the beginning)
|
||||
if "%aTimeFrom:~1,1%"==":" set "aTimeFrom=0%aTimeFrom%"
|
||||
if "%aTimeEnd:~1,1%"==":" set "aTimeEnd=0%aTimeEnd%"
|
||||
rem convert hours:minutes:seconds:ms into duration
|
||||
set /A aTimeFrom=(1%aTimeFrom:~0,2%-100)*360000 + (1%aTimeFrom:~3,2%-100)*6000 + (1%aTimeFrom:~6,2%-100)*100 + (1%aTimeFrom:~9,2%-100)
|
||||
set /A aTimeEnd= (1%aTimeEnd:~0,2%-100)*360000 + (1%aTimeEnd:~3,2%-100)*6000 + (1%aTimeEnd:~6,2%-100)*100 + (1%aTimeEnd:~9,2%-100)
|
||||
set /A aDurTotalSec=%aTimeEnd%-%aTimeFrom%
|
||||
if %aTimeEnd% LSS %aTimeFrom% set set /A aDurTotalSec=%aTimeFrom%-%aTimeEnd%
|
||||
set /A aDurHH=%aDurTotalSec% / 360000
|
||||
set /A aDurMM=(%aDurTotalSec% - %aDurHH%*360000) / 6000
|
||||
set /A aDurSS=(%aDurTotalSec% - %aDurHH%*360000 - %aDurMM%*6000) / 100
|
||||
if %aDurHH% LSS 10 set aDurHH=0%aDurHH%
|
||||
if %aDurMM% LSS 10 set aDurMM=0%aDurMM%
|
||||
if %aDurSS% LSS 10 set aDurSS=0%aDurSS%
|
||||
|
||||
set "DURATION=%aDurHH%:%aDurMM%:%aDurSS%"
|
||||
goto :eof
|
@@ -1,129 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Auxiliary script for semi-automated building of OCCT for WASM platform.
|
||||
# wasm_custom.sh should be configured with paths to CMake, 3rd-parties and Emscripten SDK.
|
||||
# FreeType should be specified as mandatory dependency.
|
||||
|
||||
export aScriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
export aSrcRoot="${aScriptDir}/../.."
|
||||
export aBuildRoot=work
|
||||
|
||||
export aNbJobs=${NUMBER_OF_PROCESSORS}
|
||||
|
||||
export toCMake=1
|
||||
export toClean=0
|
||||
export toMake=1
|
||||
export toInstall=1
|
||||
|
||||
export BUILD_ModelingData=ON
|
||||
export BUILD_ModelingAlgorithms=ON
|
||||
export BUILD_Visualization=ON
|
||||
export BUILD_ApplicationFramework=ON
|
||||
export BUILD_DataExchange=ON
|
||||
export BUILD_DETools=OFF
|
||||
|
||||
if [ -f "${aScriptDir}/wasm_custom.sh" ] ; then
|
||||
. "${aScriptDir}/wasm_custom.sh"
|
||||
fi
|
||||
|
||||
. "${EMSDK_ROOT}/emsdk_env.sh"
|
||||
|
||||
export aToolchain="${EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake"
|
||||
|
||||
export aGitBranch=`git symbolic-ref --short HEAD`
|
||||
|
||||
echo "Compilation OCCT branch : $aGitBranch"
|
||||
|
||||
export aPlatformAndCompiler=wasm
|
||||
|
||||
export aWorkDir="${aSrcRoot}/${aBuildRoot}/${aPlatformAndCompiler}-make"
|
||||
if [ ! -d "${aWorkDir}" ]; then
|
||||
mkdir -p "${aWorkDir}"
|
||||
fi
|
||||
|
||||
export aDestDir="${aSrcRoot}/${aBuildRoot}/${aPlatformAndCompiler}"
|
||||
if [ ! -d "${aDestDir}" ]; then
|
||||
mkdir -p "${aDestDir}"
|
||||
fi
|
||||
|
||||
export aLogFile="${aSrcRoot}/${aBuildRoot}/build-${aPlatformAndCompiler}.log"
|
||||
if [ -f "${aLogFile}" ]; then
|
||||
rm "${aLogFile}"
|
||||
fi
|
||||
|
||||
echo Start building OCCT for ${aPlatformAndCompiler}
|
||||
echo Start building OCCT for ${aPlatformAndCompiler}>> "${aLogFile}"
|
||||
|
||||
pushd "${aWorkDir}"
|
||||
pwd
|
||||
echo toCMake=${toCMake}
|
||||
if [ "${toCMake}" = "1" ]; then
|
||||
|
||||
echo "Configuring OCCT for WASM..."
|
||||
echo cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${aToolchain}" \
|
||||
-DCMAKE_BUILD_TYPE:STRING="Release" \
|
||||
-DBUILD_LIBRARY_TYPE:STRING="Static" \
|
||||
-DINSTALL_DIR:PATH="${aDestDir}" \
|
||||
-DINSTALL_DIR_INCLUDE:STRING="inc" \
|
||||
-DINSTALL_DIR_RESOURCE:STRING="src" \
|
||||
-D3RDPARTY_FREETYPE_DIR:PATH="$aFreeType" \
|
||||
-D3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="$aFreeType/include" \
|
||||
-D3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="$aFreeType/include" \
|
||||
-DBUILD_MODULE_FoundationClasses:BOOL="ON" \
|
||||
-DBUILD_MODULE_ModelingData:BOOL="${BUILD_ModelingData}" \
|
||||
-DBUILD_MODULE_ModelingAlgorithms:BOOL="${BUILD_ModelingAlgorithms}" \
|
||||
-DBUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
|
||||
-DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
|
||||
-DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
|
||||
-DBUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
|
||||
-DBUILD_MODULE_Draw:BOOL="OFF" \
|
||||
-DBUILD_DOC_Overview:BOOL="OFF" "${aSrcRoot}"
|
||||
|
||||
cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${aToolchain}" \
|
||||
-DCMAKE_BUILD_TYPE:STRING="Release" \
|
||||
-DBUILD_LIBRARY_TYPE:STRING="Static" \
|
||||
-DINSTALL_DIR:PATH="${aDestDir}" \
|
||||
-DINSTALL_DIR_INCLUDE:STRING="inc" \
|
||||
-DINSTALL_DIR_RESOURCE:STRING="src" \
|
||||
-D3RDPARTY_FREETYPE_DIR:PATH="$aFreeType" \
|
||||
-D3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="$aFreeType/include" \
|
||||
-D3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="$aFreeType/include" \
|
||||
-DBUILD_MODULE_FoundationClasses:BOOL="ON" \
|
||||
-DBUILD_MODULE_ModelingData:BOOL="${BUILD_ModelingData}" \
|
||||
-DBUILD_MODULE_ModelingAlgorithms:BOOL="${BUILD_ModelingAlgorithms}" \
|
||||
-DBUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
|
||||
-DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
|
||||
-DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
|
||||
-DBUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
|
||||
-DBUILD_MODULE_Draw:BOOL="OFF" \
|
||||
-DBUILD_DOC_Overview:BOOL="OFF" "${aSrcRoot}"
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Problem during configuration"
|
||||
popd
|
||||
exit 1
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ "${toClean}" = "1" ]; then
|
||||
make clean
|
||||
fi
|
||||
|
||||
if [ "${toMake}" = "1" ]; then
|
||||
echo Building...
|
||||
make -j ${aNbJobs} 2>> "${aLogFile}"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Problem during make operation"
|
||||
popd
|
||||
exit 1
|
||||
fi
|
||||
echo "${aLogFile}"
|
||||
fi
|
||||
|
||||
if [ "${toInstall}" = "1" ]; then
|
||||
echo Installing into ${aDestDir}
|
||||
make install 2>> "${aLogFile}"
|
||||
fi
|
||||
|
||||
popd
|
@@ -1,30 +0,0 @@
|
||||
rem Environment configuration template for wasm_build.bat (to be renamed as wasm_custom.bat)
|
||||
set "EMSDK_ROOT=%aCasSrc%\..\emsdk"
|
||||
set "aFreeType=%aCasSrc%\..\3rdparty\freetype-2.7.1-wasm32"
|
||||
rem set "aRapidJson=%aCasSrc%\..\3rdparty\rapidjson-1.1.0"
|
||||
rem set "aDraco=%aCasSrc%\..\3rdparty\draco-1.4.1-wasm32"
|
||||
rem set "aCmakeBin=%ProgramW6432%\CMake\bin"
|
||||
|
||||
rem Uncomment to customize building steps
|
||||
rem set "aBuildRoot=work"
|
||||
rem set "toCMake=1"
|
||||
rem set "toClean=1"
|
||||
rem set "toMake=1"
|
||||
rem set "toInstall=1"
|
||||
rem set "toPack=1"
|
||||
rem set "toDebug=1"
|
||||
rem set "toBuildSample=1"
|
||||
rem Source map base (should point to server where C++ sources will be copied)
|
||||
rem enables -g4 debug building option for WebGL sample and allows navigating C++ source code within JavaScript debugger.
|
||||
rem set "sourceMapBase=http://localhost:9090/"
|
||||
|
||||
rem set "BUILD_ModelingData=ON"
|
||||
rem set "BUILD_ModelingAlgorithms=ON"
|
||||
rem set "BUILD_Visualization=ON"
|
||||
rem set "BUILD_ApplicationFramework=ON"
|
||||
rem set "BUILD_DataExchange=ON"
|
||||
rem set "BUILD_DETools=OFF"
|
||||
|
||||
rem set "USE_RAPIDJSON=ON"
|
||||
rem set "USE_DRACO=ON"
|
||||
rem set "USE_PTHREADS=ON"
|
@@ -1,17 +0,0 @@
|
||||
# environment configuration template for occ_build_wasm.sh (to be renamed as wasm_custom_env.sh)
|
||||
export aFreeType="$aSrcRoot/../3rdparty/freetype-2.7.1-wasm"
|
||||
export EMSDK_ROOT="$aSrcRoot/../emsdk"
|
||||
|
||||
# Uncomment to customize building steps
|
||||
#export aBuildRoot=work
|
||||
#export toCMake=1
|
||||
#export toClean=0
|
||||
#export toMake=1
|
||||
#export toInstall=1
|
||||
|
||||
#export BUILD_ModelingData=ON
|
||||
#export BUILD_ModelingAlgorithms=ON
|
||||
#export BUILD_Visualization=ON
|
||||
#export BUILD_ApplicationFramework=ON
|
||||
#export BUILD_DataExchange=ON
|
||||
#export BUILD_DETools=OFF
|
@@ -1,117 +0,0 @@
|
||||
@echo OFF
|
||||
|
||||
rem Auxiliary script for semi-automated building of WebGL sample.
|
||||
rem wasm_custom.bat should be configured with paths to CMake, 3rd-parties and Emscripten SDK.
|
||||
rem FreeType should be specified as mandatory dependency.
|
||||
|
||||
set "aCasSrc=%~dp0..\.."
|
||||
set "aBuildRoot=%aCasSrc%\work"
|
||||
|
||||
set aNbJobs=%NUMBER_OF_PROCESSORS%
|
||||
|
||||
rem Paths to 3rd-party tools and libraries
|
||||
set "aCmakeBin="
|
||||
set "aFreeType="
|
||||
|
||||
rem Build stages to perform
|
||||
set "toCMake=1"
|
||||
set "toClean=0"
|
||||
set "toMake=1"
|
||||
set "toInstall=1"
|
||||
set "toDebug=0"
|
||||
set "sourceMapBase="
|
||||
|
||||
set "USE_PTHREADS=OFF"
|
||||
|
||||
rem Configuration file
|
||||
if exist "%~dp0wasm_custom.bat" call "%~dp0wasm_custom.bat"
|
||||
|
||||
call "%EMSDK_ROOT%\emsdk_env.bat"
|
||||
set "aToolchain=%EMSDK%/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake"
|
||||
if not ["%aCmakeBin%"] == [""] ( set "PATH=%aCmakeBin%;%PATH%" )
|
||||
|
||||
set "aBuildType=Release"
|
||||
set "aBuildTypePrefix="
|
||||
set "anExtraCxxFlags="
|
||||
if /I ["%USE_PTHREADS%"] == ["ON"] (
|
||||
set "anExtraCxxFlags=-pthread"
|
||||
set "aBuildTypePrefix=%aBuildTypePrefix%-pthread"
|
||||
)
|
||||
if ["%toDebug%"] == ["1"] (
|
||||
set "aBuildType=Debug"
|
||||
set "aBuildTypePrefix=%aBuildTypePrefix%-debug"
|
||||
)
|
||||
|
||||
call :cmakeGenerate
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
|
||||
goto :eof
|
||||
|
||||
:cmakeGenerate
|
||||
set "aPlatformAndCompiler=wasm32%aBuildTypePrefix%"
|
||||
set "aDestDirOcct=%aBuildRoot%\occt-%aPlatformAndCompiler%"
|
||||
set "aSrcRootSmpl=%aCasSrc%\samples\webgl"
|
||||
set "aWorkDirSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%-make"
|
||||
set "aDestDirSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%"
|
||||
set "aLogFileSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%-build.log"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aWorkDirSmpl%"
|
||||
rmdir /S /Q %aDestDirSmpl%"
|
||||
)
|
||||
)
|
||||
if not exist "%aWorkDirSmpl%" ( mkdir "%aWorkDirSmpl%" )
|
||||
if exist "%aLogFileSmpl%" ( del "%aLogFileSmpl%" )
|
||||
|
||||
pushd "%aWorkDirSmpl%"
|
||||
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
cmake -G "MinGW Makefiles" ^
|
||||
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="%aToolchain%" ^
|
||||
-D CMAKE_BUILD_TYPE:STRING="%aBuildType%" ^
|
||||
-D CMAKE_CXX_FLAGS="%anExtraCxxFlags%" ^
|
||||
-D CMAKE_INSTALL_PREFIX:PATH="%aDestDirSmpl%" ^
|
||||
-D SOURCE_MAP_BASE:STRING="%sourceMapBase%" ^
|
||||
-D OpenCASCADE_DIR:PATH="%aDestDirOcct%/lib/cmake/opencascade" ^
|
||||
-D freetype_DIR:PATH="%aFreeType%/lib/cmake/freetype" ^
|
||||
"%aSrcRootSmpl%"
|
||||
|
||||
if errorlevel 1 (
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
if ["%toClean%"] == ["1"] (
|
||||
mingw32-make clean
|
||||
)
|
||||
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building...
|
||||
mingw32-make -j %aNbJobs% 2>> "%aLogFileSmpl%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFileSmpl%"
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
type "%aLogFileSmpl%"
|
||||
)
|
||||
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
mingw32-make install 2>> "%aLogFileSmpl%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFileSmpl%"
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
popd
|
||||
|
||||
goto :eof
|
@@ -21,7 +21,6 @@ set (OpenCASCADE_DEVELOPMENT_VERSION "@OCC_VERSION_DEVELOPMENT@")
|
||||
# This is made to support different locations of CMake files:
|
||||
# - in UNIX style: $INSTALL_DIR/lib/cmake/opencascade-<version>
|
||||
# - in Windows style: $INSTALL_DIR/cmake
|
||||
# - in Android style: $INSTALL_DIR/libs/$CMAKE_ANDROID_ARCH_ABI/cmake/opencascade-<version>
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
|
||||
if (OpenCASCADE_INSTALL_PREFIX MATCHES "/cmake$")
|
||||
@@ -30,10 +29,6 @@ endif()
|
||||
if (OpenCASCADE_INSTALL_PREFIX MATCHES "/lib$")
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
|
||||
endif()
|
||||
if (OpenCASCADE_INSTALL_PREFIX MATCHES "/libs/${CMAKE_ANDROID_ARCH_ABI}$")
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
|
||||
endif()
|
||||
|
||||
# Set OpenCASCADE paths to headers, binaries, libraries, resources, tests, samples, data
|
||||
set (OpenCASCADE_BINARY_DIR "${OpenCASCADE_INSTALL_PREFIX}/@INSTALL_DIR_BIN@")
|
||||
@@ -63,6 +58,7 @@ set (OpenCASCADE_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
|
||||
set (OpenCASCADE_WITH_TCL @USE_TCL@)
|
||||
set (OpenCASCADE_WITH_FREETYPE @USE_FREETYPE@)
|
||||
set (OpenCASCADE_WITH_FREEIMAGE @USE_FREEIMAGE@)
|
||||
set (OpenCASCADE_WITH_GL2PS @USE_GL2PS@)
|
||||
set (OpenCASCADE_WITH_TBB @USE_TBB@)
|
||||
set (OpenCASCADE_WITH_VTK @USE_VTK@)
|
||||
set (OpenCASCADE_WITH_FFMPEG @USE_FFMPEG@)
|
||||
|
@@ -1,40 +0,0 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
rem Setup environment
|
||||
call "%~dp0env.bat" %1 %2 %3
|
||||
|
||||
rem Define path to project file
|
||||
set "PRJFILE=%~dp0OCCT.sln"
|
||||
|
||||
if "%VCVER%" == "vc8" (
|
||||
call "%VS80COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc9" (
|
||||
call "%VS90COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc10" (
|
||||
call "%VS100COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc11" (
|
||||
call "%VS110COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc12" (
|
||||
call "%VS120COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc14" (
|
||||
call "%VS140COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc141" (
|
||||
call "%VS141COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc142" (
|
||||
call "%VS142COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc143" (
|
||||
call "%VS143COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else (
|
||||
echo Error: wrong VS identifier
|
||||
exit /B
|
||||
)
|
||||
|
||||
set BUILDCONFIG=Release
|
||||
if "%CASDEB%"=="i" set BUILDCONFIG=RelWithDebInfo
|
||||
if "%CASDEB%"=="d" set BUILDCONFIG=Debug
|
||||
if "%ARCH%"=="32" set PLATFORM=win32
|
||||
if "%ARCH%"=="64" set PLATFORM=x64
|
||||
|
||||
msbuild "%PRJFILE%" /m /fl /flp:LogFile="build_%BUILDCONFIG%.log" /p:Configuration=%BUILDCONFIG% /p:Platform=%PLATFORM% /p:BuildProjectReferences=false
|
||||
endlocal
|
@@ -1,12 +1,11 @@
|
||||
#!/bin/bash
|
||||
# This file has been generated by genproj.tcl script from CASROOT/adm/templates/codeblocks.sh
|
||||
|
||||
export TARGET="cbp"
|
||||
|
||||
source ./env.sh "$1" "$TARGET"
|
||||
|
||||
if [ -e "/Applications/CodeBlocks.app/Contents/MacOS/CodeBlocks" ]; then
|
||||
/Applications/CodeBlocks.app/Contents/MacOS/CodeBlocks ./adm/$WOKSTATION/cbp/__SOLUTION__.workspace
|
||||
/Applications/CodeBlocks.app/Contents/MacOS/CodeBlocks ./adm/$WOKSTATION/cbp/OCCT.workspace
|
||||
else
|
||||
codeblocks ./adm/$WOKSTATION/cbp/__SOLUTION__.workspace
|
||||
codeblocks ./adm/$WOKSTATION/cbp/OCCT.workspace
|
||||
fi
|
||||
|
@@ -11,11 +11,10 @@ if /I "%VCVER%" == "@COMPILER@" (
|
||||
set "FREEIMAGE_DIR=@3RDPARTY_FREEIMAGE_DLL_DIRS@"
|
||||
set "EGL_DIR=@3RDPARTY_EGL_DLL_DIRS@"
|
||||
set "GLES2_DIR=@3RDPARTY_GLES2_DLL_DIRS@"
|
||||
set "GL2PS_DIR=@3RDPARTY_GL2PS_DLL_DIRS@"
|
||||
set "TBB_DIR=@3RDPARTY_TBB_DLL_DIR@"
|
||||
set "VTK_DIR=@3RDPARTY_VTK_DLL_DIR@"
|
||||
set "FFMPEG_DIR=@3RDPARTY_FFMPEG_DLL_DIR@"
|
||||
set "JEMALLOC_DIR=@3RDPARTY_JEMALLOC_LIBRARY_DIR@"
|
||||
set "OPENVR_DIR=@3RDPARTY_OPENVR_DLL_DIRS@"
|
||||
|
||||
if not "@3RDPARTY_QT_DIR@" == "" (
|
||||
set "QTDIR=@3RDPARTY_QT_DIR@"
|
||||
@@ -41,7 +40,7 @@ if /I "%VCVER%" == "@COMPILER@" (
|
||||
set "CSF_OCCTTestsPath=@CMAKE_SOURCE_DIR@/tests"
|
||||
set "CSF_OCCTDocPath=@CMAKE_SOURCE_DIR@/doc"
|
||||
|
||||
rem for compatibility with external application using CASROOT
|
||||
rem for compatability with external application using CASROOT
|
||||
set "CASROOT=@CMAKE_SOURCE_DIR@"
|
||||
)
|
||||
)
|
||||
|
@@ -9,10 +9,10 @@ if [ "$1" == "@BIN_LETTER@" ]; then
|
||||
export TK_DIR="@3RDPARTY_TK_LIBRARY_DIR@"
|
||||
export FREETYPE_DIR="@3RDPARTY_FREETYPE_LIBRARY_DIR@"
|
||||
export FREEIMAGE_DIR="@3RDPARTY_FREEIMAGE_LIBRARY_DIRS@"
|
||||
export GL2PS_DIR="@3RDPARTY_GL2PS_LIBRARY_DIRS@"
|
||||
export TBB_DIR="@3RDPARTY_TBB_LIBRARY_DIR@"
|
||||
export VTK_DIR="@3RDPARTY_VTK_LIBRARY_DIR@"
|
||||
export FFMPEG_DIR="@3RDPARTY_FFMPEG_LIBRARY_DIR@"
|
||||
export JEMALLOC_DIR="@3RDPARTY_JEMALLOC_LIBRARY_DIR@"
|
||||
|
||||
if [ "x@3RDPARTY_QT_DIR" != "x" ]; then
|
||||
export QTDIR="@3RDPARTY_QT_DIR@"
|
||||
@@ -30,7 +30,7 @@ if [ "$1" == "@BIN_LETTER@" ]; then
|
||||
export CSF_OCCTTestsPath="@CMAKE_SOURCE_DIR@/tests"
|
||||
export CSF_OCCTDocPath="@CMAKE_SOURCE_DIR@/doc"
|
||||
|
||||
# for compatibility with external application using CASROOT
|
||||
# for compatability with external application using CASROOT
|
||||
export CASROOT="@CMAKE_SOURCE_DIR@"
|
||||
fi
|
||||
fi
|
||||
|
@@ -10,14 +10,13 @@ if /I "%VCVER%" == "@COMPILER@" (
|
||||
set "TCL_DIR=@USED_3RDPARTY_TCL_DIR@"
|
||||
set "TK_DIR=@USED_3RDPARTY_TK_DIR@"
|
||||
set "FREETYPE_DIR=@USED_3RDPARTY_FREETYPE_DIR@"
|
||||
set "FREEIMAGE_DIR=@USED_3RDPARTY_FREEIMAGE_DIR@"
|
||||
set "FREEIMAGE_DIR=@USED_3RDPARTY_FREEIMAGE_DIRS@"
|
||||
set "EGL_DIR=@USED_3RDPARTY_EGL_DIRS@"
|
||||
set "GLES2_DIR=@USED_3RDPARTY_GLES2_DIRS@"
|
||||
set "GL2PS_DIR=@USED_3RDPARTY_GL2PS_DIRS@"
|
||||
set "TBB_DIR=@USED_3RDPARTY_TBB_DIR@"
|
||||
set "VTK_DIR=@USED_3RDPARTY_VTK_DIR@"
|
||||
set "FFMPEG_DIR=@USED_3RDPARTY_FFMPEG_DIR@"
|
||||
set "JEMALLOC_DIR=@USED_3RDPARTY_JEMALLOC_DIR@"
|
||||
set "OPENVR_DIR=@USED_3RDPARTY_OPENVR_DIR@"
|
||||
|
||||
if not "@USED_3RDPARTY_QT_DIR@" == "" (
|
||||
set "QTDIR=@USED_3RDPARTY_QT_DIR@"
|
||||
|
@@ -9,10 +9,10 @@ if [ "$1" == "@BIN_LETTER@" ]; then
|
||||
export TK_DIR="@USED_3RDPARTY_TK_DIR@"
|
||||
export FREETYPE_DIR="@USED_3RDPARTY_FREETYPE_DIR@"
|
||||
export FREEIMAGE_DIR="@USED_3RDPARTY_FREEIMAGE_DIRS@"
|
||||
export GL2PS_DIR="@USED_3RDPARTY_GL2PS_DIRS@"
|
||||
export TBB_DIR="@USED_3RDPARTY_TBB_DIR@"
|
||||
export VTK_DIR="@USED_3RDPARTY_VTK_DIR@"
|
||||
export FFMPEG_DIR="@USED_3RDPARTY_FFMPEG_DIR@"
|
||||
export JEMALLOC_DIR="@USED_3RDPARTY_JEMALLOC_DIR@"
|
||||
|
||||
if [ "x@USED_3RDPARTY_QT_DIR@" != "x" ]; then
|
||||
export QTDIR="@USED_3RDPARTY_QT_DIR@"
|
||||
|
@@ -17,33 +17,19 @@ set "ARCH=64"
|
||||
set "VCVARS="
|
||||
set "HAVE_TBB=false"
|
||||
set "HAVE_OPENCL=false"
|
||||
set "HAVE_TK=true"
|
||||
set "HAVE_FREETYPE=true"
|
||||
set "HAVE_FREEIMAGE=false"
|
||||
set "HAVE_FFMPEG=false"
|
||||
set "HAVE_GL2PS=false"
|
||||
set "HAVE_VTK=false"
|
||||
set "HAVE_GLES2=false"
|
||||
set "HAVE_D3D=false"
|
||||
set "HAVE_ZLIB=false"
|
||||
set "HAVE_LIBLZMA=false"
|
||||
set "HAVE_RAPIDJSON=false"
|
||||
set "HAVE_DRACO=false"
|
||||
set "HAVE_OPENVR=false"
|
||||
set "HAVE_E57=false"
|
||||
set "CSF_OPT_INC="
|
||||
set "CSF_OPT_LIB32="
|
||||
set "CSF_OPT_LIB64="
|
||||
set "CSF_OPT_BIN32="
|
||||
set "CSF_OPT_BIN64="
|
||||
set "CSF_OPT_LIB32D="
|
||||
set "CSF_OPT_LIB64D="
|
||||
set "CSF_OPT_BIN32D="
|
||||
set "CSF_OPT_BIN64D="
|
||||
set "CSF_OPT_LIB32I="
|
||||
set "CSF_OPT_LIB64I="
|
||||
set "CSF_OPT_BIN32I="
|
||||
set "CSF_OPT_BIN64I="
|
||||
set "CSF_DEFINES=%CSF_DEFINES_EXTRA%"
|
||||
|
||||
if not ["%CASROOT%"] == [""] if exist "%SCRIPTROOT%\%CASROOT%" set "CASROOT=%SCRIPTROOT%\%CASROOT%"
|
||||
if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%"
|
||||
@@ -67,9 +53,9 @@ rem Decode VCVER variable and define related ones:
|
||||
rem
|
||||
rem VCFMT - "vc" followed by full version number of Visual Studio toolset
|
||||
rem (same as VCVER without optional suffix "-uwp")
|
||||
rem VCLIB - name of folder containing binaries
|
||||
rem VCLIB - name of folder contining binaries
|
||||
rem (same as VCVER except without third version in number)
|
||||
rem VCPROP - name of required Visual Studio Workload (starting with VS 2017)
|
||||
rem VCPROP - name of required Visual Studion Workload (starting with VS 2017)
|
||||
rem
|
||||
rem Note that for VS before 2015 (vc14) always
|
||||
rem VCFMT=VCLIB=VCVER and VCPROP=NativeDesktop
|
||||
@@ -89,9 +75,6 @@ if "%VCVER:~-4%" == "-uwp" (
|
||||
set VCLIB=%VCLIB%-uwp
|
||||
set VCPROP=Universal
|
||||
)
|
||||
if "%VCFMT%" == "vclang" (
|
||||
set VCLIB=vc14
|
||||
)
|
||||
rem echo VCVER=%VCVER% VCFMT=%VCFMT% VCLIB=%VCLIB% VCPROP=%VCPROP%
|
||||
|
||||
rem ----- Parsing of Visual Studio platform -----
|
||||
@@ -117,18 +100,6 @@ if not "%DevEnvDir%" == "" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "vc142" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "vc143" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[17.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "vclang" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "gcc" (
|
||||
rem MinGW
|
||||
) else (
|
||||
@@ -140,9 +111,6 @@ if not "%DevEnvDir%" == "" (
|
||||
echo vc12 = VS 2013 ^(SP3^)
|
||||
echo vc14 = VS 2015
|
||||
echo vc141 = VS 2017
|
||||
echo vc142 = VS 2019
|
||||
echo vc143 = VS 2022
|
||||
echo vclang = VS 2019 with ClangCL toolset
|
||||
exit /B
|
||||
)
|
||||
|
||||
@@ -167,21 +135,6 @@ if /I "%VCFMT%" == "vc9" (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v141"
|
||||
) else if /I "%VCFMT%" == "vc142" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v142"
|
||||
) else if /I "%VCFMT%" == "vc143" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[17.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v143"
|
||||
) else if /I "%VCFMT%" == "vclang" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=ClangCL"
|
||||
) else if /I "%VCFMT%" == "gcc" (
|
||||
rem MinGW
|
||||
) else (
|
||||
@@ -189,33 +142,28 @@ if /I "%VCFMT%" == "vc9" (
|
||||
exit /B
|
||||
)
|
||||
|
||||
if ["%CSF_OPT_LIB32D%"] == [""] set "CSF_OPT_LIB32D=%CSF_OPT_LIB32%"
|
||||
if ["%CSF_OPT_LIB64D%"] == [""] set "CSF_OPT_LIB64D=%CSF_OPT_LIB64%"
|
||||
if ["%CSF_OPT_BIN32D%"] == [""] set "CSF_OPT_BIN32D=%CSF_OPT_BIN32%"
|
||||
if ["%CSF_OPT_BIN64D%"] == [""] set "CSF_OPT_BIN64D=%CSF_OPT_BIN64%"
|
||||
if ["%CSF_OPT_LIB32I%"] == [""] set "CSF_OPT_LIB32I=%CSF_OPT_LIB32%"
|
||||
if ["%CSF_OPT_LIB64I%"] == [""] set "CSF_OPT_LIB64I=%CSF_OPT_LIB64%"
|
||||
if ["%CSF_OPT_BIN32I%"] == [""] set "CSF_OPT_BIN32I=%CSF_OPT_BIN32%"
|
||||
if ["%CSF_OPT_BIN64I%"] == [""] set "CSF_OPT_BIN64I=%CSF_OPT_BIN64%"
|
||||
set "CSF_OPT_LIB32D=%CSF_OPT_LIB32%"
|
||||
set "CSF_OPT_LIB64D=%CSF_OPT_LIB64%"
|
||||
set "CSF_OPT_BIN32D=%CSF_OPT_BIN32%"
|
||||
set "CSF_OPT_BIN64D=%CSF_OPT_BIN64%"
|
||||
set "CSF_OPT_LIB32I=%CSF_OPT_LIB32%"
|
||||
set "CSF_OPT_LIB64I=%CSF_OPT_LIB64%"
|
||||
set "CSF_OPT_BIN32I=%CSF_OPT_BIN32%"
|
||||
set "CSF_OPT_BIN64I=%CSF_OPT_BIN64%"
|
||||
|
||||
rem ----- Optional 3rd-parties should be enabled by HAVE macros -----
|
||||
set "CSF_OPT_CMPL="
|
||||
set "PRODUCTS_DEFINES="
|
||||
if ["%HAVE_TBB%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_TBB" & set "CSF_DEFINES=HAVE_TBB;%CSF_DEFINES%"
|
||||
if ["%HAVE_OPENCL%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_OPENCL" & set "CSF_DEFINES=HAVE_OPENCL;%CSF_DEFINES%"
|
||||
if ["%HAVE_TK%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_TK" & set "CSF_DEFINES=HAVE_TK;%CSF_DEFINES%"
|
||||
if ["%HAVE_FREETYPE%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_FREEIMAGE" & set "CSF_DEFINES=HAVE_FREETYPE;%CSF_DEFINES%"
|
||||
if ["%HAVE_GL2PS%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_GL2PS" & set "CSF_DEFINES=HAVE_GL2PS;%CSF_DEFINES%"
|
||||
if ["%HAVE_FREEIMAGE%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_FREEIMAGE" & set "CSF_DEFINES=HAVE_FREEIMAGE;%CSF_DEFINES%"
|
||||
if ["%HAVE_FFMPEG%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_FFMPEG" & set "CSF_DEFINES=HAVE_FFMPEG;%CSF_DEFINES%"
|
||||
if ["%HAVE_VTK%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_VTK" & set "CSF_DEFINES=HAVE_VTK;%CSF_DEFINES%"
|
||||
if ["%HAVE_GLES2%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_GLES2_EXT" & set "CSF_DEFINES=HAVE_GLES2_EXT;%CSF_DEFINES%"
|
||||
if ["%HAVE_GLES2%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_GLES2" & set "CSF_DEFINES=HAVE_GLES2;%CSF_DEFINES%"
|
||||
if ["%HAVE_D3D%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_D3D" & set "CSF_DEFINES=HAVE_D3D;%CSF_DEFINES%"
|
||||
if ["%HAVE_ZLIB%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_ZLIB" & set "CSF_DEFINES=HAVE_ZLIB;%CSF_DEFINES%"
|
||||
if ["%HAVE_LIBLZMA%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_LIBLZMA" & set "CSF_DEFINES=HAVE_LIBLZMA;%CSF_DEFINES%"
|
||||
if ["%HAVE_RAPIDJSON%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_RAPIDJSON" & set "CSF_DEFINES=HAVE_RAPIDJSON;%CSF_DEFINES%"
|
||||
if ["%HAVE_DRACO%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_DRACO" & set "CSF_DEFINES=HAVE_DRACO;%CSF_DEFINES%"
|
||||
if ["%HAVE_OPENVR%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_OPENVR" & set "CSF_DEFINES=HAVE_OPENVR;%CSF_DEFINES%"
|
||||
if ["%HAVE_E57%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_E57" & set "CSF_DEFINES=HAVE_E57;%CSF_DEFINES%"
|
||||
|
||||
rem Eliminate VS warning
|
||||
if ["%CSF_DEFINES%"] == [""] set "CSF_DEFINES=;"
|
||||
@@ -223,20 +171,20 @@ if ["%CSF_DEFINES%"] == [""] set "CSF_DEFINES=;"
|
||||
rem ----- Optional 3rd-parties should be enabled by HAVE macros -----
|
||||
if not ["%PRODUCTS_DEFINES%"] == [""] set "CSF_OPT_CMPL=%CSF_OPT_CMPL% %PRODUCTS_DEFINES%"
|
||||
|
||||
rem ----- Collect 3rd-parties additional include paths into compiler options -----
|
||||
rem ----- Colect 3rd-parties additional include paths into compiler options -----
|
||||
for %%a in ("%CSF_OPT_INC:;=";"%") do (
|
||||
set "anItem=%%~a"
|
||||
if not ["%%~a"] == [""] call :concatCmplInc %%~a
|
||||
)
|
||||
|
||||
rem ----- Collect 3rd-parties additional library paths (32-bit) into linker options -----
|
||||
rem ----- Colect 3rd-parties additional library paths (32-bit) into linker options -----
|
||||
set "OPT_LIB32="
|
||||
for %%a in ("%CSF_OPT_LIB32:;=";"%") do (
|
||||
set "anItem=%%~a"
|
||||
if not ["%%~a"] == [""] call :concatLib32 %%~a
|
||||
)
|
||||
|
||||
rem ----- Collect 3rd-parties additional library paths (64-bit) into linker options -----
|
||||
rem ----- Colect 3rd-parties additional library paths (64-bit) into linker options -----
|
||||
set "OPT_LIB64="
|
||||
for %%a in ("%CSF_OPT_LIB64:;=";"%") do (
|
||||
set "anItem=%%~a"
|
||||
@@ -268,7 +216,7 @@ if ["%CASDEB%"] == ["d"] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64D%;%PAT
|
||||
if ["%CASDEB%"] == ["i"] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32I%;%PATH%"
|
||||
if ["%CASDEB%"] == ["i"] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64I%;%PATH%"
|
||||
|
||||
rem ----- Set environment variables used by OCCT -----
|
||||
rem ----- Set envoronment variables used by OCCT -----
|
||||
set CSF_LANGUAGE=us
|
||||
set MMGT_CLEAR=1
|
||||
set "CSF_SHMessage=%CSF_OCCTResourcePath%\SHMessage"
|
||||
|
@@ -21,7 +21,7 @@ rem ----- Decode VCVER variable and define related ones -----
|
||||
rem
|
||||
rem VCFMT - "vc" followed by full version number of Visual Studio toolset
|
||||
rem (same as VCVER without optional suffix "-uwp")
|
||||
rem VCLIB - name of folder containing binaries
|
||||
rem VCLIB - name of folder contining binaries
|
||||
rem (same as VCVER except without third version in number)
|
||||
rem VCPROP - name of required Visual Studion Workload (starting with VS 2017)
|
||||
rem
|
||||
@@ -70,14 +70,6 @@ if not "%DevEnvDir%" == "" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "vc142" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "vc143" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[17.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "gcc" (
|
||||
rem MinGW
|
||||
) else (
|
||||
@@ -106,16 +98,6 @@ if /I "%VCFMT%" == "vc9" (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v141"
|
||||
) else if /I "%VCFMT%" == "vc142" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v142"
|
||||
) else if /I "%VCFMT%" == "vc143" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[17.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v142"
|
||||
) else if /I "%VCFMT%" == "gcc" (
|
||||
rem MinGW
|
||||
) else (
|
||||
@@ -124,38 +106,31 @@ if /I "%VCFMT%" == "vc9" (
|
||||
exit
|
||||
)
|
||||
|
||||
rem ----- For compatibility with external application using CASROOT -----
|
||||
rem ----- For compatability with external application using CASROOT -----
|
||||
if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%"
|
||||
|
||||
rem ----- Define path to 3rdparty products -----
|
||||
if ["%THIRDPARTY_DIR%"] == [""] set "THIRDPARTY_DIR=@3RDPARTY_DIR@"
|
||||
set "THIRDPARTY_DIR=@3RDPARTY_DIR@"
|
||||
|
||||
if ["%ARCH%"] == ["32"] set VCARCH=x86
|
||||
if ["%ARCH%"] == ["64"] set VCARCH=amd64
|
||||
|
||||
if /I ["%1"] == ["vc141"] set "VCVER=vc14"
|
||||
if /I ["%1"] == ["vc142"] set "VCVER=vc14"
|
||||
if /I ["%1"] == ["vc143"] set "VCVER=vc14"
|
||||
|
||||
if exist "%CASROOT%\custom.bat" (
|
||||
call "%CASROOT%\custom.bat" %VCVER% %ARCH% %CASDEB%
|
||||
)
|
||||
|
||||
if not ["%QTDIR%"] == [""] (
|
||||
set "PATH=%QTDIR%/bin;%PATH%"
|
||||
set "QT_PLUGIN_PATH=%QTDIR%/plugins"
|
||||
)
|
||||
if not ["%TCL_DIR%"] == [""] set "PATH=%TCL_DIR%;%PATH%"
|
||||
if not ["%TK_DIR%"] == [""] set "PATH=%TK_DIR%;%PATH%"
|
||||
if not ["%FREETYPE_DIR%"] == [""] set "PATH=%FREETYPE_DIR%;%PATH%"
|
||||
if not ["%FREEIMAGE_DIR%"] == [""] set "PATH=%FREEIMAGE_DIR%;%PATH%"
|
||||
if not ["%EGL_DIR%"] == [""] set "PATH=%EGL_DIR%;%PATH%"
|
||||
if not ["%GLES2_DIR%"] == [""] set "PATH=%GLES2_DIR%;%PATH%"
|
||||
if not ["%GL2PS_DIR%"] == [""] set "PATH=%GL2PS_DIR%;%PATH%"
|
||||
if not ["%TBB_DIR%"] == [""] set "PATH=%TBB_DIR%;%PATH%"
|
||||
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 ["%QTDIR%"] == [""] set "PATH=%QTDIR%/bin;%PATH%"
|
||||
|
||||
rem ----- Set path to 3rd party and OCCT libraries -----
|
||||
if not "%CSF_OCCTBinPath%" == "" (
|
||||
|
@@ -1,141 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
|
||||
|
||||
# ----- For compatibility with external application using CASROOT -----
|
||||
if [ "${CASROOT}" == "" ]; then
|
||||
export CASROOT="${aScriptPath}"
|
||||
fi
|
||||
|
||||
# ----- Define path to 3rdparty products -----
|
||||
export THIRDPARTY_DIR="@3RDPARTY_DIR@"
|
||||
|
||||
# ----- Read script arguments -----
|
||||
shopt -s nocasematch
|
||||
export CASDEB="";
|
||||
if [[ "$1" == "debug" ]]; then export CASDEB="d"; fi
|
||||
if [[ "$1" == "d" ]]; then export CASDEB="d"; fi
|
||||
if [[ "$1" == "relwithdeb" ]]; then export CASDEB="i"; fi
|
||||
if [[ "$1" == "i" ]]; then export CASDEB="i"; fi
|
||||
shopt -u nocasematch
|
||||
|
||||
# ----- Set path to 3rd party and OCCT libraries -----
|
||||
anArch=`uname -m`
|
||||
if [ "$anArch" != "x86_64" ] && [ "$anArch" != "ia64" ]; then
|
||||
export ARCH="32";
|
||||
else
|
||||
export ARCH="64";
|
||||
fi
|
||||
|
||||
aSystem=`uname -s`
|
||||
if [ "$aSystem" == "Darwin" ]; then
|
||||
export WOKSTATION="mac";
|
||||
export ARCH="64";
|
||||
else
|
||||
export WOKSTATION="lin";
|
||||
fi
|
||||
|
||||
# ----- Set local settings -----
|
||||
if [ -e "${CASROOT}/custom.sh" ]; then
|
||||
source "${CASROOT}/custom.sh" "${CASDEB}" "${ARCH}"
|
||||
fi
|
||||
|
||||
THRDPARTY_PATH=""
|
||||
if [ "$TCL_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${TCL_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$TK_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${TK_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$FREETYPE_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${FREETYPE_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$FREEIMAGE_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${FREEIMAGE_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$TBB_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${TBB_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$VTK_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${VTK_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$FFMPEG_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${FFMPEG_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$JEMALLOC_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${JEMALLOC_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$QTDIR" != "" ]; then
|
||||
THRDPARTY_PATH="${QTDIR}/lib:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$TK_DIR" != "$TCL_DIR" ]; then
|
||||
if [ "$TK_DIR" != "" ]; then
|
||||
export TK_LIBRARY="${TK_DIR}/../lib/tk${TK_VERSION_WITH_DOT}"
|
||||
fi
|
||||
if [ "$TCL_DIR" != "" ]; then
|
||||
export TCL_LIBRARY="${TCL_DIR}/../lib/tcl${TCL_VERSION_WITH_DOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$LD_LIBRARY_PATH" != "" ]; then
|
||||
export LD_LIBRARY_PATH="${THRDPARTY_PATH}:${LD_LIBRARY_PATH}"
|
||||
else
|
||||
export LD_LIBRARY_PATH="${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$CSF_OCCTBinPath" != "" ]; then
|
||||
export PATH="${CSF_OCCTBinPath}:${PATH}"
|
||||
fi
|
||||
|
||||
if [ "$CSF_OCCTLibPath" != "" ]; then
|
||||
if [ "$LD_LIBRARY_PATH" != "" ]; then
|
||||
export LD_LIBRARY_PATH="${CSF_OCCTLibPath}:${LD_LIBRARY_PATH}"
|
||||
else
|
||||
export LD_LIBRARY_PATH="${CSF_OCCTLibPath}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$WOKSTATION" == "mac" ]; then
|
||||
if [ "$DYLD_LIBRARY_PATH" != "" ]; then
|
||||
export DYLD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${DYLD_LIBRARY_PATH}"
|
||||
else
|
||||
export DYLD_LIBRARY_PATH="${LD_LIBRARY_PATH}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ----- Set envoronment variables used by OCCT -----
|
||||
export CSF_LANGUAGE=us
|
||||
export MMGT_CLEAR=1
|
||||
export CSF_SHMessage="${CSF_OCCTResourcePath}/SHMessage"
|
||||
export CSF_MDTVTexturesDirectory="${CSF_OCCTResourcePath}/Textures"
|
||||
export CSF_ShadersDirectory="${CSF_OCCTResourcePath}/Shaders"
|
||||
export CSF_XSMessage="${CSF_OCCTResourcePath}/XSMessage"
|
||||
export CSF_TObjMessage="${CSF_OCCTResourcePath}/TObj"
|
||||
export CSF_StandardDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_PluginDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_XCAFDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_TObjDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_StandardLiteDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_IGESDefaults="${CSF_OCCTResourcePath}/XSTEPResource"
|
||||
export CSF_STEPDefaults="${CSF_OCCTResourcePath}/XSTEPResource"
|
||||
export CSF_XmlOcafResource="${CSF_OCCTResourcePath}/XmlOcafResource"
|
||||
export CSF_MIGRATION_TYPES="${CSF_OCCTResourcePath}/StdResource/MigrationSheet.txt"
|
||||
|
||||
# ----- Draw Harness special stuff -----
|
||||
if [ -e "${CSF_OCCTResourcePath}/DrawResources" ]; then
|
||||
export DRAWHOME="${CSF_OCCTResourcePath}/DrawResources"
|
||||
export CSF_DrawPluginDefaults="${CSF_OCCTResourcePath}/DrawResources"
|
||||
|
||||
if [ -e "${CSF_OCCTResourcePath}/DrawResources/DrawDefault" ]; then
|
||||
export DRAWDEFAULT="${CSF_OCCTResourcePath}/DrawResources/DrawDefault"
|
||||
fi
|
||||
fi
|
@@ -1,143 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
|
||||
|
||||
# ----- For compatibility with external application using CASROOT -----
|
||||
if [ "${CASROOT}" == "" ]; then
|
||||
export CASROOT="@INSTALL_DIR@"
|
||||
fi
|
||||
|
||||
# ----- Define path to 3rdparty products -----
|
||||
if [ "${THIRDPARTY_DIR}" == "" ]; then
|
||||
export THIRDPARTY_DIR="@3RDPARTY_DIR@"
|
||||
fi
|
||||
|
||||
# ----- Read script arguments -----
|
||||
shopt -s nocasematch
|
||||
export CASDEB="";
|
||||
if [[ "$1" == "debug" ]]; then export CASDEB="d"; fi
|
||||
if [[ "$1" == "d" ]]; then export CASDEB="d"; fi
|
||||
if [[ "$1" == "relwithdeb" ]]; then export CASDEB="i"; fi
|
||||
if [[ "$1" == "i" ]]; then export CASDEB="i"; fi
|
||||
shopt -u nocasematch
|
||||
|
||||
# ----- Set path to 3rd party and OCCT libraries -----
|
||||
anArch=`uname -m`
|
||||
if [ "$anArch" != "x86_64" ] && [ "$anArch" != "ia64" ]; then
|
||||
export ARCH="32";
|
||||
else
|
||||
export ARCH="64";
|
||||
fi
|
||||
|
||||
aSystem=`uname -s`
|
||||
if [ "$aSystem" == "Darwin" ]; then
|
||||
export WOKSTATION="mac";
|
||||
export ARCH="64";
|
||||
else
|
||||
export WOKSTATION="lin";
|
||||
fi
|
||||
|
||||
# ----- Set local settings -----
|
||||
if [ -e "${CASROOT}/@INSTALL_DIR_SCRIPT@/custom.sh" ]; then
|
||||
source "${CASROOT}/@INSTALL_DIR_SCRIPT@/custom.sh" "${CASDEB}" "${ARCH}"
|
||||
fi
|
||||
|
||||
THRDPARTY_PATH=""
|
||||
if [ "$TCL_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${TCL_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$TK_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${TK_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$FREETYPE_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${FREETYPE_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$FREEIMAGE_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${FREEIMAGE_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$TBB_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${TBB_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$VTK_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${VTK_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$FFMPEG_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${FFMPEG_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$JEMALLOC_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${JEMALLOC_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$QTDIR" != "" ]; then
|
||||
THRDPARTY_PATH="${QTDIR}/lib:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$TK_DIR" != "$TCL_DIR" ]; then
|
||||
if [ "$TK_DIR" != "" ]; then
|
||||
export TK_LIBRARY="${TK_DIR}/../lib/tk${TK_VERSION_WITH_DOT}"
|
||||
fi
|
||||
if [ "$TCL_DIR" != "" ]; then
|
||||
export TCL_LIBRARY="${TCL_DIR}/../lib/tcl${TCL_VERSION_WITH_DOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$LD_LIBRARY_PATH" != "" ]; then
|
||||
export LD_LIBRARY_PATH="${THRDPARTY_PATH}:${LD_LIBRARY_PATH}"
|
||||
else
|
||||
export LD_LIBRARY_PATH="${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$CSF_OCCTBinPath" != "" ]; then
|
||||
export PATH="${CSF_OCCTBinPath}:${PATH}"
|
||||
fi
|
||||
|
||||
if [ "$CSF_OCCTLibPath" != "" ]; then
|
||||
if [ "$LD_LIBRARY_PATH" != "" ]; then
|
||||
export LD_LIBRARY_PATH="${CSF_OCCTLibPath}:${LD_LIBRARY_PATH}"
|
||||
else
|
||||
export LD_LIBRARY_PATH="${CSF_OCCTLibPath}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$WOKSTATION" == "mac" ]; then
|
||||
if [ "$DYLD_LIBRARY_PATH" != "" ]; then
|
||||
export DYLD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${DYLD_LIBRARY_PATH}"
|
||||
else
|
||||
export DYLD_LIBRARY_PATH="${LD_LIBRARY_PATH}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ----- Set envoronment variables used by OCCT -----
|
||||
export CSF_LANGUAGE=us
|
||||
export MMGT_CLEAR=1
|
||||
export CSF_SHMessage="${CSF_OCCTResourcePath}/SHMessage"
|
||||
export CSF_MDTVTexturesDirectory="${CSF_OCCTResourcePath}/Textures"
|
||||
export CSF_ShadersDirectory="${CSF_OCCTResourcePath}/Shaders"
|
||||
export CSF_XSMessage="${CSF_OCCTResourcePath}/XSMessage"
|
||||
export CSF_TObjMessage="${CSF_OCCTResourcePath}/TObj"
|
||||
export CSF_StandardDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_PluginDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_XCAFDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_TObjDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_StandardLiteDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_IGESDefaults="${CSF_OCCTResourcePath}/XSTEPResource"
|
||||
export CSF_STEPDefaults="${CSF_OCCTResourcePath}/XSTEPResource"
|
||||
export CSF_XmlOcafResource="${CSF_OCCTResourcePath}/XmlOcafResource"
|
||||
export CSF_MIGRATION_TYPES="${CSF_OCCTResourcePath}/StdResource/MigrationSheet.txt"
|
||||
|
||||
# ----- Draw Harness special stuff -----
|
||||
if [ -e "${CSF_OCCTResourcePath}/DrawResources" ]; then
|
||||
export DRAWHOME="${CSF_OCCTResourcePath}/DrawResources"
|
||||
export CSF_DrawPluginDefaults="${CSF_OCCTResourcePath}/DrawResources"
|
||||
|
||||
if [ -e "${CSF_OCCTResourcePath}/DrawResources/DrawDefault" ]; then
|
||||
export DRAWDEFAULT="${CSF_OCCTResourcePath}/DrawResources/DrawDefault"
|
||||
fi
|
||||
fi
|
@@ -6,8 +6,6 @@ if exist "%~dp0custom.bat" (
|
||||
|
||||
call "@INSTALL_DIR_ABSOLUTE@\@INSTALL_DIR_SCRIPT@\env.bat" %1 %2 %3
|
||||
if /I ["%1"] == ["vc141"] set "VCVER=vc141"
|
||||
if /I ["%1"] == ["vc142"] set "VCVER=vc142"
|
||||
if /I ["%1"] == ["vc143"] set "VCVER=vc143"
|
||||
set "BIN_DIR=win%ARCH%\%VCVER%\bind"
|
||||
set "LIB_DIR=win%ARCH%\%VCVER%\libd"
|
||||
|
||||
@@ -28,5 +26,3 @@ if not "%QTDIR%" == "" (
|
||||
set "PATH=%QTDIR%/bin;%PATH%"
|
||||
set "QT_QPA_PLATFORM_PLUGIN_PATH=%QTDIR%\plugins\platforms"
|
||||
)
|
||||
|
||||
set "CSF_OCCTOverviewSampleCodePath=%~dp0..\..\OCCTOverview\code"
|
||||
|
@@ -20,5 +20,3 @@ export STATION=$host
|
||||
export RES_DIR=${aSamplePath}/${STATION}/res
|
||||
|
||||
export PATH=${QTDIR}/bin:${PATH}
|
||||
|
||||
export "CSF_OCCTOverviewSampleCodePath=${aSamplePath}/../../OCCTOverview/code"
|
||||
|
@@ -3,30 +3,20 @@
|
||||
# go to the script directory
|
||||
aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
|
||||
|
||||
aSystem=`uname -s`
|
||||
|
||||
# Reset values
|
||||
export CASROOT="__CASROOT__"
|
||||
export CASDEB=""
|
||||
export PRJFMT="";
|
||||
export TARGET="";
|
||||
export HAVE_TBB="false";
|
||||
export HAVE_OPENCL="false";
|
||||
export HAVE_TK="true";
|
||||
export HAVE_FREETYPE="true";
|
||||
export HAVE_FREEIMAGE="false";
|
||||
export HAVE_FFMPEG="false";
|
||||
export HAVE_GL2PS="false";
|
||||
export HAVE_VTK="false";
|
||||
export HAVE_GLES2="false";
|
||||
export HAVE_ZLIB="false";
|
||||
export HAVE_LIBLZMA="false";
|
||||
export HAVE_RAPIDJSON="false";
|
||||
export HAVE_DRACO="false";
|
||||
export HAVE_OPENVR="false";
|
||||
export HAVE_E57="false";
|
||||
export HAVE_XLIB="true";
|
||||
if [ "$aSystem" == "Darwin" ]; then
|
||||
export HAVE_XLIB="false";
|
||||
fi
|
||||
export MACOSX_USE_GLX="false";
|
||||
export CSF_OPT_INC=""
|
||||
export CSF_OPT_LIB32=""
|
||||
export CSF_OPT_LIB64=""
|
||||
@@ -51,9 +41,9 @@ do
|
||||
elif [ "$i" == "i" ] || [ "$i" == "relwithdeb" ]; then
|
||||
export CASDEB="i"
|
||||
elif [ "$i" == "cbp" ]; then
|
||||
export PRJFMT="cbp";
|
||||
export TARGET="cbp";
|
||||
elif [ "$i" == "xcd" ] || [ "$i" == "xcode" ]; then
|
||||
export PRJFMT="xcd";
|
||||
export TARGET="xcd";
|
||||
fi
|
||||
done
|
||||
shopt -u nocasematch
|
||||
@@ -66,6 +56,7 @@ else
|
||||
export ARCH="64";
|
||||
fi
|
||||
|
||||
aSystem=`uname -s`
|
||||
if [ "$aSystem" == "Darwin" ]; then
|
||||
export WOKSTATION="mac";
|
||||
export ARCH="64";
|
||||
@@ -74,52 +65,44 @@ else
|
||||
fi
|
||||
|
||||
export CASBIN=""
|
||||
if [ "${PRJFMT}" == "xcd" ]; then
|
||||
if [ "${TARGET}" == "cbp" ]; then
|
||||
export CASBIN="${WOKSTATION}/cbp"
|
||||
elif [ "${TARGET}" == "xcd" ]; then
|
||||
export CASBIN="adm/mac/xcd/build"
|
||||
else
|
||||
if [ "$aSystem" == "Darwin" ]; then
|
||||
export CASBIN="${WOKSTATION}/clang"
|
||||
else
|
||||
export CASBIN="${WOKSTATION}/gcc"
|
||||
fi
|
||||
fi
|
||||
|
||||
export CSF_OPT_INC="${CSF_OPT_INC}:${CASROOT}/inc"
|
||||
|
||||
if [ "${PRJFMT}" == "xcd" ]; then
|
||||
export CSF_OPT_LIB32D="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Debug"
|
||||
export CSF_OPT_LIB64D="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Debug"
|
||||
export CSF_OPT_LIB32="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Release"
|
||||
export CSF_OPT_LIB64="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Release"
|
||||
export CSF_OPT_LIB32I="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/RelWithDebInfo"
|
||||
export CSF_OPT_LIB64I="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/RelWithDebInfo"
|
||||
else
|
||||
if [ "${TARGET}" == "cbp" ]; then
|
||||
export CSF_OPT_LIB32D="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/libd"
|
||||
export CSF_OPT_LIB64D="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/libd"
|
||||
export CSF_OPT_LIB32="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/lib"
|
||||
export CSF_OPT_LIB64="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/lib"
|
||||
export CSF_OPT_LIB32I="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/libi"
|
||||
export CSF_OPT_LIB64I="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/libi"
|
||||
elif [ "${TARGET}" == "xcd" ]; then
|
||||
export CSF_OPT_LIB32D="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Debug"
|
||||
export CSF_OPT_LIB64D="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Debug"
|
||||
export CSF_OPT_LIB32="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Release"
|
||||
export CSF_OPT_LIB64="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Release"
|
||||
export CSF_OPT_LIB32I="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/RelWithDebInfo"
|
||||
export CSF_OPT_LIB64I="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/RelWithDebInfo"
|
||||
fi
|
||||
|
||||
export CSF_OPT_CMPL=""
|
||||
|
||||
# Optional 3rd-parties should be enabled by HAVE macros
|
||||
# Optiona 3rd-parties should be enabled by HAVE macros
|
||||
if [ "$HAVE_TBB" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_TBB"; fi
|
||||
if [ "$HAVE_OPENCL" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_OPENCL"; fi
|
||||
if [ "$HAVE_TK" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_TK"; fi
|
||||
if [ "$HAVE_FREETYPE" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_FREETYPE"; fi
|
||||
if [ "$HAVE_FREEIMAGE" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_FREEIMAGE"; fi
|
||||
if [ "$HAVE_FFMPEG" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_FFMPEG"; fi
|
||||
if [ "$HAVE_GLES2" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_GLES2_EXT"; fi
|
||||
if [ "$HAVE_GL2PS" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_GL2PS"; fi
|
||||
if [ "$HAVE_GLES2" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_GLES2"; fi
|
||||
if [ "$HAVE_VTK" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_VTK"; fi
|
||||
if [ "$HAVE_ZLIB" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_ZLIB"; fi
|
||||
if [ "$HAVE_LIBLZMA" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_LIBLZMA"; fi
|
||||
if [ "$HAVE_RAPIDJSON" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_RAPIDJSON"; fi
|
||||
if [ "$HAVE_DRACO" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_DRACO"; fi
|
||||
if [ "$HAVE_OPENVR" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_OPENVR"; fi
|
||||
if [ "$HAVE_E57" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_E57"; fi
|
||||
if [ "$HAVE_XLIB" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_XLIB"; fi
|
||||
# Option to compile OCCT with X11 libs on Mac OS X
|
||||
if [ "$MACOSX_USE_GLX" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DMACOSX_USE_GLX"; fi
|
||||
|
||||
# To split string into array
|
||||
aDelimBack=$IFS
|
||||
@@ -193,7 +176,7 @@ export CSF_OCCTSamplesPath="${CSF_OCCTSamplesPath:-$CASROOT/samples}"
|
||||
export CSF_OCCTDataPath="${CSF_OCCTDataPath:-$CASROOT/data}"
|
||||
export CSF_OCCTTestsPath="${CSF_OCCTTestsPath:-$CASROOT/tests}"
|
||||
|
||||
if [ "${PRJFMT}" == "xcd" ]; then
|
||||
if [ "${TARGET}" == "xcd" ]; then
|
||||
if [ "${CASDEB}" == "d" ]; then
|
||||
export CSF_OCCTBinPath="${CSF_OCCTBinPath:-$CASROOT/$CASBIN/Debug}"
|
||||
else
|
||||
|
141
adm/templates/env.sh.in
Normal file
141
adm/templates/env.sh.in
Normal file
@@ -0,0 +1,141 @@
|
||||
#!/bin/bash
|
||||
|
||||
aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
|
||||
|
||||
# ----- For compatability with external application using CASROOT -----
|
||||
if [ "${CASROOT}" == "" ]; then
|
||||
export CASROOT="@INSTALL_DIR@"
|
||||
fi
|
||||
|
||||
# ----- Define path to 3rdparty products -----
|
||||
export THIRDPARTY_DIR="@3RDPARTY_DIR@"
|
||||
|
||||
# ----- Read script arguments -----
|
||||
shopt -s nocasematch
|
||||
export CASDEB="";
|
||||
if [[ "$1" == "debug" ]]; then export CASDEB="d"; fi
|
||||
if [[ "$1" == "d" ]]; then export CASDEB="d"; fi
|
||||
if [[ "$1" == "relwithdeb" ]]; then export CASDEB="i"; fi
|
||||
if [[ "$1" == "i" ]]; then export CASDEB="i"; fi
|
||||
shopt -u nocasematch
|
||||
|
||||
# ----- Set path to 3rd party and OCCT libraries -----
|
||||
anArch=`uname -m`
|
||||
if [ "$anArch" != "x86_64" ] && [ "$anArch" != "ia64" ]; then
|
||||
export ARCH="32";
|
||||
else
|
||||
export ARCH="64";
|
||||
fi
|
||||
|
||||
aSystem=`uname -s`
|
||||
if [ "$aSystem" == "Darwin" ]; then
|
||||
export WOKSTATION="mac";
|
||||
export ARCH="64";
|
||||
else
|
||||
export WOKSTATION="lin";
|
||||
fi
|
||||
|
||||
# ----- Set local settings -----
|
||||
if [ -e "${CASROOT}/@INSTALL_DIR_SCRIPT@/custom.sh" ]; then
|
||||
source "${CASROOT}/@INSTALL_DIR_SCRIPT@/custom.sh" "${CASDEB}" "${ARCH}"
|
||||
fi
|
||||
|
||||
THRDPARTY_PATH=""
|
||||
if [ "$TCL_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${TCL_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$TK_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${TK_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$FREETYPE_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${FREETYPE_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$FREEIMAGE_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${FREEIMAGE_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$GL2PS_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${GL2PS_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$TBB_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${TBB_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$VTK_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${VTK_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$FFMPEG_DIR" != "" ]; then
|
||||
THRDPARTY_PATH="${FFMPEG_DIR}:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$QTDIR" != "" ]; then
|
||||
THRDPARTY_PATH="${QTDIR}/lib:${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$TK_DIR" != "$TCL_DIR" ]; then
|
||||
if [ "$TK_DIR" != "" ]; then
|
||||
export TK_LIBRARY="${TK_DIR}/../lib/tk${TK_VERSION_WITH_DOT}"
|
||||
fi
|
||||
if [ "$TCL_DIR" != "" ]; then
|
||||
export TCL_LIBRARY="${TCL_DIR}/../lib/tcl${TCL_VERSION_WITH_DOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$LD_LIBRARY_PATH" != "" ]; then
|
||||
export LD_LIBRARY_PATH="${THRDPARTY_PATH}:${LD_LIBRARY_PATH}"
|
||||
else
|
||||
export LD_LIBRARY_PATH="${THRDPARTY_PATH}"
|
||||
fi
|
||||
|
||||
if [ "$CSF_OCCTBinPath" != "" ]; then
|
||||
export PATH="${CSF_OCCTBinPath}:${PATH}"
|
||||
fi
|
||||
|
||||
if [ "$CSF_OCCTLibPath" != "" ]; then
|
||||
if [ "$LD_LIBRARY_PATH" != "" ]; then
|
||||
export LD_LIBRARY_PATH="${CSF_OCCTLibPath}:${LD_LIBRARY_PATH}"
|
||||
else
|
||||
export LD_LIBRARY_PATH="${CSF_OCCTLibPath}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$WOKSTATION" == "mac" ]; then
|
||||
if [ "$DYLD_LIBRARY_PATH" != "" ]; then
|
||||
export DYLD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${DYLD_LIBRARY_PATH}"
|
||||
else
|
||||
export DYLD_LIBRARY_PATH="${LD_LIBRARY_PATH}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ----- Set envoronment variables used by OCCT -----
|
||||
export CSF_LANGUAGE=us
|
||||
export MMGT_CLEAR=1
|
||||
export CSF_SHMessage="${CSF_OCCTResourcePath}/SHMessage"
|
||||
export CSF_MDTVTexturesDirectory="${CSF_OCCTResourcePath}/Textures"
|
||||
export CSF_ShadersDirectory="${CSF_OCCTResourcePath}/Shaders"
|
||||
export CSF_XSMessage="${CSF_OCCTResourcePath}/XSMessage"
|
||||
export CSF_TObjMessage="${CSF_OCCTResourcePath}/TObj"
|
||||
export CSF_StandardDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_PluginDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_XCAFDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_TObjDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_StandardLiteDefaults="${CSF_OCCTResourcePath}/StdResource"
|
||||
export CSF_IGESDefaults="${CSF_OCCTResourcePath}/XSTEPResource"
|
||||
export CSF_STEPDefaults="${CSF_OCCTResourcePath}/XSTEPResource"
|
||||
export CSF_XmlOcafResource="${CSF_OCCTResourcePath}/XmlOcafResource"
|
||||
export CSF_MIGRATION_TYPES="${CSF_OCCTResourcePath}/StdResource/MigrationSheet.txt"
|
||||
|
||||
# ----- Draw Harness special stuff -----
|
||||
if [ -e "${CSF_OCCTResourcePath}/DrawResources" ]; then
|
||||
export DRAWHOME="${CSF_OCCTResourcePath}/DrawResources"
|
||||
export CSF_DrawPluginDefaults="${CSF_OCCTResourcePath}/DrawResources"
|
||||
|
||||
if [ -e "${CSF_OCCTResourcePath}/DrawResources/DrawDefault" ]; then
|
||||
export DRAWDEFAULT="${CSF_OCCTResourcePath}/DrawResources/DrawDefault"
|
||||
fi
|
||||
fi
|
@@ -1,40 +0,0 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
rem Setup environment
|
||||
call "%~dp0env.bat" %1 %2 %3
|
||||
|
||||
rem Define path to project file
|
||||
set "PRJFILE=%~dp0INSTALL.vcxproj"
|
||||
|
||||
if "%VCVER%" == "vc8" (
|
||||
call "%VS80COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc9" (
|
||||
call "%VS90COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc10" (
|
||||
call "%VS100COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc11" (
|
||||
call "%VS110COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc12" (
|
||||
call "%VS120COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc14" (
|
||||
call "%VS140COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc141" (
|
||||
call "%VS141COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc142" (
|
||||
call "%VS142COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc143" (
|
||||
call "%VS143COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else (
|
||||
echo Error: wrong VS identifier
|
||||
exit /B
|
||||
)
|
||||
|
||||
set BUILDCONFIG=Release
|
||||
if "%CASDEB%"=="i" set BUILDCONFIG=RelWithDebInfo
|
||||
if "%CASDEB%"=="d" set BUILDCONFIG=Debug
|
||||
if "%ARCH%"=="32" set PLATFORM=win32
|
||||
if "%ARCH%"=="64" set PLATFORM=x64
|
||||
|
||||
msbuild "%PRJFILE%" /m /fl /flp:LogFile="install_%BUILDCONFIG%.log" /p:Configuration=%BUILDCONFIG% /p:Platform=%PLATFORM% /p:BuildProjectReferences=false
|
||||
endlocal
|
@@ -1,11 +1,10 @@
|
||||
@echo off
|
||||
rem This file has been generated by genproj.tcl script from CASROOT/adm/templates/msvc.bat
|
||||
|
||||
rem Setup environment
|
||||
call "%~dp0env.bat" %1 %2 %3
|
||||
|
||||
rem Define path to project file
|
||||
set "PRJFILE=%~dp0\adm\msvc\%VCVER%\__SOLUTION__.sln"
|
||||
set "PRJFILE=%~dp0\adm\msvc\%VCVER%\OCCT.sln"
|
||||
if not exist "%PRJFILE%" set "PRJFILE=%~dp0\adm\msvc\%VCVER%\Products.sln"
|
||||
if not "%4" == "" (
|
||||
set "PRJFILE=%4"
|
||||
|
@@ -19,7 +19,6 @@ if ["%1"] == [""] (
|
||||
echo AndroidQt
|
||||
echo FuncDemo
|
||||
echo IESample
|
||||
echo OCCTOverview
|
||||
echo Tutorial
|
||||
PAUSE
|
||||
exit /B
|
||||
@@ -36,8 +35,5 @@ if not exist "%EXE_PATH%" (
|
||||
exit /B
|
||||
)
|
||||
|
||||
rem Set path to location where sample code is installed
|
||||
set "CSF_OCCTOverviewSampleCodePath=%CSF_OCCTSamplesPath%\OCCTOverview\code"
|
||||
|
||||
"%EXE_PATH%"
|
||||
|
||||
|
@@ -8,7 +8,6 @@ if [ "$1" == "" ]; then
|
||||
echo available samples:
|
||||
echo FuncDemo
|
||||
echo IESample
|
||||
echo OCCTOverview
|
||||
echo Tutorial
|
||||
fi
|
||||
|
||||
@@ -32,7 +31,5 @@ if [ ! -f "$EXE_PATH" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export CSF_OCCTOverviewSampleCodePath="${CSF_OCCTSamplesPath}/OCCTOverview/code"
|
||||
|
||||
cd ${aCurrentPath}
|
||||
"$EXE_PATH"
|
@@ -90,7 +90,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -100,17 +100,17 @@
|
||||
<ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\obj\__TKNAM__/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
__VCMPL32__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP__;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>.\..\..\..\win32\__VCVER__\bin\__TKNAM__.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
@@ -138,7 +138,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>.\..\..\..\win32\__VCVER__\objd\__TKNAM__/</AssemblerListingLocation>
|
||||
@@ -148,7 +148,7 @@
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
@@ -156,10 +156,10 @@
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP__;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>.\..\..\..\win32\__VCVER__\bind\__TKNAM__.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
@@ -186,7 +186,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -196,17 +196,17 @@
|
||||
<ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\obj\__TKNAM__/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
__VCMPL64__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP__;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>.\..\..\..\win64\__VCVER__\bin\__TKNAM__.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
@@ -234,7 +234,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>.\..\..\..\win64\__VCVER__\objd\__TKNAM__/</AssemblerListingLocation>
|
||||
@@ -244,7 +244,7 @@
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
@@ -252,10 +252,10 @@
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP__;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>.\..\..\..\win64\__VCVER__\bind\__TKNAM__.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
|
@@ -85,7 +85,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -95,15 +95,15 @@
|
||||
<ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\obj\__XQTNAM__/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>__VCReleasePDB__</GenerateDebugInformation>
|
||||
@@ -130,7 +130,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>.\..\..\..\win32\__VCVER__\objd\__XQTNAM__/</AssemblerListingLocation>
|
||||
@@ -140,16 +140,16 @@
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -175,7 +175,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -185,15 +185,15 @@
|
||||
<ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\obj\__XQTNAM__/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL64__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>__VCReleasePDB__</GenerateDebugInformation>
|
||||
@@ -219,7 +219,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>.\..\..\..\win64\__VCVER__\objd\__XQTNAM__/</AssemblerListingLocation>
|
||||
@@ -229,16 +229,16 @@
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL64__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -248,11 +248,7 @@
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
__FILES__
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="__XQTNAM__.rc" />
|
||||
</ItemGroup>
|
||||
__FILES__ </ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
|
@@ -1,8 +1,7 @@
|
||||
#!/bin/bash
|
||||
# This file has been generated by genproj.tcl script from CASROOT/adm/templates/xcode.sh
|
||||
|
||||
export TARGET="xcd"
|
||||
|
||||
source ./env.sh "$1" "$TARGET"
|
||||
|
||||
open -a Xcode ./adm/mac/xcd/__SOLUTION__.xcworkspace
|
||||
open -a Xcode ./adm/mac/xcd/OCCT.xcworkspace
|
||||
|
@@ -71,30 +71,6 @@ BOPTools::MapShapesAndAncestors TopExp::MapShapesAndAncestors
|
||||
BOPCol_Box2DBndTreeSelector BOPTools_BoxSelector<Bnd_Box2d>
|
||||
BiTgte_DataMapOfShapeBox TopTools_DataMapOfShapeBox
|
||||
CDM_MessageDriver Message_Messenger
|
||||
Message_ProgressSentry Message_ProgressScope
|
||||
Adaptor2d_HCurve2d Adaptor2d_Curve2d
|
||||
Adaptor2d_HLine2d Adaptor2d_Line2d
|
||||
Adaptor2d_HOffsetCurve Adaptor2d_OffsetCurve
|
||||
Adaptor3d_HCurve Adaptor3d_Curve
|
||||
Adaptor3d_HCurveOnSurface Adaptor3d_CurveOnSurface
|
||||
Adaptor3d_HIsoCurve Adaptor3d_IsoCurve
|
||||
Adaptor3d_HSurface Adaptor3d_Surface
|
||||
BRepAdaptor_HCompCurve BRepAdaptor_CompCurve
|
||||
BRepAdaptor_HCurve BRepAdaptor_Curve
|
||||
BRepAdaptor_HCurve2d BRepAdaptor_Curve2d
|
||||
BRepAdaptor_HSurface BRepAdaptor_Surface
|
||||
BiTgte_HCurveOnEdge BiTgte_CurveOnEdge
|
||||
BiTgte_HCurveOnVertex BiTgte_CurveOnVertex
|
||||
ChFiDS_HElSpine ChFiDS_ElSpine
|
||||
Geom2dAdaptor_GHCurve Geom2dAdaptor_Curve
|
||||
Geom2dAdaptor_HCurve Geom2dAdaptor_Curve
|
||||
GeomAdaptor_GHCurve GeomAdaptor_Curve
|
||||
GeomAdaptor_GHSurface GeomAdaptor_Surface
|
||||
GeomAdaptor_HCurve GeomAdaptor_Curve
|
||||
GeomAdaptor_HSurface GeomAdaptor_Surface
|
||||
GeomAdaptor_HSurfaceOfLinearExtrusion GeomAdaptor_SurfaceOfLinearExtrusion
|
||||
GeomAdaptor_HSurfaceOfRevolution GeomAdaptor_SurfaceOfRevolution
|
||||
PrsMgr_PresentationManager3d PrsMgr_PresentationManager
|
||||
|
||||
[tcollection]
|
||||
AdvApp2Var_SequenceOfNode
|
||||
|
@@ -52,7 +52,7 @@ proc HelpInformation {} {
|
||||
loginfo " -$ArgName(Rename) - apply renaming of classes"
|
||||
loginfo ""
|
||||
loginfo "Advanced options:"
|
||||
loginfo " -$ArgName(CompatibleMode) - preserve old RTTI macros for compatibility with OCCT 6.x"
|
||||
loginfo " -$ArgName(CompatibleMode) - preserve old RTTI macros for compatability with OCCT 6.x"
|
||||
loginfo " -$ArgName(CheckOnly) - do check only, no modifications will be made"
|
||||
loginfo " -$ArgName(WLog) - show gui log of upgrade process"
|
||||
loginfo " -$ArgName(Log)=<file path> - put the log into a file"
|
||||
@@ -370,7 +370,7 @@ proc upgrade {args} {
|
||||
}
|
||||
}
|
||||
|
||||
# search and rename the indices (old names) of @theNewNames with their values (new ones)
|
||||
# search and rename the indeces (old names) of @theNewNames with their values (new ones)
|
||||
# processes files that have @theExtensions only in @thePath folder
|
||||
proc Rename {thePath theExtensions theNewNames theCheckMode} {
|
||||
upvar $theNewNames aNewNames
|
||||
@@ -405,7 +405,7 @@ proc Rename {thePath theExtensions theNewNames theCheckMode} {
|
||||
}
|
||||
}
|
||||
|
||||
# @thePackagePath either file or folder. If it is a folder,
|
||||
# @thePackagePath eather file or folder. If it is a folder,
|
||||
# all files with @theHeaderExtensions are processed.
|
||||
# "fwd.tcollection" section from upgrade.ini file is used to find out what
|
||||
# classes have been converted and, thus, what forward declarations can be replaced
|
||||
|
@@ -43,7 +43,6 @@ configure_file ("${OCCT_OVERVIEW_RESOURCE_DIR}/occt_ug_html.doxyfile" "${OCCT_CO
|
||||
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nPROJECT_NUMBER = ${OCC_VERSION_STRING_EXT}")
|
||||
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nOUTPUT_DIRECTORY = ${OCCT_GENERATED_OVERVIEW_DIR}/.")
|
||||
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nPROJECT_LOGO = ${OCCT_OVERVIEW_DIR}/resources/occ_logo.png")
|
||||
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nEXAMPLE_PATH = ${CMAKE_SOURCE_DIR}/src")
|
||||
|
||||
set (OCCT_ARTICLE_PARAM_INPUT "INPUT =")
|
||||
set (OCCT_ARTICLE_PARAM_IMAGEPATH "IMAGE_PATH = ${OCCT_OVERVIEW_DIR}/resources/ ")
|
||||
@@ -90,14 +89,6 @@ file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nEXTERNAL_SEARCH = NO")
|
||||
# Formula options
|
||||
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nMATHJAX_RELPATH = ${3RDPARTY_MATHJAX_RELATIVE_PATH}")
|
||||
|
||||
# If MSVC is used as build system, change warning format to the one recognized by MSVC
|
||||
if (MSVC)
|
||||
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nWARN_FORMAT = \"$file($line): $text\"")
|
||||
endif()
|
||||
|
||||
# Avoid Doxygen parsing messages in the build log
|
||||
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nQUIET = YES")
|
||||
|
||||
# Copy index file to provide fast access to HTML documentation
|
||||
file(COPY "${OCCT_OVERVIEW_RESOURCE_DIR}/index.html" DESTINATION "${OCCT_GENERATED_OVERVIEW_DIR}")
|
||||
|
||||
|
@@ -5,62 +5,54 @@
|
||||
# The order of files in this list determines order of top-level pages
|
||||
# in the generated documentation.
|
||||
|
||||
introduction/introduction.md
|
||||
overview/overview.md
|
||||
|
||||
samples/samples.md
|
||||
../samples/mfc/standard/ReadMe.md
|
||||
../samples/CSharp/ReadMe.md
|
||||
../samples/CSharp/ReadMe_D3D.md
|
||||
|
||||
../samples/qt/AndroidQt/ReadMe.md
|
||||
../samples/qt/IESample/ReadMe.md
|
||||
../samples/qt/OCCTOverview/ReadMe.md
|
||||
../samples/qt/Tutorial/ReadMe.md
|
||||
../samples/java/jniviewer/ReadMe.md
|
||||
../samples/ios/UIKitSample/ReadMe.md
|
||||
../samples/webgl/ReadMe.md
|
||||
../samples/glfw/readme.md
|
||||
samples/ocaf.md
|
||||
samples/ocaf_func.md
|
||||
samples/draw_scripts.md
|
||||
samples/ais_object.md
|
||||
|
||||
samples/novice_guide.md
|
||||
tutorial/tutorial.md
|
||||
|
||||
build/build_upgrade.md
|
||||
build/build_occt/building_occt.md
|
||||
build/build_3rdparty/building_3rdparty.md
|
||||
build/build_documentation/building_documentation.md
|
||||
|
||||
debug/debug.md
|
||||
upgrade/upgrade.md
|
||||
technical_overview/technical_overview.md
|
||||
|
||||
user_guides/user_guides.md
|
||||
user_guides/foundation_classes/foundation_classes.md
|
||||
user_guides/modeling_data/modeling_data.md
|
||||
user_guides/modeling_algos/modeling_algos.md
|
||||
user_guides/mesh/mesh.md
|
||||
user_guides/boolean_operations/boolean_operations.md
|
||||
user_guides/shape_healing/shape_healing.md
|
||||
user_guides/visualization/visualization.md
|
||||
user_guides/iges/iges.md
|
||||
user_guides/step/step.md
|
||||
user_guides/xde/xde.md
|
||||
user_guides/de_wrapper/de_wrapper.md
|
||||
user_guides/ocaf/ocaf.md
|
||||
user_guides/tobj/tobj.md
|
||||
user_guides/draw_test_harness/draw_test_harness.md
|
||||
user_guides/inspector/inspector.md
|
||||
user_guides/brep_wp/brep_wp.md
|
||||
user_guides/vis/vis.md
|
||||
|
||||
specification/specification.md
|
||||
specification/boolean_operations/boolean_operations.md
|
||||
specification/brep_format.md
|
||||
specification/pbr_math.md
|
||||
dev_guides/dev_guides.md
|
||||
dev_guides/documentation/documentation.md
|
||||
dev_guides/contribution/coding_rules.md
|
||||
dev_guides/contribution_workflow/contribution_workflow.md
|
||||
dev_guides/git_guide/git_guide.md
|
||||
dev_guides/tests/tests.md
|
||||
dev_guides/debug/debug.md
|
||||
dev_guides/upgrade/upgrade.md
|
||||
|
||||
contribution/contribution.md
|
||||
contribution/documentation/documentation.md
|
||||
contribution/coding_rules.md
|
||||
contribution/contribution_workflow/contribution_workflow.md
|
||||
contribution/git_guide/git_guide.md
|
||||
contribution/tests/tests.md
|
||||
dev_guides/building/building.md
|
||||
dev_guides/building/3rdparty/3rdparty_windows.md
|
||||
dev_guides/building/3rdparty/3rdparty_linux.md
|
||||
dev_guides/building/3rdparty/3rdparty_osx.md
|
||||
dev_guides/building/cmake/cmake.md
|
||||
dev_guides/building/android/android.md
|
||||
dev_guides/building/code_blocks.md
|
||||
dev_guides/building/msvc.md
|
||||
dev_guides/building/xcode.md
|
||||
|
||||
license.md
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user