+++ /dev/null
-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 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 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_c f -D_GNU_SOURCE=1 -fexceptions
-lin cmplrs_c b -D_GNU_SOURCE=1 -fexceptions
-
+++ /dev/null
-#!/usr/bin/tclsh
-
-# =======================================================================
-# Created on: 2012-01-26
-# Created by: Kirill GAVRILOV
-# Copyright (c) 2012 OPEN CASCADE SAS
-#
-# This file is part of Open CASCADE Technology software library.
-#
-# This library is free software; you can redistribute it and/or modify it under
-# the terms of the GNU Lesser General Public License version 2.1 as published
-# by the Free Software Foundation, with special exception defined in the file
-# OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-# distribution for complete text of the license and disclaimer of any warranty.
-#
-# Alternatively, this file may be used under the terms of Open CASCADE
-# commercial license or contractual agreement.
-
-# =======================================================================
-# GUI procedure for search of third-party tools and generation of environment
-# customization script
-# =======================================================================
-
-# 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" != "" } {
- 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"
-}
-if { ! [catch {exec vswhere.exe -version "\[15.0,15.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] && "$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"
-}
-
-# detect installed Visual Studio instances from global environment
-if { [info exists ::env(VS140COMNTOOLS)] } {
- lappend ::SYS_VS_LIST "Visual Studio 2015 (14, toolset v140)"
- lappend ::SYS_VC_LIST "vc14"
- lappend ::SYS_VCVARS_LIST "%VS140COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
-
- lappend ::SYS_VS_LIST "Visual Studio 2015 (14, toolset v140) UWP"
- lappend ::SYS_VC_LIST "vc14-uwp"
- lappend ::SYS_VCVARS_LIST "%VS140COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
-}
-if { [info exists ::env(VS120COMNTOOLS)] } {
- lappend ::SYS_VS_LIST "Visual Studio 2013 (12, toolset v120)"
- lappend ::SYS_VC_LIST "vc12"
- lappend ::SYS_VCVARS_LIST "%VS120COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
-}
-if { [info exists ::env(VS110COMNTOOLS)] } {
- lappend ::SYS_VS_LIST "Visual Studio 2012 (11, toolset v110)"
- lappend ::SYS_VC_LIST "vc11"
- lappend ::SYS_VCVARS_LIST "%VS110COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
-}
-if { [info exists ::env(VS100COMNTOOLS)] } {
- lappend ::SYS_VS_LIST "Visual Studio 2010 (10, toolset v100)"
- lappend ::SYS_VC_LIST "vc10"
- lappend ::SYS_VCVARS_LIST "%VS100COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
-}
-if { [info exists ::env(VS90COMNTOOLS)] } {
- lappend ::SYS_VS_LIST "Visual Studio 2008 (9, toolset v90)"
- lappend ::SYS_VC_LIST "vc9"
- lappend ::SYS_VCVARS_LIST "%VS90COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
-}
-if { [info exists ::env(VS80COMNTOOLS)] } {
- lappend ::SYS_VS_LIST "Visual Studio 2005 (8, toolset v80)"
- lappend ::SYS_VC_LIST "vc8"
- lappend ::SYS_VCVARS_LIST "%VS80COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
-}
-lappend ::SYS_VS_LIST "Custom"
-lappend ::SYS_VC_LIST "vcX"
-lappend ::SYS_VCVARS_LIST "%VSXXCOMNTOOLS%..\\..\\VC\\vcvarsall.bat"
-
-set aVcVerIndex [lsearch $::SYS_VC_LIST $::VCVER]
-set ::VSVER [lindex $::SYS_VS_LIST $aVcVerIndex]
-if { "$::VCVARS" == "" } {
- set ::VCVARS [lindex $::SYS_VCVARS_LIST $aVcVerIndex]
-}
-
-proc wokdep:gui:Close {} {
- # if changed ask
- 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]]
-
- 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 {}
- wokdep:gui:UpdateList
-}
-
-proc wokdep:gui:SwitchArch {} {
- wokdep:gui:Show3264Bitness ::aRowIter
-
- if { [llength [grid info .myFrame.mySave]] != 0 } {
- grid forget .myFrame.mySave .myFrame.myClose
- }
-
- # Bottom section
- grid .myFrame.mySave -row $::aRowIter -column 4 -columnspan 2
- 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 {}
- set anLib64Errs {}
- 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" } {
- wokdep:SearchEGL anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
- wokdep:SearchGLES anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
- }
- if { "$::HAVE_FREEIMAGE" == "true" } {
- wokdep:SearchFreeImage anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
- }
- if { "$::HAVE_FFMPEG" == "true" } {
- wokdep:SearchFFmpeg anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
- }
- if { "$::HAVE_OPENVR" == "true" } {
- wokdep:SearchOpenVR anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
- }
- if { "$::HAVE_TBB" == "true" } {
- wokdep:SearchTBB anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
- }
-# if { "$::HAVE_OPENCL" == "true" } {
-# wokdep:SearchOpenCL anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
-# }
- if { "$::HAVE_VTK" == "true" } {
- wokdep:SearchVTK anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
- }
-
- 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"}
- }
- if { "$::HAVE_LIBLZMA" == "true" } {
- set aCheckLib "lzma"
- if { "$::tcl_platform(platform)" == "windows" } {
- set aCheckLib "liblzma"
- }
- 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_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]
-}
-
-proc wokdep:gui:BrowseVcVars {} {
- set aResult [tk_chooseDirectory -initialdir $::VCVARS -title "Choose a directory"]
- if { "$aResult" != "" } {
- set ::VCVARS $aResult
- }
-}
-
-proc wokdep:gui:BrowsePartiesRoot {} {
- set aResult [tk_chooseDirectory -initialdir $::PRODUCTS_PATH_INPUT -title "Choose a directory"]
- if { "$aResult" != "" } {
- set ::PRODUCTS_PATH_INPUT $aResult
- wokdep:gui:UpdateList
- }
-}
-
-proc wokdep:gui:AddIncPath {} {
- set aResult [tk_chooseDirectory -title "Choose a directory"]
- if { "$aResult" != "" } {
- lappend ::CSF_OPT_INC "$aResult"
- wokdep:gui:UpdateList
- }
-}
-
-proc wokdep:gui:AddLibPath {} {
- set aCfg [wokdep:gui:configSuffix]
- set aResult [tk_chooseDirectory -title "Choose a directory"]
- if { "$aResult" != "" } {
- lappend ::CSF_OPT_LIB${::ARCH}${aCfg} "$aResult"
- wokdep:gui:UpdateList
- }
-}
-
-proc wokdep:gui:AddBinPath {} {
- set aCfg [wokdep:gui:configSuffix]
- set aResult [tk_chooseDirectory -title "Choose a directory"]
- if { "$aResult" != "" } {
- lappend ::CSF_OPT_BIN${::ARCH}${aCfg} "$aResult"
- wokdep:gui:UpdateList
- }
-}
-
-proc wokdep:gui:RemoveIncPath {} {
- set aSelIndices [.myFrame.myIncList curselection]
- if { [llength $aSelIndices] != 0 } {
- .myFrame.myIncList delete [lindex $aSelIndices 0]
- }
- wokdep:gui:UpdateList
-}
-
-proc wokdep:gui:RemoveLibPath {} {
- set aCfg [wokdep:gui:configSuffix]
- set aSelIndices [.myFrame.myLib${::ARCH}${aCfg}_List curselection]
- if { [llength $aSelIndices] != 0 } {
- .myFrame.myLib${::ARCH}${aCfg}_List delete [lindex $aSelIndices 0]
- }
- wokdep:gui:UpdateList
-}
-
-proc wokdep:gui:RemoveBinPath {} {
- set aCfg [wokdep:gui:configSuffix]
- set aSelIndices [.myFrame.myBin${::ARCH}${aCfg}_List curselection]
- if { [llength $aSelIndices] != 0 } {
- .myFrame.myBin${::ARCH}${aCfg}_List delete [lindex $aSelIndices 0]
- }
- wokdep:gui:UpdateList
-}
-
-proc wokdep:gui:ResetIncPath {} {
- set ::CSF_OPT_INC {}
- 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 {}
- wokdep:gui:UpdateList
-}
-
-proc wokdep:gui:Show3264Bitness { theRowIter } {
- upvar $theRowIter aRowIter
-
- set aArchOld ""
- set aCfg [wokdep:gui:configSuffix]
- if { "$::ARCH" == "32" } {
- set aArchOld "64"
- } else {
- set aArchOld "32"
- }
-
- 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
- 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
- incr aRowIter
- #grid .myFrame.myLib${aNewCfg}_Edit -row $aRowIter -column 6
- incr aRowIter
- grid .myFrame.myLib${aNewCfg}_Remove -row $aRowIter -column 6
- incr aRowIter
- grid .myFrame.myLib${aNewCfg}_Clear -row $aRowIter -column 6
- incr aRowIter
- grid .myFrame.myLib${aNewCfg}_ErrLbl -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
- 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
- incr aRowIter
- #grid .myFrame.myBin${aNewCfg}_Edit -row $aRowIter -column 6
- incr aRowIter
- grid .myFrame.myBin${aNewCfg}_Remove -row $aRowIter -column 6
- incr aRowIter
- grid .myFrame.myBin${aNewCfg}_Clear -row $aRowIter -column 6
- incr aRowIter
- grid .myFrame.myBin${aNewCfg}_ErrLbl -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
-ttk::label .myFrame.myHxxChecks.myRelDebInfoLbl -text "Release with Debug info"
-checkbutton .myFrame.myHxxChecks.myRelDebInfoCheck -offvalue "false" -onvalue "true" -variable HAVE_RelWithDebInfo
-
-#
-ttk::combobox .myFrame.myHxxChecks.myScutsCombo -values { {ShortCut} {Copy} {HardLink} } -textvariable SHORTCUT_HEADERS -state readonly -width 12
-ttk::label .myFrame.myHxxChecks.myScutsLbl -text "Strategy for filling headers folder inc:"
-
-#
-ttk::label .myFrame.mySrchLbl -text "3rd-parties search path:" -padding {5 5 80 5}
-entry .myFrame.mySrchEntry -textvariable PRODUCTS_PATH_INPUT -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.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"
-}
-if { "$::tcl_platform(platform)" == "windows" } {
- checkbutton .myFrame.myChecks.myD3dCheck -offvalue "false" -onvalue "true" -variable HAVE_D3D -command wokdep:gui:UpdateList
- ttk::label .myFrame.myChecks.myD3dLbl -text "Use Direct3D"
-}
-checkbutton .myFrame.myChecks.myFFmpegCheck -offvalue "false" -onvalue "true" -variable HAVE_FFMPEG -command wokdep:gui:UpdateList
-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"
-ttk::label .myFrame.myChecks.myVtkLbl -text "Use VTK"
-checkbutton .myFrame.myChecks.myVtkCheck -offvalue "false" -onvalue "true" -variable HAVE_VTK -command wokdep:gui:UpdateList
-
-checkbutton .myFrame.myChecks.myZLibCheck -offvalue "false" -onvalue "true" -variable HAVE_ZLIB -command wokdep:gui:UpdateList
-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.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"
-listbox .myFrame.myIncList -listvariable CSF_OPT_INC -width 80 -height 5 -yscrollcommand ".myFrame.myIncScrl set"
-ttk::button .myFrame.myIncAdd -text "Add" -command wokdep:gui:AddIncPath
-ttk::button .myFrame.myIncEdit -text "Edit"
-ttk::button .myFrame.myIncRemove -text "Remove" -command wokdep:gui:RemoveIncPath
-ttk::button .myFrame.myIncClear -text "Reset" -command wokdep:gui:ResetIncPath
-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}
-
-# 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}
-
-# 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}
-
-# 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}
-
-# Bottom
-ttk::button .myFrame.mySave -text "Save" -command wokdep:SaveCustom
-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
-}
-
-#
-grid .myFrame.myHxxChecks -row $aRowIter -column 0 -columnspan 10 -sticky w
-grid .myFrame.myHxxChecks.myScutsLbl -row 0 -column 0
-grid .myFrame.myHxxChecks.myScutsCombo -row 0 -column 1
-if { "$tcl_platform(platform)" == "windows" } {
- grid .myFrame.myHxxChecks.myRelDebInfoCheck -row 0 -column 2
- grid .myFrame.myHxxChecks.myRelDebInfoLbl -row 0 -column 3
-}
-incr aRowIter
-#
-grid .myFrame.mySrchLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
-incr aRowIter
-grid .myFrame.mySrchEntry -row $aRowIter -column 0 -columnspan 5
-grid .myFrame.mySrchBrowseBtn -row $aRowIter -column 6
-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
-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
-}
-#grid .myFrame.myChecks.myOpenClCheck -row $aCheckRowIter -column 6 -sticky e
-#grid .myFrame.myChecks.myOpenClLbl -row $aCheckRowIter -column 7 -sticky w
-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
-
-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
-
-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
-}
-
-incr aCheckRowIter
-
-grid .myFrame.myChecks.myTbbCheck -row $aCheckRowIter -column 12 -sticky e
-grid .myFrame.myChecks.myTbbLbl -row $aCheckRowIter -column 13 -sticky w
-
-incr aCheckRowIter
-
-# Additional headers search paths
-grid .myFrame.myIncLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
-incr aRowIter
-grid .myFrame.myIncList -row $aRowIter -column 0 -rowspan 4 -columnspan 5
-grid .myFrame.myIncScrl -row $aRowIter -column 5 -rowspan 4
-grid .myFrame.myIncAdd -row $aRowIter -column 6
-incr aRowIter
-#grid .myFrame.myIncEdit -row $aRowIter -column 6
-incr aRowIter
-grid .myFrame.myIncRemove -row $aRowIter -column 6
-incr aRowIter
-grid .myFrame.myIncClear -row $aRowIter -column 6
-incr aRowIter
-grid .myFrame.myIncErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
-incr aRowIter
-
-# Additional search paths
-wokdep:gui:Show3264Bitness 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
-}
-
-wokdep:gui:UpdateList
+++ /dev/null
-# =======================================================================
-# Created on: 2012-01-26
-# Created by: Kirill GAVRILOV
-# Copyright (c) 2012 OPEN CASCADE SAS
-#
-# This file is part of Open CASCADE Technology software library.
-#
-# This library is free software; you can redistribute it and/or modify it under
-# the terms of the GNU Lesser General Public License version 2.1 as published
-# by the Free Software Foundation, with special exception defined in the file
-# OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-# distribution for complete text of the license and disclaimer of any warranty.
-#
-# Alternatively, this file may be used under the terms of Open CASCADE
-# commercial license or contractual agreement.
-
-# =======================================================================
-# Tools for search of third-party libraries and generation on environment
-# customization script
-# =======================================================================
-
-set ARCH "64"
-
-if { "$tcl_platform(platform)" == "unix" } {
- set SYS_PATH_SPLITTER ":"
- set SYS_LIB_PREFIX "lib"
- 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 ""
-} elseif { "$tcl_platform(platform)" == "windows" } {
- set SYS_PATH_SPLITTER ";"
- set SYS_LIB_PREFIX ""
- set SYS_LIB_SUFFIX "lib"
- set SYS_EXE_SUFFIX ".exe"
- set VCVER "vc10"
- set VCVARS ""
- set PRJFMT "vcxproj"
-}
-
-set SHORTCUT_HEADERS "ShortCut"
-
-set PRODUCTS_PATH ""
-set CSF_OPT_INC [list]
-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"
-}
-if { [info exists ::env(ARCH)] } {
- set ARCH "$::env(ARCH)"
-}
-
-if { [info exists ::env(SHORTCUT_HEADERS)] } {
- set SHORTCUT_HEADERS "$::env(SHORTCUT_HEADERS)"
- if { $SHORTCUT_HEADERS == "true" } {
- set SHORTCUT_HEADERS "ShortCut"
- }
-}
-
-# 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" }
-foreach anEnvIter $THE_ENV_VARIABLES {
- if { [info exists ::env(${anEnvIter})] } {
- set ${anEnvIter} "$::env(${anEnvIter})"
- }
-}
-# do not export platform-specific variables
-if { "$::tcl_platform(os)" == "Darwin" } {
- set HAVE_GLES2 ""
-}
-if { "$tcl_platform(platform)" != "windows" } {
- set HAVE_D3D ""
- set HAVE_RelWithDebInfo ""
-} else {
- set HAVE_XLIB ""
-}
-foreach anEnvIter {ARCH VCVER VCVARS PRJFMT } {
- 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]
-}
-if { [info exists ::env(CSF_OPT_LIB32)] } {
- set CSF_OPT_LIB32 [split "$::env(CSF_OPT_LIB32)" $::SYS_PATH_SPLITTER]
-}
-if { [info exists ::env(CSF_OPT_LIB64)] } {
- set CSF_OPT_LIB64 [split "$::env(CSF_OPT_LIB64)" $::SYS_PATH_SPLITTER]
-}
-if { [info exists ::env(CSF_OPT_BIN32)] } {
- set CSF_OPT_BIN32 [split "$::env(CSF_OPT_BIN32)" $::SYS_PATH_SPLITTER]
-}
-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
- foreach anIncPath $::CSF_OPT_INC {
- set aPath "${anIncPath}/${theHeader}"
- if { [file exists "$aPath"] } {
- return "$aPath"
- }
- }
-
- # search in system
- set aPath "/usr/include/${theHeader}"
- if { [file exists "$aPath"] } {
- return "$aPath"
- }
-
- if { "$::tcl_platform(os)" == "Linux" } {
- if { "$::ARCH" == "64" } {
- set aPath "/usr/include/x86_64-linux-gnu/${theHeader}"
- if { [file exists "$aPath"] } {
- return "$aPath"
- }
- } else {
- set aPath "/usr/include/i386-linux-gnu/${theHeader}"
- if { [file exists "$aPath"] } {
- return "$aPath"
- }
- }
- }
-
- return ""
-}
-
-# Search library file in $::CSF_OPT_LIB* and standard paths
-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 ""
- }
- }
-
- # 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"
- }
- }
- }
-
- return ""
-}
-
-# Search file in $::CSF_OPT_BIN* and standard paths
-proc wokdep:SearchBin {theBin theBitness {theSearchPath ""}} {
- if { "$theSearchPath" != "" } {
- set aPath "${theSearchPath}/${theBin}"
- if { [file exists "$aPath"] } {
- return "$aPath"
- } else {
- return ""
- }
- }
-
- # search in custom paths
- foreach aBinPath [set ::CSF_OPT_BIN$theBitness] {
- set aPath "${aBinPath}/${theBin}"
- if { [file exists "$aPath"] } {
- return "$aPath"
- }
- }
-
- # search in system
- if { "$::ARCH" == "$theBitness"} {
- set aPath "/usr/bin/${theBin}"
- if { [file exists "$aPath"] } {
- return "$aPath"
- }
- }
-
- return ""
-}
-
-# Detect compiler C-runtime version 'vc*' and architecture '32'/'64'
-# to determine preferred path.
-proc wokdep:Preferred {theList theCmpl theArch} {
- if { [llength $theList] == 0 } {
- return ""
- }
-
- # 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 {
- if { [string first "$aCmpl" "$aPath"] != "-1" } {
- lappend aShortList "$aPath"
- }
- }
-
- if { [llength $aShortList] == 0 } {
- #return [lindex $theList 0]
- set aShortList $theList
- }
-
- set aVeryShortList {}
- foreach aPath $aShortList {
- if { [string first "$theArch" "$aPath"] != "-1" } {
- lappend aVeryShortList "$aPath"
- }
- }
- if { [llength $aVeryShortList] == 0 } {
- return [lindex [lsort -decreasing $aShortList] 0]
- }
-
- return [lindex [lsort -decreasing $aVeryShortList] 0]
-}
-
-# Search library placement
-proc wokdep:SearchStandardLibrary {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64 theName theCheckHeader theCheckLib theCheckFolders} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- set isFound "true"
- set aHeaderPath [wokdep:SearchHeader "$theCheckHeader"]
- if { "$aHeaderPath" == "" } {
- set hasHeader false
- foreach aFolderIter $theCheckFolders {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{$aFolderIter}*] "$::VCVER" "$::ARCH" ]
- if { "$aPath" != "" && [file exists "$aPath/include/$theCheckHeader"] } {
- lappend ::CSF_OPT_INC "$aPath/include"
- set hasHeader true
- break
- }
- }
- if { !$hasHeader } {
- lappend anErrInc "Error: '$theCheckHeader' not found ($theName)"
- set isFound "false"
- }
- }
-
- foreach anArchIter {64 32} {
- set aLibPath [wokdep:SearchLib "$theCheckLib" "$anArchIter"]
- if { "$aLibPath" == "" } {
- set hasLib false
- foreach aFolderIter $theCheckFolders {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{$aFolderIter}*] "$::VCVER" "$anArchIter" ]
- set aLibPath [wokdep:SearchLib "$theCheckLib" "$anArchIter" "$aPath/lib"]
- if { "$aLibPath" != "" } {
- 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
- }
- }
- if { !$hasLib } {
- lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}$theCheckLib.${::SYS_LIB_SUFFIX}' not found ($theName)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
-
- if { "$::tcl_platform(platform)" == "windows" } {
- set aDllPath [wokdep:SearchBin "$theCheckLib.dll" "$anArchIter"]
- if { "$aDllPath" == "" } {
- set hasDll false
- foreach aFolderIter $theCheckFolders {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{$aFolderIter}*] "$::VCVER" "$anArchIter" ]
- set aDllPath [wokdep:SearchBin "$theCheckLib.dll" "$anArchIter" "$aPath/bin"]
- if { "$aDllPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
- set hasDll true
- break
- } else {
- set aDllPath [wokdep:SearchBin "$theCheckLib.dll" "$anArchIter" "$aPath/lib"]
- if { "$aDllPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/lib"
- set hasDll true
- break
- }
- }
- }
- if { !$hasDll } {
- lappend anErrBin$anArchIter "Error: '$theCheckLib.dll' not found ($theName)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
- }
-
- return "$isFound"
-}
-
-# Search Tcl/Tk libraries placement
-proc wokdep:SearchTclTk {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- set tclver_maj 8
- set tclver_min 6
-
- set isFound "true"
- set aTclHPath [wokdep:SearchHeader "tcl.h"]
- set aTkHPath [wokdep:SearchHeader "tk.h"]
- if { "$aTclHPath" == "" || "$aTkHPath" == "" } {
- if { [file exists "/usr/include/tcl8.6/tcl.h"]
- && [file exists "/usr/include/tcl8.6/tk.h" ] } {
- lappend ::CSF_OPT_INC "/usr/include/tcl8.6"
- set aTclHPath "/usr/include/tcl8.6/tcl.h"
- } else {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{tcl}*] "$::VCVER" "$::ARCH" ]
- if { "$aPath" != "" && [file exists "$aPath/include/tcl.h"] && [file exists "$aPath/include/tk.h"] } {
- lappend ::CSF_OPT_INC "$aPath/include"
- set aTclHPath "$aPath/include/tcl.h"
- } else {
- lappend anErrInc "Error: 'tcl.h' or 'tk.h' not found (Tcl/Tk)"
- set isFound "false"
- }
- }
- }
-
- # detect tcl version by parsing header file
- if { $isFound } {
- set fh [open $aTclHPath]
- set tcl_h [read $fh]
- close $fh
- regexp {define\s+TCL_MAJOR_VERSION\s+([0-9]+)} $tcl_h dummy tclver_maj
- regexp {define\s+TCL_MINOR_VERSION\s+([0-9]+)} $tcl_h dummy tclver_min
- }
-
- if { "$::tcl_platform(platform)" == "windows" } {
- set aTclLibName "tcl${tclver_maj}${tclver_min}"
- set aTkLibName "tk${tclver_maj}${tclver_min}"
- } else {
- set aTclLibName "tcl${tclver_maj}.${tclver_min}"
- set aTkLibName "tk${tclver_maj}.${tclver_min}"
- }
-
- foreach anArchIter {64 32} {
- set aTclLibPath [wokdep:SearchLib "$aTclLibName" "$anArchIter"]
- set aTkLibPath [wokdep:SearchLib "$aTkLibName" "$anArchIter"]
- if { "$aTclLibPath" == "" || "$aTkLibPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{tcl}*] "$::VCVER" "$anArchIter" ]
- set aTclLibPath [wokdep:SearchLib "$aTclLibName" "$anArchIter" "$aPath/lib"]
- set aTkLibPath [wokdep:SearchLib "$aTkLibName" "$anArchIter" "$aPath/lib"]
- if { "$aTclLibPath" != "" && "$aTkLibPath" != "" } {
- lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
- } else {
- lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}${aTclLibName}.${::SYS_LIB_SUFFIX}' or '${::SYS_LIB_PREFIX}${aTkLibName}.${::SYS_LIB_SUFFIX}' not found (Tcl/Tk)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
-
- if { "$::tcl_platform(platform)" == "windows" } {
- set aTclDllPath [wokdep:SearchBin "${aTclLibName}.dll" "$anArchIter"]
- set aTkDllPath [wokdep:SearchBin "${aTkLibName}.dll" "$anArchIter"]
- if { "$aTclDllPath" == "" || "$aTkDllPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{tcl}*] "$::VCVER" "$anArchIter" ]
- set aTclDllPath [wokdep:SearchBin "${aTclLibName}.dll" "$anArchIter" "$aPath/bin"]
- set aTkDllPath [wokdep:SearchBin "${aTkLibName}.dll" "$anArchIter" "$aPath/bin"]
- if { "$aTclDllPath" != "" && "$aTkDllPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
- } else {
- lappend anErrBin$anArchIter "Error: '${aTclLibName}.dll' or '${aTkLibName}.dll' not found (Tcl/Tk)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
- }
-
- return "$isFound"
-}
-
-# Search FreeType library placement
-proc wokdep:SearchFreeType {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- set isFound "true"
- set aFtBuildPath [wokdep:SearchHeader "ft2build.h"]
-
- if { "$aFtBuildPath" == "" } {
- # TODO - use `freetype-config --cflags` instead
- set aSysFreeType "/usr/include/freetype2"
- if { [file exists "$aSysFreeType/ft2build.h"] } {
- lappend ::CSF_OPT_INC "$aSysFreeType"
- } elseif { [file exists "$aSysFreeType/freetype2/ft2build.h"] } {
- lappend ::CSF_OPT_INC "$aSysFreeType/freetype2"
- } else {
- set aSysFreeType "/usr/X11/include/freetype2"
- if { [file exists "$aSysFreeType/ft2build.h"] } {
- lappend ::CSF_OPT_INC "/usr/X11/include"
- lappend ::CSF_OPT_INC "$aSysFreeType"
- } else {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{freetype}*] "$::VCVER" "$::ARCH" ]
- if {"$aPath" != ""} {
- if {[file exists "$aPath/include/ft2build.h"]} {
- lappend ::CSF_OPT_INC "$aPath/include"
- } elseif {[file exists "$aPath/include/freetype2/ft2build.h"]} {
- lappend ::CSF_OPT_INC "$aPath/include/freetype2"
- }
- } else {
- lappend anErrInc "Error: 'freetype.h' not found (FreeType2)"
- set isFound "false"
- }
- }
- }
- }
-
- # parse 'freetype-config --libs'
- set aConfLibPath ""
- if { [catch { set aConfLibs [exec freetype-config --libs] } ] == 0 } {
- foreach aPath [split $aConfLibs " "] {
- if { [string first "-L" "$aPath"] == 0 } {
- set aConfLibPath [string range "$aPath" 2 [string length "$aPath"]]
- }
- }
- }
-
- foreach anArchIter {64 32} {
- set aFtLibPath [wokdep:SearchLib "freetype" "$anArchIter"]
- if { "$aFtLibPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{freetype}*] "$::VCVER" "$anArchIter" ]
- set aFtLibPath [wokdep:SearchLib "freetype" "$anArchIter" "$aPath/lib"]
- if { "$aFtLibPath" != "" } {
- lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
- } else {
- set aFtLibPath [wokdep:SearchLib "freetype" "$anArchIter" "$aConfLibPath"]
- if { "$aFtLibPath" != "" } {
- lappend ::CSF_OPT_LIB$anArchIter "$aConfLibPath"
- } else {
- lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}freetype.${::SYS_LIB_SUFFIX}' not found (FreeType2)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
- if { "$::tcl_platform(platform)" == "windows" } {
- set aFtDllPath [wokdep:SearchBin "freetype.dll" "$anArchIter"]
- if { "$aFtDllPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{freetype}*] "$::VCVER" "$anArchIter" ]
- set aFtDllPath [wokdep:SearchBin "freetype.dll" "$anArchIter" "$aPath/bin"]
- if { "$aFtDllPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
- } else {
- set aFtDllPath [wokdep:SearchBin "freetype.dll" "$anArchIter" "$aPath/lib"]
- if { "$aFtDllPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/lib"
- } else {
- lappend anErrBin$anArchIter "Error: 'freetype.dll' not found (FreeType2)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
- }
- }
-
- return "$isFound"
-}
-
-# Search FreeImage library placement
-proc wokdep:SearchFreeImage {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- # binary distribution has another layout
- set aFImageDist "Dist"
-
- set isFound "true"
- set aFImageHPath [wokdep:SearchHeader "FreeImage.h"]
- if { "$aFImageHPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{freeimage}*] "$::VCVER" "$::ARCH" ]
- if { "$aPath" != "" && [file exists "$aPath/include/FreeImage.h"] } {
- lappend ::CSF_OPT_INC "$aPath/include"
- } elseif { "$aPath" != "" && [file exists "$aPath/$aFImageDist/FreeImage.h"] } {
- lappend ::CSF_OPT_INC "$aPath/$aFImageDist"
- } else {
- lappend anErrInc "Error: 'FreeImage.h' not found (FreeImage)"
- set isFound "false"
- }
- }
-
- foreach anArchIter {64 32} {
- set aFImageLibPath [wokdep:SearchLib "freeimage" "$anArchIter"]
- if { "$aFImageLibPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{freeimage}*] "$::VCVER" "$anArchIter" ]
- set aFImageLibPath [wokdep:SearchLib "freeimage" "$anArchIter" "$aPath/lib"]
- if { "$aFImageLibPath" != "" } {
- lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
- } else {
- set aFImageLibPath [wokdep:SearchLib "freeimage" "$anArchIter" "$aPath/$aFImageDist"]
- if { "$aFImageLibPath" != "" } {
- lappend ::CSF_OPT_LIB$anArchIter "$aPath/$aFImageDist"
- } else {
- lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}freeimage.${::SYS_LIB_SUFFIX}' not found (FreeImage)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
- if { "$::tcl_platform(platform)" == "windows" } {
- set aFImageDllPath [wokdep:SearchBin "freeimage.dll" "$anArchIter"]
- if { "$aFImageDllPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{freeimage}*] "$::VCVER" "$anArchIter" ]
- set aFImageDllPath [wokdep:SearchBin "freeimage.dll" "$anArchIter" "$aPath/bin"]
- if { "$aFImageDllPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
- } else {
- set aFImageDllPath [wokdep:SearchBin "freeimage.dll" "$anArchIter" "$aPath/$aFImageDist"]
- if { "$aFImageDllPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/$aFImageDist"
- } else {
- lappend anErrBin$anArchIter "Error: 'freeimage.dll' is not found (FreeImage)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
- }
- }
-
- return "$isFound"
-}
-
-# Search FFmpeg framework placement
-proc wokdep:SearchFFmpeg {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- set isFound "true"
- set aFFmpegHPath [wokdep:SearchHeader "libavutil/avutil.h"]
- if { "$aFFmpegHPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{ffmpeg}*] "$::VCVER" "$::ARCH" ]
- if { "$aPath" != "" && [file exists "$aPath/include/libavutil/avutil.h"] } {
- lappend ::CSF_OPT_INC "$aPath/include"
- } else {
- lappend anErrInc "Error: 'libavutil/avutil.h' not found (FFmpeg)"
- set isFound "false"
- }
- }
-
- foreach anArchIter {64 32} {
- set aFFmpegLibPath [wokdep:SearchLib "avutil" "$anArchIter"]
- if { "$aFFmpegLibPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{ffmpeg}*] "$::VCVER" "$anArchIter" ]
- set aFFmpegLibPath [wokdep:SearchLib "avutil" "$anArchIter" "$aPath/lib"]
- if { "$aFFmpegLibPath" != "" } {
- lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
- } else {
- lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}avutil.${::SYS_LIB_SUFFIX}' not found (FFmpeg)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
-
- 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
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- # 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"]
- if { "$aTbbHPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{tbb}*] "$::VCVER" "$::ARCH" ]
- if { "$aPath" != "" && [file exists "$aPath/include/tbb/scalable_allocator.h"] } {
- lappend ::CSF_OPT_INC "$aPath/include"
- } else {
- lappend anErrInc "Error: 'tbb/scalable_allocator.h' not found (Intel TBB)"
- set isFound "false"
- }
- }
-
- foreach anArchIter {64 32} {
- set aSubDir "ia32"
- if { "$anArchIter" == "64"} {
- set aSubDir "intel64"
- }
-
- set aTbbLibPath [wokdep:SearchLib "tbb" "$anArchIter"]
- if { "$aTbbLibPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{tbb}*] $aVcLib "$anArchIter" ]
- set aTbbLibPath [wokdep:SearchLib "tbb" "$anArchIter" "$aPath/lib/$aSubDir/$aVcLib"]
- if { "$aTbbLibPath" == "" } {
- # Set the path to the TBB library for Linux
- if { "$::tcl_platform(platform)" != "windows" } {
- set aSubDir "$aSubDir/cc4.1.0_libc2.4_kernel2.6.16.21"
- }
- set aTbbLibPath [wokdep:SearchLib "tbb" "$anArchIter" "$aPath/lib/$aSubDir"]
- if { "$aTbbLibPath" != "" } {
- lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib/$aSubDir"
- }
- } else {
- lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib/$aSubDir/$aVcLib"
- }
- if { "$aTbbLibPath" == "" } {
- lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}tbb.${::SYS_LIB_SUFFIX}' not found (Intel TBB)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- if { "$::tcl_platform(platform)" == "windows" } {
- set aTbbDllPath [wokdep:SearchBin "tbb12.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"]
- if { "$aTbbDllPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin/$aSubDir/$aVcLib"
- } else {
- lappend anErrBin$anArchIter "Error: 'tbb12.dll' not found (Intel TBB)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
- }
-
- return "$isFound"
-}
-
-# Search OpenCL library placement
-proc wokdep:SearchOpenCL {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- set isFound "true"
- if { "$::tcl_platform(os)" == "Darwin" } {
- # OpenCL framework available since Mac OS X 16
- return "$isFound"
- }
-
- set aCLHPath [wokdep:SearchHeader "CL/cl_gl.h"]
- if { "$aCLHPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{OpenCL}*] "$::VCVER" "$::ARCH" ]
- if { "$aPath" != "" && [file exists "$aPath/include/CL/cl_gl.h"] } {
- lappend ::CSF_OPT_INC "$aPath/include"
- } else {
- lappend anErrInc "Error: 'CL/cl_gl.h' not found (OpenCL)"
- set isFound "false"
- }
- }
-
- foreach anArchIter {64 32} {
- set aCLLibPath [wokdep:SearchLib "OpenCL" "$anArchIter"]
- if { "$aCLLibPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{OpenCL}*] "$::VCVER" "$anArchIter" ]
- set aCLLibPath [wokdep:SearchLib "OpenCL" "$anArchIter" "$aPath/lib"]
- if { "$aCLLibPath" != "" } {
- lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
- } else {
- lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}OpenCL.${::SYS_LIB_SUFFIX}' not found (OpenCL)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
-
- return "$isFound"
-}
-
-# Search EGL library placement
-proc wokdep:SearchEGL {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- set isFound "true"
- set aHeaderPath [wokdep:SearchHeader "EGL/egl.h"]
- if { "$aHeaderPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{EGL}*] "$::VCVER" "$::ARCH" ]
- if { "$aPath" == "" || ![file exists "$aPath/include/EGL/egl.h"] } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{angle}*] "$::VCVER" "$::ARCH" ]
- }
-
- if { "$aPath" != "" && [file exists "$aPath/include/EGL/egl.h"] } {
- lappend ::CSF_OPT_INC "$aPath/include"
- } else {
- lappend anErrInc "Error: 'EGL/egl.h' not found (EGL)"
- set isFound "false"
- }
- }
-
- set aLibName "EGL"
- if { "$::tcl_platform(platform)" == "windows" } {
- # awkward exception
- set aLibName "libEGL"
- }
-
- foreach anArchIter {64 32} {
- set aLibPath [wokdep:SearchLib "$aLibName" "$anArchIter"]
- if { "$aLibPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{EGL}*] "$::VCVER" "$anArchIter" ]
- set aLibPath [wokdep:SearchLib "$aLibName" "$anArchIter" "$aPath/lib"]
- if { "$aLibPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{angle}*] "$::VCVER" "$anArchIter" ]
- set aLibPath [wokdep:SearchLib "$aLibName" "$anArchIter" "$aPath/lib"]
- }
-
- if { "$aLibPath" != "" } {
- lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
- } else {
- lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}${aLibName}.${::SYS_LIB_SUFFIX}' not found (EGL)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
-
- if { "$::tcl_platform(platform)" == "windows" } {
- set aDllPath [wokdep:SearchBin "libEGL.dll" "$anArchIter"]
- if { "$aDllPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{EGL}*] "$::VCVER" "$anArchIter" ]
- set aDllPath [wokdep:SearchBin "libEGL.dll" "$anArchIter" "$aPath/bin"]
- if { "$aDllPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{angle}*] "$::VCVER" "$anArchIter" ]
- set aDllPath [wokdep:SearchBin "libEGL.dll" "$anArchIter" "$aPath/bin"]
- }
-
- if { "$aDllPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
- } else {
- lappend anErrBin$anArchIter "Error: 'libEGL.dll' not found (EGL)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
- }
-
- return "$isFound"
-}
-
-# Search OpenGL ES 2.0 library placement
-proc wokdep:SearchGLES {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- set isFound "true"
- set aHeaderPath [wokdep:SearchHeader "GLES2/gl2.h"]
- if { "$aHeaderPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{GLES}*] "$::VCVER" "$::ARCH" ]
- if { "$aPath" == "" || ![file exists "$aPath/include/GLES2/gl2.h"] } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{angle}*] "$::VCVER" "$::ARCH" ]
- }
-
- if { "$aPath" != "" && [file exists "$aPath/include/GLES2/gl2.h"] } {
- lappend ::CSF_OPT_INC "$aPath/include"
- } else {
- lappend anErrInc "Error: 'GLES2/gl2.h' not found (OpenGL ES 2.0)"
- set isFound "false"
- }
- }
-
- set aLibName "GLESv2"
- if { "$::tcl_platform(platform)" == "windows" } {
- # awkward exception
- set aLibName "libGLESv2"
- }
-
- foreach anArchIter {64 32} {
- set aLibPath [wokdep:SearchLib "$aLibName" "$anArchIter"]
- if { "$aLibPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{GLES}*] "$::VCVER" "$anArchIter" ]
- set aLibPath [wokdep:SearchLib "$aLibName" "$anArchIter" "$aPath/lib"]
- if { "$aLibPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{angle}*] "$::VCVER" "$anArchIter" ]
- set aLibPath [wokdep:SearchLib "$aLibName" "$anArchIter" "$aPath/lib"]
- }
-
- if { "$aLibPath" != "" } {
- lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
- } else {
- lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}${aLibName}.${::SYS_LIB_SUFFIX}' not found (OpenGL ES 2.0)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
-
- if { "$::tcl_platform(platform)" == "windows" } {
- set aDllPath [wokdep:SearchBin "libGLESv2.dll" "$anArchIter"]
- if { "$aDllPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{EGL}*] "$::VCVER" "$anArchIter" ]
- set aDllPath [wokdep:SearchBin "libGLESv2.dll" "$anArchIter" "$aPath/bin"]
- if { "$aDllPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{angle}*] "$::VCVER" "$anArchIter" ]
- set aDllPath [wokdep:SearchBin "libGLESv2.dll" "$anArchIter" "$aPath/bin"]
- }
-
- if { "$aDllPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
- } else {
- lappend anErrBin$anArchIter "Error: 'libGLESv2.dll' not found (OpenGL ES 2.0)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
- }
-
- 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"
-
- set aVtkRoot [lindex [regexp -all -inline {[0-9.]*} [file tail $thePath]] 0]
- if { "$aVtkRoot" != "" } {
- set aVtkRoot [regexp -inline {[0-9]*.[0-9]*} $aVtkRoot]
- if { "$aVtkRoot" != "" } {
- set aResult $aVtkRoot
- }
- }
-
- return $aResult
-}
-
-# Search VTK library placement
-proc wokdep:SearchVTK {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- set isFound "true"
-
- set aVtkPath ""
- set aVtkIncPath [wokdep:SearchHeader "vtkConfigure.h"]
- set aVtkVer [wokdep:VtkVersion $aVtkIncPath]
- if { "$aVtkIncPath" == ""} {
- set aPathList [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{VTK}*]
- set aVtkPath [wokdep:Preferred "$aPathList" "$::VCVER" "$::ARCH" ]
- if { "$aVtkPath" != "" && [file exists "$aVtkPath/include/vtk-[wokdep:VtkVersion $aVtkPath]/vtkConfigure.h"]} {
- set aVtkVer [wokdep:VtkVersion $aVtkPath]
- lappend ::CSF_OPT_INC "$aVtkPath/include/vtk-[wokdep:VtkVersion $aVtkPath]"
- } else { # try to search in all found paths
- set isFound "false"
- foreach anIt $aPathList {
- if { [file exists "$anIt/include/vtk-[wokdep:VtkVersion $anIt]/vtkConfigure.h"] } {
- set aVtkPath $anIt
- set aVtkVer [wokdep:VtkVersion $aVtkPath]
- lappend ::CSF_OPT_INC "$anIt/include/vtk-[wokdep:VtkVersion $anIt]"
- set isFound "true"
- break
- }
- }
-
- # Bad case: we do not found vtkConfigure.h in all paths.
- if { "$isFound" == "false"} {
- lappend anErrInc "Error: 'vtkConfigure.h' not found (VTK)"
- set isFound "false"
- }
- }
- }
-
- set aVtkLibPath ""
- foreach anArchIter {64 32} {
- set aVtkLibPath [wokdep:SearchLib "vtkCommonCore-$aVtkVer" "$anArchIter"]
- if { "$aVtkLibPath" == "" } {
- set aPathList [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{VTK}*]
- set aPath [wokdep:Preferred $aPathList "$::VCVER" "$anArchIter" ]
- set aVtkLibPath [wokdep:SearchLib "vtkCommonCore-$aVtkVer" "$anArchIter" "$aPath/lib"]
- if { "$aVtkLibPath" != "" } {
- lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
- } else {
- set aPath [wokdep:SearchLib "vtkCommonCore-$aVtkVer" "$anArchIter" "$aVtkPath/lib"]
- if { "$aPath" != "" } {
- set aLibPath $aVtkIncPath
- lappend ::CSF_OPT_LIB$anArchIter "$aLibPath/lib"
- } else {
- # The last chance: search /lib directory in all found paths
- foreach anIt $aPathList {
- set aVtkLibPath [wokdep:SearchLib "vtkCommonCore-$aVtkVer" "$anArchIter" "$anIt/lib"]
- if { "$aVtkLibPath" != ""} {
- lappend ::CSF_OPT_LIB$anArchIter "$anIt/lib"
- break
- }
- }
- if { "$aVtkLibPath" == "" } {
- lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}vtkCommonCore-${aVtkVer}\.${::SYS_LIB_SUFFIX}' not found (VTK)"
- if { "$::ARCH" == "$anArchIter" } {
- set isFound "false"
- }
- }
- }
- }
- }
-
- # Search binary path
- if { "$::tcl_platform(platform)" == "windows" } {
- 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 aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$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 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} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- 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"]
- if { "$aQMsgBoxHPath" == "" } {
- if { "$aPath" != "" && [file exists "$aPath/include/QtGui/qguiapplication.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"
- set isFound "false"
- }
- }
-
- set aQtGuiLibName "QtGui"
- if { "$::tcl_platform(platform)" == "windows" } {
- set aQtGuiLibName "Qt5Gui"
- }
-
- foreach anArchIter {64 32} {
- set aQMsgBoxLibPath [wokdep:SearchLib "${aQtGuiLibName}" "$anArchIter"]
- if { "$aQMsgBoxLibPath" == "" } {
- 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)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- if { "$::tcl_platform(platform)" == "windows" } {
- set aQMsgBoxDllPath [wokdep:SearchBin "${aQtGuiLibName}.dll" "$anArchIter"]
- if { "$aQMsgBoxDllPath" == "" } {
- set aQMsgBoxDllPath [wokdep:SearchBin "${aQtGuiLibName}.dll" "$anArchIter" "$aPath/bin"]
- if { "$aQMsgBoxDllPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
- } else {
- lappend anErrBin$anArchIter "Error: '${aQtGuiLibName}.dll' not found (Qt)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
- }
-
- return "$isFound"
-}
-
-# Search JDK placement
-proc wokdep:SearchJDK {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- set isFound "true"
- set aJniHPath [wokdep:SearchHeader "jni.h"]
- set aJniMdHPath [wokdep:SearchHeader "jni_md.h"]
- if { "$aJniHPath" == "" || "$aJniMdHPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{jdk,java}*] "$::VCVER" "$::ARCH" ]
- if { "$aPath" != "" && [file exists "$aPath/include/jni.h"] } {
- lappend ::CSF_OPT_INC "$aPath/include"
- if { "$::tcl_platform(platform)" == "windows" } {
- lappend ::CSF_OPT_INC "$aPath/include/win32"
- } elseif { [file exists "$aPath/include/linux"] } {
- lappend ::CSF_OPT_INC "$aPath/include/linux"
- }
- } else {
- if { [file exists "/System/Library/Frameworks/JavaVM.framework/Home/include/jni.h"] } {
- lappend ::CSF_OPT_INC "/System/Library/Frameworks/JavaVM.framework/Home/include"
- } else {
- lappend anErrInc "Error: 'jni.h' or 'jni_md.h' not found (JDK)"
- set isFound "false"
- }
- }
- }
-
- foreach anArchIter {64 32} {
- set aJavacPath [wokdep:SearchBin "javac${::SYS_EXE_SUFFIX}" "$anArchIter"]
- if { "$aJavacPath" == "" } {
- set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{jdk,java}*] "$::VCVER" "$anArchIter" ]
- set aJavacPath [wokdep:SearchBin "javac${::SYS_EXE_SUFFIX}" "$anArchIter" "$aPath/bin"]
- if { "$aJavacPath" != "" } {
- lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
- } else {
- if { "$::ARCH" == "$anArchIter" && [file exists "/System/Library/Frameworks/JavaVM.framework/Home/bin/javac${::SYS_EXE_SUFFIX}"] } {
- lappend ::CSF_OPT_BIN$anArchIter "/System/Library/Frameworks/JavaVM.framework/Home/bin"
- } else {
- lappend anErrBin$anArchIter "Error: 'javac${::SYS_EXE_SUFFIX}' not found (JDK)"
- if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
- }
- }
- }
- }
-
- return "$isFound"
-}
-
-# Search X11 libraries placement
-proc wokdep:SearchX11 {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
- upvar $theErrInc anErrInc
- upvar $theErrLib32 anErrLib32
- upvar $theErrLib64 anErrLib64
- upvar $theErrBin32 anErrBin32
- upvar $theErrBin64 anErrBin64
-
- set isFound "true"
- if { "$::tcl_platform(platform)" == "windows" || ( "$::tcl_platform(os)" == "Darwin" && "$::HAVE_XLIB" != "true" ) } {
- return "$isFound"
- }
-
- set aX11LibPath [wokdep:SearchLib "X11" "$::ARCH"]
- if { "$aX11LibPath" == "" } {
- set aX11LibPath [wokdep:SearchLib "X11" "$::ARCH" "/usr/X11/lib"]
- if { "$aX11LibPath" != "" } {
- #lappend ::CSF_OPT_LIB$::ARCH "/usr/X11/lib"
- } else {
- lappend anErrLib$::ARCH "Error: '${::SYS_LIB_PREFIX}X11.${::SYS_LIB_SUFFIX}' not found (X11)"
- set isFound "false"
- }
- }
-
- 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 ""
- puts $aFile "set PRJFMT=$::PRJFMT"
- puts $aFile "set VCVER=$::VCVER"
- puts $aFile "set ARCH=$::ARCH"
- puts $aFile "set VCVARS=$::VCVARS"
- puts $aFile "set SHORTCUT_HEADERS=$::SHORTCUT_HEADERS"
-
- puts $aFile ""
- puts $aFile "set \"PRODUCTS_PATH=$::PRODUCTS_PATH\""
-
- puts $aFile ""
- puts $aFile "rem Optional 3rd-parties switches"
- foreach anEnvIter $::THE_ENV_VARIABLES {
- set aName ${anEnvIter}
- set aValue [set ::${anEnvIter}]
- if { "$aValue" != "" } {
- puts $aFile "set ${aName}=$aValue"
- }
- }
-
- 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 ""
- puts $aFile "export PRJFMT=$::PRJFMT"
- puts $aFile "export ARCH=$::ARCH"
- puts $aFile "export SHORTCUT_HEADERS=$::SHORTCUT_HEADERS"
-
- puts $aFile ""
- puts $aFile "export 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" != "" } {
- puts $aFile "export ${aName}=${aValue}"
- }
- }
-
- 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}"]
- }
- puts $aFile ""
- puts $aFile "# Additional libraries ($::ARCH-bit) search paths"
- puts $aFile "export CSF_OPT_LIB$::ARCH=\"[set aStringLib]\""
-
- 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}"]
- }
- 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]\""
- }
-
- 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'"
- }
-}
+++ /dev/null
-# =======================================================================
-# Created on: 2014-07-24
-# Created by: SKI
-# Copyright (c) 2014 OPEN CASCADE SAS
-#
-# This file is part of Open CASCADE Technology software library.
-#
-# This library is free software; you can redistribute it and/or modify it under
-# the terms of the GNU Lesser General Public License version 2.1 as published
-# by the Free Software Foundation, with special exception defined in the file
-# OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-# distribution for complete text of the license and disclaimer of any warranty.
-#
-# Alternatively, this file may be used under the terms of Open CASCADE
-# commercial license or contractual agreement.
-
-# =======================================================================
-# This script defines Tcl command genproj generating project files for
-# different IDEs and platforms. Run it with -help to get synopsis.
-# =======================================================================
-
-source [file join [file dirname [info script]] genconfdeps.tcl]
-
-# the script is assumed to be run from CASROOT (or dependent Products root)
-set path [file normalize .]
-set THE_CASROOT ""
-set fBranch ""
-if { [info exists ::env(CASROOT)] } {
- set THE_CASROOT [file normalize "$::env(CASROOT)"]
-}
-
-proc _get_options { platform type branch } {
- set res ""
- if {[file exists "$::THE_CASROOT/adm/CMPLRS"]} {
- set fd [open "$::THE_CASROOT/adm/CMPLRS" rb]
- set opts [split [read $fd] "\n"]
- close $fd
- foreach line $opts {
- if {[regexp "^${platform} ${type} ${branch} (.+)$" $line dummy res]} {
- while {[regexp {\(([^\(\)]+) ([^\(\)]+) ([^\(\)]+)\)(.+)} $res dummy p t b oldres]} {
- set res "[_get_options $p $t $b] $oldres"
- }
- }
- }
- }
- return $res
-}
-
-proc _get_type { name } {
- set UDLIST {}
- if {[file exists "$::path/adm/UDLIST"]} {
- set fd [open "$::path/adm/UDLIST" rb]
- set UDLIST [concat $UDLIST [split [read $fd] "\n"]]
- close $fd
- }
- if { "$::path/adm/UDLIST" != "$::THE_CASROOT/adm/UDLIST" && [file exists "$::THE_CASROOT/adm/UDLIST"] } {
- set fd [open "$::THE_CASROOT/adm/UDLIST" rb]
- set UDLIST [concat $UDLIST [split [read $fd] "\n"]]
- close $fd
- }
-
- foreach uitem $UDLIST {
- set line [split $uitem]
- if {[lindex $line 1] == "$name"} {
- return [lindex $line 0]
- }
- }
- return ""
-}
-
-proc _get_used_files { pk theSrcDir {inc true} {src true} } {
- global path
- set type [_get_type $pk]
- set lret {}
- set pk_path "$path/$theSrcDir/$pk"
- set FILES_path "$path/$theSrcDir/$pk/FILES"
- set FILES {}
- if {[file exists $FILES_path]} {
- set fd [open $FILES_path rb]
- set FILES [split [read $fd] "\n"]
- close $fd
- }
- set FILES [lsearch -inline -all -not -exact $FILES ""]
-
- set index -1
- foreach line $FILES {
- incr index
- if {$inc && ([regexp {([^:\s]*\.[hgl]xx)$} $line dummy name] || [regexp {([^:\s]*\.h)$} $line dummy name]) && [file exists $pk_path/$name]} {
- lappend lret "pubinclude $name $pk_path/$name"
- continue
- }
- if {[regexp {:} $line]} {
- regexp {[^:]*:+([^\s]*)} $line dummy line
- }
- regexp {([^\s]*)} $line dummy line
- if {$src && [file exists $pk_path/$line]} {
- lappend lret "source $line $pk_path/$line"
- }
- }
- return $lret
-}
-
-# return location of the path within source directory
-proc osutils:findSrcSubPath {theSrcDir theSubPath} {
- if {[file exists "$::path/$theSrcDir/$theSubPath"]} {
- return "$::path/$theSrcDir/$theSubPath"
- }
- return "$::THE_CASROOT/$theSrcDir/$theSubPath"
-}
-
-# Auxiliary tool comparing content of two files line-by-line.
-proc osutils:isEqualContent { theContent1 theContent2 } {
- set aLen1 [llength $theContent1]
- set aLen2 [llength $theContent2]
- if { $aLen1 != $aLen2 } {
- return false
- }
-
- for {set aLineIter 0} {$aLineIter < $aLen1} {incr aLineIter} {
- set aLine1 [lindex $theContent1 $aLineIter]
- set aLine2 [lindex $theContent2 $aLineIter]
- if { $aLine1 != $aLine2 } {
- return false
- }
- }
- return true
-}
-
-# Auxiliary function for writing new file content only if it has been actually changed
-# (e.g. to preserve file timestamp on no change).
-# Useful for automatically (re)generated files.
-proc osutils:writeTextFile { theFile theContent {theEol lf} {theToBackup false} } {
- if {[file exists "${theFile}"]} {
- set aFileOld [open "${theFile}" rb]
- fconfigure $aFileOld -translation crlf
- set aLineListOld [split [read $aFileOld] "\n"]
- close $aFileOld
-
- # append empty line for proper comparison (which will be implicitly added by last puts below)
- set aContent $theContent
- lappend aContent ""
- if { [osutils:isEqualContent $aLineListOld $aContent] == true } {
- return false
- }
-
- if { $theToBackup == true } {
- puts "Warning: file ${theFile} is updated. Old content is saved to ${theFile}.bak"
- file copy -force -- "${theFile}" "${theFile}.bak"
- }
- file delete -force "${theFile}"
- }
-
- set anOutFile [open "$theFile" "w"]
- fconfigure $anOutFile -translation $theEol
- foreach aLine ${theContent} {
- puts $anOutFile "${aLine}"
- }
- close $anOutFile
- return true
-}
-
-# Function re-generating header files for specified text resource
-proc genResources { theSrcDir theResource } {
- global path
-
- set aResFileList {}
- set aResourceAbsPath [file normalize "${path}/$theSrcDir/${theResource}"]
- set aResourceDirectory ""
- set isResDirectory false
-
- if {[file isdirectory "${aResourceAbsPath}"]} {
- if {[file exists "${aResourceAbsPath}/FILES"]} {
- set aFilesFile [open "${aResourceAbsPath}/FILES" rb]
- set aResFileList [split [read $aFilesFile] "\n"]
- close $aFilesFile
- }
- set aResFileList [lsearch -inline -all -not -exact $aResFileList ""]
- set aResourceDirectory "${theResource}"
- set isResDirectory true
- } else {
- set aResourceName [file tail "${theResource}"]
- lappend aResFileList "res:::${aResourceName}"
- set aResourceDirectory [file dirname "${theResource}"]
- }
-
- foreach aResFileIter ${aResFileList} {
- if {![regexp {^[^:]+:::(.+)} "${aResFileIter}" dump aResFileIter]} {
- continue
- }
-
- set aResFileName [file tail "${aResFileIter}"]
- regsub -all {\.} "${aResFileName}" {_} aResFileName
- set aHeaderFileName "${aResourceDirectory}_${aResFileName}.pxx"
- if { $isResDirectory == true && [lsearch $aResFileList $aHeaderFileName] == -1 } {
- continue
- }
-
- # generate
- set aContent {}
- lappend aContent "// This file has been automatically generated from resource file $theSrcDir/${aResourceDirectory}/${aResFileIter}"
- lappend aContent ""
-
- # generate necessary structures
- set aLineList {}
- if {[file exists "${path}/$theSrcDir/${aResourceDirectory}/${aResFileIter}"]} {
- set anInputFile [open "${path}/$theSrcDir/${aResourceDirectory}/${aResFileIter}" rb]
- fconfigure $anInputFile -translation crlf
- set aLineList [split [read $anInputFile] "\n"]
- close $anInputFile
- }
-
- # drop empty trailing line
- set anEndOfFile ""
- if { [lindex $aLineList end] == "" } {
- set aLineList [lreplace $aLineList end end]
- set anEndOfFile "\\n"
- }
-
- lappend aContent "static const char ${aResourceDirectory}_${aResFileName}\[\] ="
- set aNbLines [llength $aLineList]
- set aLastLine [expr $aNbLines - 1]
- for {set aLineIter 0} {$aLineIter < $aNbLines} {incr aLineIter} {
- set aLine [lindex $aLineList $aLineIter]
- regsub -all {\"} "${aLine}" {\\"} aLine
- if { $aLineIter == $aLastLine } {
- lappend aContent " \"${aLine}${anEndOfFile}\";"
- } else {
- lappend aContent " \"${aLine}\\n\""
- }
- }
-
- # Save generated content to header file
- set aHeaderFilePath "${path}/$theSrcDir/${aResourceDirectory}/${aHeaderFileName}"
- if { [osutils:writeTextFile $aHeaderFilePath $aContent] == true } {
- puts "Generating header file from resource file: ${path}/$theSrcDir/${aResourceDirectory}/${aResFileIter}"
- } else {
- #puts "Header file from resource ${path}/src/${aResourceDirectory}/${aResFileIter} is up-to-date"
- }
- }
-}
-
-# Function re-generating header files for all text resources
-proc genAllResources { theSrcDir } {
- global path
- set aCasRoot [file normalize $path]
- if {![file exists "$aCasRoot/adm/RESOURCES"]} {
- puts "OCCT directory is not defined correctly: $aCasRoot"
- return
- }
-
- set aFileResources [open "$aCasRoot/adm/RESOURCES" rb]
- set anAdmResources [split [read $aFileResources] "\r\n"]
- close $aFileResources
- set anAdmResources [lsearch -inline -all -not -exact $anAdmResources ""]
-
- foreach line $anAdmResources {
- genResources $theSrcDir "${line}"
- }
-}
-
-# Wrapper-function to generate VS project files
-proc genproj {theFormat args} {
- set aSupportedFormats { "vc7" "vc8" "vc9" "vc10" "vc11" "vc12" "vc14" "vc141" "vc142" "vc143" "vclang" "cbp" "xcd" "pro"}
- set aSupportedPlatforms { "wnt" "uwp" "lin" "mac" "ios" "qnx" }
- set isHelpRequire false
-
- # check format argument
- if { $theFormat == "-h" || $theFormat == "-help" || $theFormat == "--help" } {
- set isHelpRequire true
- } elseif { [lsearch -exact $aSupportedFormats $theFormat] < 0 } {
- puts "Error: genproj: unrecognized project format \"$theFormat\""
- set isHelpRequire true
- }
-
- # choice of compiler for Code::Blocks, currently hard-coded
- set aCmpl "gcc"
-
- # Determine default platform: wnt for vc*, mac for xcd, current for cbp
- if { [regexp "^vc" $theFormat] } {
- set aPlatform "wnt"
- } elseif { $theFormat == "xcd" || $::tcl_platform(os) == "Darwin" } {
- set aPlatform "mac"
- } elseif { $::tcl_platform(platform) == "windows" } {
- set aPlatform "wnt"
- } elseif { $::tcl_platform(platform) == "unix" } {
- set aPlatform "lin"
- }
-
- # Check optional arguments
- set aLibType "dynamic"
- set aSolution "OCCT"
- for {set anArgIter 0} {$anArgIter < [llength args]} {incr anArgIter} {
- set arg [lindex $args $anArgIter]
- if { $arg == "" } {
- continue
- } elseif { $arg == "-h" || $arg == "-help" || $arg == "--help" } {
- set isHelpRequire true
- } elseif { [lsearch -exact $aSupportedPlatforms $arg] >= 0 } {
- set aPlatform $arg
- } elseif { $arg == "-static" } {
- set aLibType "static"
- puts "Static build has been selected"
- } elseif { $arg == "-dynamic" } {
- set aLibType "dynamic"
- puts "Dynamic build has been selected"
- } elseif { $arg == "-solution" } {
- incr anArgIter
- set aSolution [lindex $args $anArgIter]
- } else {
- puts "Error: genproj: unrecognized option \"$arg\""
- set isHelpRequire true
- }
- }
-
- if { $isHelpRequire == true } {
- puts "usage: genproj Format \[Platform\] \[-static\] \[-h|-help|--help\]
-
- Format must be one of:
- vc8 - Visual Studio 2005
- vc9 - Visual Studio 2008
- vc10 - Visual Studio 2010
- vc11 - Visual Studio 2012
- vc12 - Visual Studio 2013
- vc14 - Visual Studio 2015
- vc141 - Visual Studio 2017
- vc142 - Visual Studio 2019
- vc143 - Visual Studio 2022
- vclang - Visual Studio with ClangCL toolset
- cbp - CodeBlocks
- xcd - XCode
- pro - Qt Creator
-
- Platform (optional):
- wnt - Windows Desktop
- uwp - Universal Windows Platform
- lin - Linux
- mac - OS X
- ios - iOS
- qnx - QNX
-
- Option -static can be used with XCode to build static libraries
- "
- return
- }
-
- if { ! [info exists aPlatform] } {
- puts "Error: genproj: Cannon identify default platform, please specify!"
- return
- }
-
- puts "Preparing to generate $theFormat projects for $aPlatform platform..."
-
- # base path to where to generate projects, hardcoded from current dir
- set anAdmPath [file normalize "${::path}/adm"]
-
- OS:MKPRC "$anAdmPath" "$theFormat" "$aLibType" "$aPlatform" "$aCmpl" "$aSolution"
-
- genprojbat "$theFormat" "$aPlatform" "$aSolution"
- genAllResources "src"
-}
-
-# copy file providing warning if the target file exists and has
-# different date or size; if it is newer than source, save it as .bak
-proc copy_with_warning {from to} {
- if { [file exists "$to"] &&
- ([file size "$to"] != [file size "$from"] ||
- [file mtime "$to"] != [file mtime "$from"]) } {
- puts "Warning: file $to is updated (copied from $from)!"
- if { [file mtime $to] > [file mtime $from] } {
- puts "Info: old content of file $to is saved in ${to}.bak"
- file copy -force -- "$to" "${to}.bak"
- }
- }
-
- file copy -force -- "$from" "$to"
-}
-
-# Generate auxiliary scripts for launching IDE.
-proc genprojbat {theFormat thePlatform theSolution} {
- set aTargetPlatformExt sh
- set aTargetEol lf
- if { $thePlatform == "wnt" || $thePlatform == "uwp" } {
- set aTargetPlatformExt bat
- set aTargetEol crlf
- }
-
- if { [file exists "$::path/src/OS/FoundationClasses.tcl"] || ![file exists "$::path/env.${aTargetPlatformExt}"] } {
- # generate env.bat/sh
- set anEnvTmplFilePath "$::THE_CASROOT/adm/templates/env.${aTargetPlatformExt}"
- set anEnvTmplFile [open "$anEnvTmplFilePath" "r"]
- set anEnvTmpl [read $anEnvTmplFile]
- close $anEnvTmplFile
-
- set aCasRoot ""
- if { [file normalize "$::path"] != [file normalize "$::THE_CASROOT"] } {
- set aCasRoot [relativePath "$::path" "$::THE_CASROOT"]
- }
-
- regsub -all -- {__CASROOT__} $anEnvTmpl "$aCasRoot" anEnvTmpl
- set aLineList [split $anEnvTmpl "\n"]
- osutils:writeTextFile "$::path/env.${aTargetPlatformExt}" $aLineList $aTargetEol true
-
- copy_with_warning "$::THE_CASROOT/adm/templates/draw.${aTargetPlatformExt}" "$::path/draw.${aTargetPlatformExt}"
-
- if { "$::BUILD_Inspector" == "true" } {
- copy_with_warning "$::THE_CASROOT/adm/templates/inspector.${aTargetPlatformExt}" "$::path/inspector.${aTargetPlatformExt}"
- }
- }
-
- set aSolShList ""
- if { [regexp {^vc} $theFormat] } {
- set aSolShList "msvc.bat"
- } else {
- switch -exact -- "$theFormat" {
- "cbp" {
- set aSolShList { "codeblocks.sh" "codeblocks.bat" }
- # Code::Blocks 16.01 does not create directory for import libs, help him
- set aPlatformAndCompiler "${thePlatform}/gcc"
- if { "$thePlatform" == "mac" || "$thePlatform" == "ios" } {
- set aPlatformAndCompiler "${thePlatform}/clang"
- }
- file mkdir "$::path/${aPlatformAndCompiler}/lib"
- file mkdir "$::path/${aPlatformAndCompiler}/libd"
- }
- "xcd" { set aSolShList "xcode.sh" }
- }
- }
-
- foreach aSolSh $aSolShList {
- set anShFile [open "$::THE_CASROOT/adm/templates/${aSolSh}" "r"]
- set anShTmpl [read $anShFile]
- close $anShFile
-
- regsub -all -- {__SOLUTION__} $anShTmpl "$theSolution" anShTmpl
-
- set anShFile [open "$::path/${aSolSh}" "w"]
- puts $anShFile $anShTmpl
- close $anShFile
- }
-}
-
-###### MSVC #############################################################33
-proc removeAllOccurrencesOf { theObject theList } {
- set aSortIndices [lsort -decreasing [lsearch -all -nocase $theList $theObject]]
- foreach anIndex $aSortIndices {
- set theList [lreplace $theList $anIndex $anIndex]
- }
- return $theList
-}
-
-set aTKNullKey "TKNull"
-set THE_GUIDS_LIST($aTKNullKey) "{00000000-0000-0000-0000-000000000000}"
-
-# Entry function to generate project files
-# @param theOutDir Root directory for project files
-# @param theFormat Project format name (vc.. for Visual Studio projects, cbp for Code::Blocks, xcd for XCode)
-# @param theLibType Library type - dynamic or static
-# @param thePlatform Optional target platform for cross-compiling, e.g. ios for iOS
-# @param theCmpl Compiler option (msvc or gcc)
-# @param theSolution Solution name
-proc OS:MKPRC { theOutDir theFormat theLibType thePlatform theCmpl theSolution } {
- global path
- set anOutRoot $theOutDir
- if { $anOutRoot == "" } {
- error "Error : \"theOutDir\" is not initialized"
- }
-
- # Create output directory
- set aWokStation "$thePlatform"
- if { [regexp {^vc} $theFormat] } {
- set aWokStation "msvc"
- }
- set aSuffix ""
- set isUWP 0
- if { $thePlatform == "uwp" } {
- set aSuffix "-uwp"
- set isUWP 1
- }
- set anOutDir "${anOutRoot}/${aWokStation}/${theFormat}${aSuffix}"
-
- # read map of already generated GUIDs
- set aGuidsFilePath [file join $anOutDir "wok_${theFormat}_guids.txt"]
- if [file exists "$aGuidsFilePath"] {
- set aFileIn [open "$aGuidsFilePath" r]
- set aFileDataRaw [read $aFileIn]
- close $aFileIn
- set aFileData [split $aFileDataRaw "\n"]
- foreach aLine $aFileData {
- set aLineSplt [split $aLine "="]
- if { [llength $aLineSplt] == 2 } {
- set ::THE_GUIDS_LIST([lindex $aLineSplt 0]) [lindex $aLineSplt 1]
- }
- }
- }
-
- # make list of modules and platforms
- set aModules [OS:init OS Modules]
- if { [llength $aModules] == 0 } {
- set aModules [OS:init VAS Products]
- }
- if { "$thePlatform" == "ios" } {
- set goaway [list Draw]
- set aModules [osutils:juststation $goaway $aModules]
- }
-
- # Draw module is turned off due to it is not supported on UWP
- if { $isUWP } {
- set aDrawIndex [lsearch -exact ${aModules} "Draw"]
- if { ${aDrawIndex} != -1 } {
- set aModules [lreplace ${aModules} ${aDrawIndex} ${aDrawIndex}]
- }
- }
-
- # create the out dir if it does not exist
- if (![file isdirectory $path/inc]) {
- puts "$path/inc folder does not exists and will be created"
- wokUtils:FILES:mkdir $path/inc
- }
-
- # collect all required header files
- puts "Collecting required header files into $path/inc ..."
- osutils:collectinc $aModules "src" $path/inc
-
- # make list of Inspector tools
- set aTools {}
- if { "$::BUILD_Inspector" == "true" } {
- set aTools [OS:init OS Tools]
- if { [llength $aTools] == 0 } {
- set aTools [OS:init VAS Tools]
- }
-
- # create the out dir if it does not exist
- if (![file isdirectory $path/inc/inspector]) {
- puts "$path/inc/inspector folder does not exists and will be created"
- wokUtils:FILES:mkdir $path/inc/inspector
- }
-
- # collect all required header files
- puts "Collecting required tools header files into $path/inc/inspector ..."
- osutils:collectinc $aTools "tools" $path/inc/inspector
- }
-
- if { "$theFormat" == "pro" } {
- return
- }
-
- wokUtils:FILES:mkdir $anOutDir
- if { ![file exists $anOutDir] } {
- puts stderr "Error: Could not create output directory \"$anOutDir\""
- return
- }
-
- # Generating project files for the selected format
- switch -exact -- "$theFormat" {
- "vc7" -
- "vc8" -
- "vc9" -
- "vc10" -
- "vc11" -
- "vc12" -
- "vc14" -
- "vc141" -
- "vc142" -
- "vc143" -
- "vclang" { OS:MKVC $anOutDir $aModules $aTools $theSolution $theFormat $isUWP}
- "cbp" { OS:MKCBP $anOutDir $aModules $theSolution $thePlatform $theCmpl }
- "xcd" {
- set ::THE_GUIDS_LIST($::aTKNullKey) "000000000000000000000000"
- OS:MKXCD $anOutDir $aModules $theSolution $theLibType $thePlatform
- }
- }
-
- # Store generated GUIDs map
- set anOutFile [open "$aGuidsFilePath" "w"]
- fconfigure $anOutFile -translation lf
- foreach aKey [array names ::THE_GUIDS_LIST] {
- set aValue $::THE_GUIDS_LIST($aKey)
- puts $anOutFile "${aKey}=${aValue}"
- }
- close $anOutFile
-}
-
-# Function to generate Visual Studio solution and project files
-proc OS:MKVC { theOutDir theModules theTools theAllSolution theVcVer isUWP } {
-
- puts stderr "Generating VS project files for $theVcVer"
-
- # generate projects for toolkits and separate solution for each module
- foreach aModule $theModules {
- OS:vcsolution $theVcVer $aModule $aModule $theOutDir ::THE_GUIDS_LIST "src" "" ""
- OS:vcproj $theVcVer $isUWP $aModule $theOutDir ::THE_GUIDS_LIST "src" ""
- }
-
- # generate projects for toolkits and separate solution for each tool
- foreach aTool $theTools {
- OS:vcsolution $theVcVer $aTool $aTool $theOutDir ::THE_GUIDS_LIST "tools" "" "src"
- OS:vcproj $theVcVer $isUWP $aTool $theOutDir ::THE_GUIDS_LIST "tools" "src"
- }
-
- # generate single solution "OCCT" containing projects from all modules
- if { "$theAllSolution" != "" } {
- OS:vcsolution $theVcVer $theAllSolution $theModules $theOutDir ::THE_GUIDS_LIST "src" $theTools "tools"
- }
-
- puts "The Visual Studio solution and project files are stored in the $theOutDir directory"
-}
-
-proc OS:init {theVas theNameOfDefFile {os {}}} {
- set askplat $os
- set aModules {}
- if { "$os" == "" } {
- set os $::tcl_platform(os)
- }
-
- if { ![file exists "$::path/src/${theVas}/${theNameOfDefFile}.tcl"]} {
- return $aModules
- }
-
- # Load list of OCCT modules and their definitions
- source "$::path/src/${theVas}/${theNameOfDefFile}.tcl"
- foreach aModuleIter [${theVas}:${theNameOfDefFile}] {
- set aFileTcl "$::path/src/${theVas}/${aModuleIter}.tcl"
- if [file exists $aFileTcl] {
- source $aFileTcl
- lappend aModules $aModuleIter
- } else {
- puts stderr "Definition file for $aModuleIter is not found in unit ${theVas}"
- }
- }
-
- return $aModules
-}
-
-# topological sort. returns a list { {a h} {b g} {c f} {c h} {d i} } => { d a b c i g f h }
-proc wokUtils:EASY:tsort { listofpairs } {
- foreach x $listofpairs {
- set e1 [lindex $x 0]
- set e2 [lindex $x 1]
- if ![info exists pcnt($e1)] {
- set pcnt($e1) 0
- }
- if ![ info exists pcnt($e2)] {
- set pcnt($e2) 1
- } else {
- incr pcnt($e2)
- }
- if ![info exists scnt($e1)] {
- set scnt($e1) 1
- } else {
- incr scnt($e1)
- }
- set l {}
- if [info exists slist($e1)] {
- set l $slist($e1)
- }
- lappend l $e2
- set slist($e1) $l
- }
- set nodecnt 0
- set back 0
- foreach node [array names pcnt] {
- incr nodecnt
- if { $pcnt($node) == 0 } {
- incr back
- set q($back) $node
- }
- if ![info exists scnt($node)] {
- set scnt($node) 0
- }
- }
- set res {}
- for {set front 1} { $front <= $back } { incr front } {
- lappend res [set node $q($front)]
- for {set i 1} {$i <= $scnt($node) } { incr i } {
- set ll $slist($node)
- set j [expr {$i - 1}]
- set u [expr { $pcnt([lindex $ll $j]) - 1 }]
- if { [set pcnt([lindex $ll $j]) $u] == 0 } {
- incr back
- set q($back) [lindex $ll $j]
- }
- }
- }
- if { $back != $nodecnt } {
- puts stderr "input contains a cycle"
- return {}
- } else {
- return $res
- }
-}
-
-proc wokUtils:LIST:Purge { l } {
- set r {}
- foreach e $l {
- if ![info exist tab($e)] {
- lappend r $e
- set tab($e) {}
- }
- }
- return $r
-}
-
-# Read file pointed to by path
-# 1. sort = 1 tri
-# 2. trim = 1 plusieurs blancs => 1 seul blanc
-# 3. purge= not yet implemented.
-# 4. emptl= dont process blank lines
-proc wokUtils:FILES:FileToList { path {sort 0} {trim 0} {purge 0} {emptl 1} } {
- if ![ catch { set id [ open $path r ] } ] {
- set l {}
- while {[gets $id line] >= 0 } {
- if { $trim } {
- regsub -all {[ ]+} $line " " line
- }
- if { $emptl } {
- if { [string length ${line}] != 0 } {
- lappend l $line
- }
- } else {
- lappend l $line
- }
- }
- close $id
- if { $sort } {
- return [lsort $l]
- } else {
- return $l
- }
- } else {
- return {}
- }
-}
-
-# retorn the list of executables in module.
-proc OS:executable { module } {
- set lret {}
- foreach XXX [${module}:ressources] {
- if { "[lindex $XXX 1]" == "x" } {
- lappend lret [lindex $XXX 2]
- }
- }
- return $lret
-}
-
-# Topological sort of toolkits in tklm
-proc osutils:tk:sort { tklm theSrcDir theSourceDirOther } {
- set tkby2 {}
- foreach tkloc $tklm {
- set lprg [wokUtils:LIST:Purge [osutils:tk:close $tkloc $theSrcDir $theSourceDirOther]]
- foreach tkx $lprg {
- if { [lsearch $tklm $tkx] != -1 } {
- lappend tkby2 [list $tkx $tkloc]
- } else {
- lappend tkby2 [list $tkloc {}]
- }
- }
- }
- set lret {}
- foreach e [wokUtils:EASY:tsort $tkby2] {
- if { $e != {} } {
- lappend lret $e
- }
- }
- return $lret
-}
-
-# close dependencies of ltk. (full work paths of toolkits)
-# The CURRENT WOK LOCATION MUST contains ALL TOOLKITS required.
-# (locate not performed.)
-proc osutils:tk:close { ltk theSrcDir theSourceDirOther } {
- set result {}
- set recurse {}
- foreach dir $ltk {
- set ids [LibToLink $dir $theSrcDir $theSourceDirOther]
-# puts "osutils:tk:close($ltk) ids='$ids'"
- set eated [osutils:tk:eatpk $ids]
- set result [concat $result $eated]
- set ids [LibToLink $dir $theSrcDir $theSourceDirOther]
- set result [concat $result $ids]
-
- foreach file $eated {
- set kds [osutils:findSrcSubPath $theSrcDir "$file/EXTERNLIB"]
- if { [osutils:tk:eatpk $kds] != {} } {
- lappend recurse $file
- }
- }
- }
- if { $recurse != {} } {
- set result [concat $result [osutils:tk:close $recurse $theSrcDir $theSourceDirOther]]
- }
- return $result
-}
-
-proc osutils:tk:eatpk { EXTERNLIB } {
- set l [wokUtils:FILES:FileToList $EXTERNLIB]
- set lret {}
- foreach str $l {
- if ![regexp -- {(CSF_[^ ]*)} $str csf] {
- lappend lret $str
- }
- }
- return $lret
-}
-# Define libraries to link using only EXTERNLIB file
-
-proc LibToLink {theTKit theSrcDir theSourceDirOther} {
- regexp {^.*:([^:]+)$} $theTKit dummy theTKit
- set type [_get_type $theTKit]
- if {$type != "t" && $type != "x"} {
- return
- }
- set aToolkits {}
- set anExtLibList [osutils:tk:eatpk [osutils:findSrcSubPath $theSrcDir "$theTKit/EXTERNLIB"]]
- foreach anExtLib $anExtLibList {
- set aFullPath [LocateRecur $anExtLib $theSrcDir]
- if { "$aFullPath" == "" && "$theSourceDirOther" != "" } {
- set aFullPath [LocateRecur $anExtLib $theSourceDirOther]
- }
- if { "$aFullPath" != "" && [_get_type $anExtLib] == "t" } {
- lappend aToolkits $anExtLib
- }
- }
- return $aToolkits
-}
-# Search unit recursively
-
-proc LocateRecur {theName theSrcDir} {
- set theNamePath [osutils:findSrcSubPath $theSrcDir "$theName"]
- if {[file isdirectory $theNamePath]} {
- return $theNamePath
- }
- return ""
-}
-
-proc OS:genGUID { {theFormat "vc"} } {
- if { "$theFormat" == "vc" } {
- set p1 "[format %07X [expr { int(rand() * 268435456) }]][format %X [expr { int(rand() * 16) }]]"
- set p2 "[format %04X [expr { int(rand() * 6536) }]]"
- set p3 "[format %04X [expr { int(rand() * 6536) }]]"
- set p4 "[format %04X [expr { int(rand() * 6536) }]]"
- set p5 "[format %06X [expr { int(rand() * 16777216) }]][format %06X [expr { int(rand() * 16777216) }]]"
- return "{$p1-$p2-$p3-$p4-$p5}"
- } else {
- set p1 "[format %04X [expr { int(rand() * 6536) }]]"
- set p2 "[format %04X [expr { int(rand() * 6536) }]]"
- set p3 "[format %04X [expr { int(rand() * 6536) }]]"
- set p4 "[format %04X [expr { int(rand() * 6536) }]]"
- set p5 "[format %04X [expr { int(rand() * 6536) }]]"
- set p6 "[format %04X [expr { int(rand() * 6536) }]]"
- return "$p1$p2$p3$p4$p5$p6"
- }
-}
-
-# collect all include file that required for theModules in theOutDir
-proc osutils:collectinc {theModules theSrcDir theIncPath} {
- global path
- set aCasRoot [file normalize $path]
- set anIncPath [file normalize $theIncPath]
-
- if {![file isdirectory $aCasRoot]} {
- puts "OCCT directory is not defined correctly: $aCasRoot"
- return
- }
-
- set anUsedToolKits {}
- foreach aModule $theModules {
- foreach aToolKit [${aModule}:toolkits] {
- lappend anUsedToolKits $aToolKit
-
- foreach aDependency [LibToLink $aToolKit $theSrcDir ""] {
- lappend anUsedToolKits $aDependency
- }
- }
- foreach anExecutable [OS:executable ${aModule}] {
- lappend anUsedToolKits $anExecutable
-
- foreach aDependency [LibToLink $anExecutable $theSrcDir ""] {
- lappend anUsedToolKits $aDependency
- }
- }
- }
- set anUsedToolKits [lsort -unique $anUsedToolKits]
-
- set anUnits {}
- foreach anUsedToolKit $anUsedToolKits {
- set anUnits [concat $anUnits [osutils:tk:units $anUsedToolKit $theSrcDir] ]
- }
- set anUnits [lsort -unique $anUnits]
-
- # define copying style
- set aCopyType "copy"
- if { [info exists ::env(SHORTCUT_HEADERS)] } {
- if { [string equal -nocase $::env(SHORTCUT_HEADERS) "hard"]
- || [string equal -nocase $::env(SHORTCUT_HEADERS) "hardlink"] } {
- set aCopyType "hardlink"
- } elseif { [string equal -nocase $::env(SHORTCUT_HEADERS) "true"]
- || [string equal -nocase $::env(SHORTCUT_HEADERS) "shortcut"] } {
- set aCopyType "shortcut"
- }
- }
-
- set allHeaderFiles {}
- if { $aCopyType == "shortcut" } {
- # template preparation
- if { ![file exists $::THE_CASROOT/adm/templates/header.in] } {
- puts "template file does not exist: $::THE_CASROOT/adm/templates/header.in"
- return
- }
- set aHeaderTmpl [wokUtils:FILES:FileToString $::THE_CASROOT/adm/templates/header.in]
-
- # relative anIncPath in connection with aCasRoot/$theSrcDir
- set aFromBuildIncToSrcPath [relativePath "$anIncPath" "$aCasRoot/$theSrcDir"]
-
- # create and copy shortcut header files
- foreach anUnit $anUnits {
- osutils:checksrcfiles ${anUnit} $theSrcDir
-
- set aHFiles [_get_used_files ${anUnit} $theSrcDir true false]
- foreach aHeaderFile ${aHFiles} {
- set aHeaderFileName [lindex ${aHeaderFile} 1]
- lappend allHeaderFiles "${aHeaderFileName}"
-
- regsub -all -- {@OCCT_HEADER_FILE_CONTENT@} $aHeaderTmpl "#include \"$aFromBuildIncToSrcPath/$anUnit/$aHeaderFileName\"" aShortCutHeaderFileContent
-
- if {[file exists "$theIncPath/$aHeaderFileName"] && [file readable "$theIncPath/$aHeaderFileName"]} {
- set fp [open "$theIncPath/$aHeaderFileName" r]
- set aHeaderContent [read $fp]
- close $fp
-
- # minus eof
- set aHeaderLenght [expr [string length $aHeaderContent] - 1]
-
- if {$aHeaderLenght == [string length $aShortCutHeaderFileContent]} {
- # remove eof from string
- set aHeaderContent [string range $aHeaderContent 0 [expr $aHeaderLenght - 1]]
-
- if {[string compare $aShortCutHeaderFileContent $aHeaderContent] == 0} {
- continue
- }
- }
- file delete -force "$theIncPath/$aHeaderFileName"
- }
-
- set aShortCutHeaderFile [open "$theIncPath/$aHeaderFileName" "w"]
- fconfigure $aShortCutHeaderFile -translation lf
- puts $aShortCutHeaderFile $aShortCutHeaderFileContent
- close $aShortCutHeaderFile
- }
- }
- } else {
- set nbcopied 0
- foreach anUnit $anUnits {
- osutils:checksrcfiles ${anUnit} $theSrcDir
-
- set aHFiles [_get_used_files ${anUnit} $theSrcDir true false]
- foreach aHeaderFile ${aHFiles} {
- set aHeaderFileName [lindex ${aHeaderFile} 1]
- lappend allHeaderFiles "${aHeaderFileName}"
-
- # copy file only if target does not exist or is older than original
- set torig [file mtime $aCasRoot/$theSrcDir/$anUnit/$aHeaderFileName]
- set tcopy 0
- if { [file isfile $anIncPath/$aHeaderFileName] } {
- set tcopy [file mtime $anIncPath/$aHeaderFileName]
- }
- if { $tcopy < $torig } {
- incr nbcopied
- if { $aCopyType == "hardlink" } {
- if { $tcopy != 0 } {
- file delete -force "$theIncPath/$aHeaderFileName"
- }
- file link -hard $anIncPath/$aHeaderFileName $aCasRoot/$theSrcDir/$anUnit/$aHeaderFileName
- } else {
- file copy -force $aCasRoot/$theSrcDir/$anUnit/$aHeaderFileName $anIncPath/$aHeaderFileName
- }
- } elseif { $tcopy != $torig } {
- puts "Warning: file $anIncPath/$aHeaderFileName is newer than $aCasRoot/$theSrcDir/$anUnit/$aHeaderFileName, not changed!"
- }
- }
- }
- puts "Info: $nbcopied files updated"
- }
-
- # remove header files not listed in FILES
- set anIncFiles [glob -tails -nocomplain -dir ${anIncPath} "*"]
- foreach anIncFile ${anIncFiles} {
- if { [lsearch -exact ${allHeaderFiles} ${anIncFile}] == -1 } {
- puts "Warning: file ${anIncPath}/${anIncFile} is not present in the sources and will be removed from ${theIncPath}"
- file delete -force "${theIncPath}/${anIncFile}"
- }
- }
-}
-
-# Generate header for VS solution file
-proc osutils:vcsolution:header { vcversion } {
- if { "$vcversion" == "vc7" } {
- append var \
- "Microsoft Visual Studio Solution File, Format Version 8.00\n"
- } elseif { "$vcversion" == "vc8" } {
- append var \
- "Microsoft Visual Studio Solution File, Format Version 9.00\n" \
- "# Visual Studio 2005\n"
- } elseif { "$vcversion" == "vc9" } {
- append var \
- "Microsoft Visual Studio Solution File, Format Version 10.00\n" \
- "# Visual Studio 2008\n"
- } elseif { "$vcversion" == "vc10" } {
- append var \
- "Microsoft Visual Studio Solution File, Format Version 11.00\n" \
- "# Visual Studio 2010\n"
- } elseif { "$vcversion" == "vc11" } {
- append var \
- "Microsoft Visual Studio Solution File, Format Version 12.00\n" \
- "# Visual Studio 2012\n"
- } elseif { "$vcversion" == "vc12" } {
- append var \
- "Microsoft Visual Studio Solution File, Format Version 12.00\n" \
- "# Visual Studio 2013\n"
- } elseif { "$vcversion" == "vc14" || "$vcversion" == "vc141" ||
- "$vcversion" == "vc142" || "$vcversion" == "vc143" || "$vcversion" == "vclang" } {
- append var \
- "Microsoft Visual Studio Solution File, Format Version 12.00\n" \
- "# Visual Studio 14\n"
- } else {
- puts stderr "Error: Visual Studio version $vcversion is not supported by this function!"
- }
- return $var
-}
-# Returns extension (without dot) for project files of given version of VC
-
-proc osutils:vcproj:ext { vcversion } {
- if { "$vcversion" == "vc7" || "$vcversion" == "vc8" || "$vcversion" == "vc9" } {
- return "vcproj"
- } else {
- return "vcxproj"
- }
-}
-# Generate start of configuration section of VS solution file
-
-proc osutils:vcsolution:config:begin { vcversion } {
- if { "$vcversion" == "vc7" } {
- append var \
- "Global\n" \
- "\tGlobalSection(SolutionConfiguration) = preSolution\n" \
- "\t\tDebug = Debug\n" \
- "\t\tRelease = Release\n" \
- "\tEndGlobalSection\n" \
- "\tGlobalSection(ProjectConfiguration) = postSolution\n"
- } else {
- append var \
- "Global\n" \
- "\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n" \
- "\t\tDebug|Win32 = Debug|Win32\n" \
- "\t\tRelease|Win32 = Release|Win32\n" \
- "\t\tDebug|x64 = Debug|x64\n" \
- "\t\tRelease|x64 = Release|x64\n" \
- "\tEndGlobalSection\n" \
- "\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n"
- }
- return $var
-}
-# Generate part of configuration section of VS solution file describing one project
-
-proc osutils:vcsolution:config:project { vcversion guid } {
- if { "$vcversion" == "vc7" } {
- append var \
- "\t\t$guid.Debug.ActiveCfg = Debug|Win32\n" \
- "\t\t$guid.Debug.Build.0 = Debug|Win32\n" \
- "\t\t$guid.Release.ActiveCfg = Release|Win32\n" \
- "\t\t$guid.Release.Build.0 = Release|Win32\n"
- } else {
- append var \
- "\t\t$guid.Debug|Win32.ActiveCfg = Debug|Win32\n" \
- "\t\t$guid.Debug|Win32.Build.0 = Debug|Win32\n" \
- "\t\t$guid.Release|Win32.ActiveCfg = Release|Win32\n" \
- "\t\t$guid.Release|Win32.Build.0 = Release|Win32\n" \
- "\t\t$guid.Debug|x64.ActiveCfg = Debug|x64\n" \
- "\t\t$guid.Debug|x64.Build.0 = Debug|x64\n" \
- "\t\t$guid.Release|x64.ActiveCfg = Release|x64\n" \
- "\t\t$guid.Release|x64.Build.0 = Release|x64\n"
- }
- return $var
-}
-# Generate start of configuration section of VS solution file
-
-proc osutils:vcsolution:config:end { vcversion } {
- if { "$vcversion" == "vc7" } {
- append var \
- "\tEndGlobalSection\n" \
- "\tGlobalSection(ExtensibilityGlobals) = postSolution\n" \
- "\tEndGlobalSection\n" \
- "\tGlobalSection(ExtensibilityAddIns) = postSolution\n" \
- "\tEndGlobalSection\n"
- } else {
- append var \
- "\tEndGlobalSection\n" \
- "\tGlobalSection(SolutionProperties) = preSolution\n" \
- "\t\tHideSolutionNode = FALSE\n" \
- "\tEndGlobalSection\n"
- }
- return $var
-}
-# generate Visual Studio solution file
-# if module is empty, generates one solution for all known modules
-
-proc OS:vcsolution { theVcVer theSolName theModules theOutDir theGuidsMap theSrcDir theModulesOther theSourceDirOther } {
- global path
- upvar $theGuidsMap aGuidsMap
-
- # collect list of projects to be created
- set aProjects {}
- set aDependencies {}
-
- osutils:convertModules $theModules $theSrcDir $theSourceDirOther aProjects aProjectsInModule aDependencies
- osutils:convertModules $theModulesOther $theSourceDirOther $theSrcDir aProjects aProjectsInModule aDependencies
-
-# generate GUIDs for projects (unless already known)
- foreach aProject $aProjects {
- if { ! [info exists aGuidsMap($aProject)] } {
- set aGuidsMap($aProject) [OS:genGUID]
- }
- }
-
- # generate solution file
-# puts "Generating Visual Studio ($theVcVer) solution file for $theSolName ($aProjects)"
- append aFileBuff [osutils:vcsolution:header $theVcVer]
-
- # GUID identifying group projects in Visual Studio
- set VC_GROUP_GUID "{2150E333-8FDC-42A3-9474-1A3956D46DE8}"
-
- # generate group projects -- one per module
- if { "$theVcVer" != "vc7" && [llength "$theModules"] > 1 } {
- foreach aModule $theModules {
- if { ! [info exists aGuidsMap(_$aModule)] } {
- set aGuidsMap(_$aModule) [OS:genGUID]
- }
- set aGuid $aGuidsMap(_$aModule)
- append aFileBuff "Project(\"${VC_GROUP_GUID}\") = \"$aModule\", \"$aModule\", \"$aGuid\"\nEndProject\n"
- }
- }
-
- if { "$theVcVer" != "vc7" && [llength "$theModulesOther"] > 1 } {
- set aModule "Tools"
- if { ! [info exists aGuidsMap(_$aModule)] } {
- set aGuidsMap(_$aModule) [OS:genGUID]
- }
- set aGuid $aGuidsMap(_$aModule)
- append aFileBuff "Project(\"${VC_GROUP_GUID}\") = \"$aModule\", \"$aModule\", \"$aGuid\"\nEndProject\n"
- }
-
- # extension of project files
- set aProjExt [osutils:vcproj:ext $theVcVer]
-
- # GUID identifying C++ projects in Visual Studio
- set VC_CPP_GUID "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
-
- # generate normal projects
- set aProjsNb [llength $aProjects]
- for {set aProjId 0} {$aProjId < $aProjsNb} {incr aProjId} {
- set aProj [lindex $aProjects $aProjId]
- set aGuid $aGuidsMap($aProj)
- append aFileBuff "Project(\"${VC_CPP_GUID}\") = \"$aProj\", \"$aProj.${aProjExt}\", \"$aGuid\"\n"
- # write projects dependencies information (vc7 to vc9)
- set aDepGuids ""
- foreach aDepLib [lindex $aDependencies $aProjId] {
- if { $aDepLib != $aProj && [lsearch $aProjects $aDepLib] != "-1" } {
- set depGUID $aGuidsMap($aDepLib)
- append aDepGuids "\t\t$depGUID = $depGUID\n"
- }
- }
- if { "$aDepGuids" != "" } {
- append aFileBuff "\tProjectSection(ProjectDependencies) = postProject\n"
- append aFileBuff "$aDepGuids"
- append aFileBuff "\tEndProjectSection\n"
- }
- append aFileBuff "EndProject\n"
- }
-
- # generate configuration section
- append aFileBuff [osutils:vcsolution:config:begin $theVcVer]
- foreach aProj $aProjects {
- append aFileBuff [osutils:vcsolution:config:project $theVcVer $aGuidsMap($aProj)]
- }
- append aFileBuff [osutils:vcsolution:config:end $theVcVer]
-
- # write information of grouping of projects by module
- if { "$theVcVer" != "vc7" && [llength "$theModules"] > 1 } {
- append aFileBuff " GlobalSection(NestedProjects) = preSolution\n"
- foreach aModule $theModules {
- if { ! [info exists aProjectsInModule($aModule)] } { continue }
- foreach aProject $aProjectsInModule($aModule) {
- append aFileBuff " $aGuidsMap($aProject) = $aGuidsMap(_$aModule)\n"
- }
- }
- set aToolsName "Tools"
- foreach aModule $theModulesOther {
- if { ! [info exists aProjectsInModule($aModule)] } { continue }
- foreach aProject $aProjectsInModule($aModule) {
- append aFileBuff " $aGuidsMap($aProject) = $aGuidsMap(_$aToolsName)\n"
- }
- }
- append aFileBuff " EndGlobalSection\n"
- }
-
- # final word (footer)
- append aFileBuff "EndGlobal"
-
- # write solution
- set aFile [open [set fdsw [file join $theOutDir ${theSolName}.sln]] w]
- fconfigure $aFile -translation crlf
- puts $aFile $aFileBuff
- close $aFile
- return [file join $theOutDir ${theSolName}.sln]
-}
-
-# Generate auxiliary containers with information about modules.
-# @param theModules List of modules
-# @param theSrcDir Directory of module toolkits
-# @param theSourceDirOther Directory with other additional sources to find out toolkits in dependencies
-# @param theProjects list of all found projects/toolkits
-# @param theProjectsInModule map of module into toolkits/projects
-# @param theDependencies list of the project dependencies. To find the project dependencies, get it by the index in project container
-proc osutils:convertModules { theModules theSrcDir theSourceDirOther theProjects theProjectsInModule theDependencies } {
- global path
- upvar $theProjectsInModule aProjectsInModule
- upvar $theProjects aProjects
- upvar $theDependencies aDependencies
-
- foreach aModule $theModules {
- # toolkits
- foreach aToolKit [osutils:tk:sort [${aModule}:toolkits] $theSrcDir $theSourceDirOther] {
- lappend aProjects $aToolKit
- lappend aProjectsInModule($aModule) $aToolKit
- lappend aDependencies [LibToLink $aToolKit $theSrcDir $theSourceDirOther]
- }
- # executables
- foreach aUnit [OS:executable ${aModule}] {
- lappend aProjects $aUnit
- lappend aProjectsInModule($aModule) $aUnit
- lappend aDependencies [LibToLink $aUnit $theSrcDir $theSourceDirOther]
- }
- }
-}
-# Generate Visual Studio projects for specified version
-
-proc OS:vcproj { theVcVer isUWP theModules theOutDir theGuidsMap theSrcDir theSourceDirOther } {
- upvar $theGuidsMap aGuidsMap
-
- set aProjectFiles {}
-
- foreach aModule $theModules {
- foreach aToolKit [${aModule}:toolkits] {
- lappend aProjectFiles [osutils:vcproj $theVcVer $isUWP $theOutDir $aToolKit aGuidsMap $theSrcDir $theSourceDirOther]
- }
- foreach anExecutable [OS:executable ${aModule}] {
- lappend aProjectFiles [osutils:vcprojx $theVcVer $isUWP $theOutDir $anExecutable aGuidsMap $theSrcDir $theSourceDirOther]
- }
- }
- return $aProjectFiles
-}
-# generate template name and load it for given version of Visual Studio and platform
-
-proc osutils:vcproj:readtemplate {theVcVer isUWP isExec} {
- set anExt $theVcVer
- if { "$theVcVer" != "vc7" && "$theVcVer" != "vc8" && "$theVcVer" != "vc9" } {
- set anExt vc10
- }
-
- # determine versions of runtime and toolset
- set aVCRTVer $theVcVer
- set aToolset "v[string range $theVcVer 2 3]0"
- if { $theVcVer == "vc141" } {
- set aVCRTVer "vc14"
- set aToolset "v141"
- } elseif { $theVcVer == "vc142" } {
- set aVCRTVer "vc14"
- set aToolset "v142"
- } elseif { $theVcVer == "vc143" } {
- set aVCRTVer "vc14"
- set aToolset "v143"
- } elseif { $theVcVer == "vclang" } {
- set aVCRTVer "vc14"
- set aToolset "ClangCL"
- }
-
- set what "$theVcVer"
- set aCmpl32 ""
- set aCmpl64 ""
- set aCharSet "Unicode"
- if { $isExec } {
- set anExt "${anExt}x"
- set what "$what executable"
- }
- if { "$theVcVer" == "vc10" } {
- # SSE2 is enabled by default in vc11+, but not in vc10 for 32-bit target
- set aCmpl32 "<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>"
- }
- set aTmpl [osutils:readtemplate $anExt "MS VC++ project ($what)"]
-
- if { $isUWP } {
- set UwpWinRt "<CompileAsWinRT>false</CompileAsWinRT>"
- foreach bitness {32 64} {
- set indent ""
- if {"[set aCmpl${bitness}]" != ""} {
- set indent "\n "
- }
- set aCmpl${bitness} "[set aCmpl${bitness}]${indent}${UwpWinRt}"
- }
- }
-
- set format_template "\[\\r\\n\\s\]*"
- foreach bitness {32 64} {
- set format_templateloc ""
- if {"[set aCmpl${bitness}]" == ""} {
- set format_templateloc "$format_template"
- }
- regsub -all -- "${format_templateloc}__VCMPL${bitness}__" $aTmpl "[set aCmpl${bitness}]" aTmpl
- }
-
- set aDebugInfo "no"
- set aReleaseLnk ""
- if { "$::HAVE_RelWithDebInfo" == "true" } {
- set aDebugInfo "true"
- set aReleaseLnk "\n <OptimizeReferences>true</OptimizeReferences>\n <EnableCOMDATFolding>true</EnableCOMDATFolding>"
- }
-
- regsub -all -- {__VCVER__} $aTmpl $aVCRTVer aTmpl
- regsub -all -- {__VCVEREXT__} $aTmpl $aToolset aTmpl
- regsub -all -- {__VCCHARSET__} $aTmpl $aCharSet aTmpl
- regsub -all -- {__VCReleasePDB__} $aTmpl $aDebugInfo aTmpl
- regsub -all -- "${format_template}__VCLNKREL__" $aTmpl "${aReleaseLnk}" aTmpl
-
- return $aTmpl
-}
-
-proc osutils:readtemplate {ext what} {
- set loc "$::THE_CASROOT/adm/templates/template.$ext"
- return [wokUtils:FILES:FileToString $loc]
-}
-# Read a file in a string as is.
-
-proc wokUtils:FILES:FileToString { fin } {
- if { [catch { set in [ open $fin r ] } errin] == 0 } {
- set strin [read $in [file size $fin]]
- close $in
- return $strin
- } else {
- return {}
- }
-}
-
-# List extensions of compilable files in OCCT
-proc osutils:compilable {thePlatform} {
- if { "$thePlatform" == "mac" || "$thePlatform" == "ios" } { return [list .c .cxx .cpp .mm] }
- return [list .c .cxx .cpp]
-}
-
-# List extensions of header file in OCCT
-proc osutils:fileExtensionsHeaders {thePlatform} {
- if { "$thePlatform" == "mac" || "$thePlatform" == "ios" } { return [list .h .hxx .hpp .lxx .pxx .gxx ] }
- return [list .h .hxx .hpp .lxx .pxx .gxx .mm ]
-}
-
-# List extensions of Qt resource file in OCCT
-proc osutils:fileExtensionsResources {thePlatform} {
- return [list .qrc ]
-}
-
-proc osutils:commonUsedTK { theToolKit theSrcDir theSourceDirOther} {
- set anUsedToolKits [list]
- set aDepToolkits [LibToLink $theToolKit $theSrcDir $theSourceDirOther]
- foreach tkx $aDepToolkits {
- if {[_get_type $tkx] == "t"} {
- lappend anUsedToolKits "${tkx}"
- }
- }
- return $anUsedToolKits
-}
-
-# Return the list of name *CSF_ in a EXTERNLIB description of a toolkit
-proc osutils:tk:csfInExternlib { EXTERNLIB } {
- set l [wokUtils:FILES:FileToList $EXTERNLIB]
- set lret {STLPort}
- foreach str $l {
- if [regexp -- {(CSF_[^ ]*)} $str csf] {
- lappend lret $csf
- }
- }
- return $lret
-}
-
-# Collect dependencies map depending on target OS (libraries for CSF_ codenames used in EXTERNLIB) .
-# @param theOS - target OS
-# @param theCsfLibsMap - libraries map
-# @param theCsfFrmsMap - frameworks map, OS X specific
-proc osutils:csfList { theOS theCsfLibsMap theCsfFrmsMap theRelease} {
- upvar $theCsfLibsMap aLibsMap
- upvar $theCsfFrmsMap aFrmsMap
-
- unset theCsfLibsMap
- unset theCsfFrmsMap
-
- if { "$::HAVE_FREETYPE" == "true" } {
- set aLibsMap(CSF_FREETYPE) "freetype"
- }
- set aLibsMap(CSF_TclLibs) "tcl8.6"
- if { "$::HAVE_TK" == "true" } {
- set aLibsMap(CSF_TclTkLibs) "tk8.6"
- }
- if { "$::HAVE_FREEIMAGE" == "true" } {
- if { "$theOS" == "wnt" } {
- set aLibsMap(CSF_FreeImagePlus) "FreeImage"
- } else {
- set aLibsMap(CSF_FreeImagePlus) "freeimage"
- }
- } elseif { "$theOS" == "wnt" } {
- set aLibsMap(CSF_FreeImagePlus) "windowscodecs"
- }
- if { "$::HAVE_FFMPEG" == "true" } {
- set aLibsMap(CSF_FFmpeg) "avcodec avformat swscale avutil"
- }
- if { "$::HAVE_TBB" == "true" } {
- set aLibsMap(CSF_TBB) "tbb tbbmalloc"
- }
- if { "$::HAVE_VTK" == "true" } {
- if { "$theOS" == "wnt" } {
- set aLibsMap(CSF_VTK) [osutils:vtkCsf "wnt"]
- } else {
- set aLibsMap(CSF_VTK) [osutils:vtkCsf "unix"]
- }
- }
- if { "$::HAVE_ZLIB" == "true" } {
- set aLibsMap(CSF_ZLIB) "z"
- }
- if { "$::HAVE_LIBLZMA" == "true" } {
- set aLibsMap(CSF_LIBLZMA) "liblzma"
- }
- if { "$::HAVE_DRACO" == "true" } {
- set aLibsMap(CSF_Draco) "draco"
- }
- if { "$::HAVE_OPENVR" == "true" } {
- set aLibsMap(CSF_OpenVR) "openvr_api"
- }
- if { "$::HAVE_E57" == "true" && "$theOS" != "wnt" } {
- # exclude wnt, as there are different pragma lib depending on debug/release
- set aLibsMap(CSF_E57) "E57RefImpl"
- set aLibsMap(CSF_xerces) "xerces-c"
- }
-
- if { "$theOS" == "wnt" } {
- # WinAPI libraries
- set aLibsMap(CSF_kernel32) "kernel32"
- set aLibsMap(CSF_advapi32) "advapi32"
- set aLibsMap(CSF_gdi32) "gdi32"
- set aLibsMap(CSF_user32) "user32 comdlg32"
- set aLibsMap(CSF_shell32) "shell32"
- set aLibsMap(CSF_opengl32) "opengl32"
- set aLibsMap(CSF_wsock32) "wsock32"
- set aLibsMap(CSF_netapi32) "netapi32"
- set aLibsMap(CSF_winmm) "winmm"
- set aLibsMap(CSF_OpenGlLibs) "opengl32"
- set aLibsMap(CSF_OpenGlesLibs) "libEGL libGLESv2"
- set aLibsMap(CSF_psapi) "Psapi"
- set aLibsMap(CSF_d3d9) "d3d9"
-
- # the naming is different on Windows
- set aLibsMap(CSF_TclLibs) "tcl86"
- if { "$::HAVE_TK" == "true" } {
- set aLibsMap(CSF_TclTkLibs) "tk86"
- }
- if { "$theRelease" == "true" } {
- set aLibsMap(CSF_QT) "Qt5Gui Qt5Widgets Qt5Xml Qt5Core"
- } else {
- set aLibsMap(CSF_QT) "Qt5Guid Qt5Widgetsd Qt5Xmld Qt5Cored"
- }
-
- # tbb headers define different pragma lib depending on debug/release
- set aLibsMap(CSF_TBB) ""
-
- if { "$::HAVE_ZLIB" == "true" } {
- set aLibsMap(CSF_ZLIB) "zlib"
- }
- } else {
- set aLibsMap(CSF_dl) "dl"
- if { "$::HAVE_XLIB" == "true" } {
- set aLibsMap(CSF_OpenGlLibs) "GL"
- } else {
- set aLibsMap(CSF_OpenGlLibs) "GL EGL"
- }
- set aLibsMap(CSF_OpenGlesLibs) "EGL GLESv2"
- if { "$theOS" == "mac" || "$theOS" == "ios" } {
- set aLibsMap(CSF_objc) "objc"
- set aLibsMap(CSF_OpenGlLibs) ""
- set aLibsMap(CSF_OpenGlesLibs) ""
- set aFrmsMap(CSF_OpenGlLibs) "OpenGL"
- set aFrmsMap(CSF_OpenGlesLibs) "OpenGLES"
- if { "$theOS" == "ios" } {
- set aFrmsMap(CSF_Appkit) "UIKit"
- } else {
- set aFrmsMap(CSF_Appkit) "AppKit"
- }
- set aFrmsMap(CSF_IOKit) "IOKit"
- set aLibsMap(CSF_TclLibs) ""
- set aLibsMap(CSF_TclTkLibs) ""
- set aFrmsMap(CSF_TclLibs) "Tcl"
- if { "$::HAVE_TK" == "true" } {
- set aFrmsMap(CSF_TclTkLibs) "Tk"
- }
- set aLibsMap(CSF_QT) "QtCore QtGui"
- } elseif { "$theOS" == "android" } {
- set aLibsMap(CSF_androidlog) "log"
- } else {
- if { "$::HAVE_FREETYPE" == "true" } {
- set aLibsMap(CSF_fontconfig) "fontconfig"
- }
- if { "$theOS" == "qnx" } {
- # CSF_ThreadLibs - pthread API is part of libc on QNX
- } else {
- set aLibsMap(CSF_ThreadLibs) "pthread rt"
- if { "$::HAVE_TK" == "true" } {
- set aLibsMap(CSF_TclTkLibs) "tk8.6"
- }
- if { "$::HAVE_XLIB" == "true" } {
- set aLibsMap(CSF_XwLibs) "X11"
- }
- }
- }
- }
-}
-
-# Returns string of library dependencies for generation of Visual Studio project or make lists.
-proc osutils:vtkCsf {{theOS ""}} {
- set aVtkVer "6.1"
-
- set aPathSplitter ":"
- if {"$theOS" == "wnt"} {
- set aPathSplitter ";"
- }
-
- set anOptIncs [split $::env(CSF_OPT_INC) "$aPathSplitter"]
- foreach anIncItem $anOptIncs {
- if {[regexp -- "vtk-(.*)$" [file tail $anIncItem] dummy aFoundVtkVer]} {
- set aVtkVer $aFoundVtkVer
- }
- }
-
- set aLibArray [list vtkCommonCore vtkCommonDataModel vtkCommonExecutionModel vtkCommonMath vtkCommonTransforms vtkRenderingCore \
- vtkRenderingOpenGL vtkFiltersGeneral vtkIOCore vtkIOImage vtkImagingCore vtkInteractionStyle]
-
- # Additional suffices for the libraries
- set anIdx 0
- foreach anItem $aLibArray {
- lset aLibArray $anIdx $anItem-$aVtkVer
- incr anIdx
- }
-
- return [join $aLibArray " "]
-}
-
-# @param theLibsList - dependencies (libraries list)
-# @param theFrameworks - dependencies (frameworks list, OS X specific)
-proc osutils:usedOsLibs { theToolKit theOS theLibsList theFrameworks theSrcDir { theRelease true } } {
- global path
- upvar $theLibsList aLibsList
- upvar $theFrameworks aFrameworks
- set aLibsList [list]
- set aFrameworks [list]
-
- osutils:csfList $theOS aLibsMap aFrmsMap $theRelease
-
- foreach aCsfElem [osutils:tk:csfInExternlib "$path/$theSrcDir/${theToolKit}/EXTERNLIB"] {
- if [info exists aLibsMap($aCsfElem)] {
- foreach aLib [split "$aLibsMap($aCsfElem)"] {
- if { [lsearch $aLibsList $aLib] == "-1" } {
- lappend aLibsList $aLib
- }
- }
- }
- if [info exists aFrmsMap($aCsfElem)] {
- foreach aFrm [split "$aFrmsMap($aCsfElem)"] {
- if { [lsearch $aFrameworks $aFrm] == "-1" } {
- lappend aFrameworks $aFrm
- }
- }
- }
- }
-}
-
-# Returns liste of UD in a toolkit. tkloc is a full path wok.
-proc osutils:tk:units { tkloc theSrcDir } {
- global path
- set l {}
- set PACKAGES "$path/$theSrcDir/$tkloc/PACKAGES"
- foreach u [wokUtils:FILES:FileToList $PACKAGES] {
- if {[file isdirectory "$path/$theSrcDir/$u"]} {
- lappend l $u
- }
- }
- if { $l == {} } {
- ;#puts stderr "Warning. No devunit included in $tkloc"
- }
- return $l
-}
-
-# remove from listloc OpenCascade units indesirables on NT
-proc osutils:juststation {goaway listloc} {
- global path
- set lret {}
- foreach u $listloc {
- if {([file isdirectory "$path/src/$u"] && [lsearch $goaway $u] == -1 )
- || (![file isdirectory "$path/src/$u"] && [lsearch $goaway $u] == -1 ) } {
- lappend lret $u
- }
- }
- return $lret
-}
-
-# intersect3 - perform the intersecting of two lists, returning a list containing three lists.
-# The first list is everything in the first list that wasn't in the second,
-# the second list contains the intersection of the two lists, the third list contains everything
-# in the second list that wasn't in the first.
-proc osutils:intersect3 {list1 list2} {
- set la1(0) {} ; unset la1(0)
- set lai(0) {} ; unset lai(0)
- set la2(0) {} ; unset la2(0)
- foreach v $list1 {
- set la1($v) {}
- }
- foreach v $list2 {
- set la2($v) {}
- }
- foreach elem [concat $list1 $list2] {
- if {[info exists la1($elem)] && [info exists la2($elem)]} {
- unset la1($elem)
- unset la2($elem)
- set lai($elem) {}
- }
- }
- list [lsort [array names la1]] [lsort [array names lai]] [lsort [array names la2]]
-}
-
-# Prepare relative path
-proc relativePath {thePathFrom thePathTo} {
- if { [file isdirectory "$thePathFrom"] == 0 } {
- return ""
- }
-
- set aPathFrom [file normalize "$thePathFrom"]
- set aPathTo [file normalize "$thePathTo"]
-
- set aCutedPathFrom "${aPathFrom}/dummy"
- set aRelatedDeepPath ""
-
- while { "$aCutedPathFrom" != [file normalize "$aCutedPathFrom/.."] } {
- set aCutedPathFrom [file normalize "$aCutedPathFrom/.."]
- # does aPathTo contain aCutedPathFrom?
- regsub -all $aCutedPathFrom $aPathTo "" aPathFromAfterCut
- if { "$aPathFromAfterCut" != "$aPathTo" } { # if so
- if { "$aCutedPathFrom" == "$aPathFrom" } { # just go higher, for example, ./somefolder/someotherfolder
- set aPathTo ".${aPathTo}"
- } elseif { "$aCutedPathFrom" == "$aPathTo" } { # remove the last "/"
- set aRelatedDeepPath [string replace $aRelatedDeepPath end end ""]
- }
- regsub -all $aCutedPathFrom $aPathTo $aRelatedDeepPath aPathToAfterCut
- regsub -all "//" $aPathToAfterCut "/" aPathToAfterCut
- return $aPathToAfterCut
- }
- set aRelatedDeepPath "$aRelatedDeepPath../"
-
- }
-
- return $thePathTo
-}
-
-proc wokUtils:EASY:bs1 { s } {
- regsub -all {/} $s {\\} r
- return $r
-}
-
-# Returns for a full path the liste of n last directory part
-# n = 1 => tail
-# n = 2 => dir/file.c
-# n = 3 => sdir/dir/file.c
-# etc..
-proc wokUtils:FILES:wtail { f n } {
- set ll [expr [llength [set lif [file split $f]]] -$n]
- return [join [lrange $lif $ll end] /]
-}
-
-# Generate entry for one source file in Visual Studio 10 project file
-proc osutils:vcxproj:cxxfile { theFile theParams theSrcFileLevel } {
- if { $theParams == "" } {
- return " <ClCompile Include=\"..\\..\\..\\[wokUtils:EASY:bs1 [wokUtils:FILES:wtail $theFile $theSrcFileLevel]]\" />\n"
- }
-
- set aParams [string trim ${theParams}]
- append text " <ClCompile Include=\"..\\..\\..\\[wokUtils:EASY:bs1 [wokUtils:FILES:wtail $theFile 3]]\">\n"
- append text " <AdditionalOptions Condition=\"\'\$(Configuration)|\$(Platform)\'==\'Debug|Win32\'\">${aParams} %(AdditionalOptions)</AdditionalOptions>\n"
- append text " <AdditionalOptions Condition=\"\'\$(Configuration)|\$(Platform)\'==\'Release|Win32\'\">${aParams} %(AdditionalOptions)</AdditionalOptions>\n"
- append text " <AdditionalOptions Condition=\"\'\$(Configuration)|\$(Platform)\'==\'Debug|x64\'\">${aParams} %(AdditionalOptions)</AdditionalOptions>\n"
- append text " <AdditionalOptions Condition=\"\'\$(Configuration)|\$(Platform)\'==\'Release|x64\'\">${aParams} %(AdditionalOptions)</AdditionalOptions>\n"
- append text " </ClCompile>\n"
- return $text
-}
-
-# Generate entry for one header file in Visual Studio 10 project file
-proc osutils:vcxproj:hxxfile { theFile } { return " <ClInclude Include=\"..\\..\\..\\[wokUtils:EASY:bs1 [wokUtils:FILES:wtail $theFile 3]]\" />\n" }
-
-# Generate Visual Studio 2010 project filters file
-proc osutils:vcxproj:filters { dir proj theCxxFilesMap theHxxFilesMap } {
- upvar $theCxxFilesMap aCxxFilesMap
- upvar $theHxxFilesMap aHxxFilesMap
-
- # header
- append text "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
- append text "<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n"
-
- # list of "filters" (units)
- append text " <ItemGroup>\n"
- append text " <Filter Include=\"Source files\">\n"
- append text " <UniqueIdentifier>[OS:genGUID]</UniqueIdentifier>\n"
- append text " </Filter>\n"
- append text " <Filter Include=\"Header files\">\n"
- append text " <UniqueIdentifier>[OS:genGUID]</UniqueIdentifier>\n"
- append text " </Filter>\n"
- foreach unit $aCxxFilesMap(units) {
- append text " <Filter Include=\"Source files\\${unit}\">\n"
- append text " <UniqueIdentifier>[OS:genGUID]</UniqueIdentifier>\n"
- append text " </Filter>\n"
- }
- foreach unit $aHxxFilesMap(units) {
- append text " <Filter Include=\"Header files\\${unit}\">\n"
- append text " <UniqueIdentifier>[OS:genGUID]</UniqueIdentifier>\n"
- append text " </Filter>\n"
- }
- append text " </ItemGroup>\n"
-
- # list of cxx files
- append text " <ItemGroup>\n"
- foreach unit $aCxxFilesMap(units) {
- foreach file $aCxxFilesMap($unit) {
- append text " <ClCompile Include=\"..\\..\\..\\[wokUtils:EASY:bs1 [wokUtils:FILES:wtail $file 3]]\">\n"
- append text " <Filter>Source files\\${unit}</Filter>\n"
- append text " </ClCompile>\n"
- }
- }
- append text " </ItemGroup>\n"
-
- # list of hxx files
- append text " <ItemGroup>\n"
- foreach unit $aHxxFilesMap(units) {
- foreach file $aHxxFilesMap($unit) {
- append text " <ClInclude Include=\"..\\..\\..\\[wokUtils:EASY:bs1 [wokUtils:FILES:wtail $file 3]]\">\n"
- append text " <Filter>Header files\\${unit}</Filter>\n"
- append text " </ClInclude>\n"
- }
- }
- append text " </ItemGroup>\n"
-
- append text " <ItemGroup>\n"
- append text " <ResourceCompile Include=\"${proj}.rc\" />\n"
- append text " </ItemGroup>\n"
-
- # end
- append text "</Project>"
-
- # write file
- set fp [open [set fvcproj [file join $dir ${proj}.vcxproj.filters]] w]
- fconfigure $fp -translation crlf
- puts $fp $text
- close $fp
-
- return ${proj}.vcxproj.filters
-}
-
-# Generate RC file content for ToolKit from template
-proc osutils:readtemplate:rc {theOutDir theToolKit} {
- set aLoc "$::THE_CASROOT/adm/templates/template_dll.rc"
- set aBody [wokUtils:FILES:FileToString $aLoc]
- regsub -all -- {__TKNAM__} $aBody $theToolKit aBody
-
- set aFile [open "${theOutDir}/${theToolKit}.rc" "w"]
- fconfigure $aFile -translation lf
- puts $aFile $aBody
- close $aFile
- return "${theOutDir}/${theToolKit}.rc"
-}
-
-# Generate Visual Studio project file for ToolKit
-proc osutils:vcproj { theVcVer isUWP theOutDir theToolKit theGuidsMap theSrcDir theSourceDirOther } {
- global path
-
- set aHasQtDep "false"
- set aTkDefines ""
- foreach aCsfElem [osutils:tk:csfInExternlib "$path/$theSrcDir/${theToolKit}/EXTERNLIB"] {
- if { "$aCsfElem" == "CSF_QT" } {
- set aHasQtDep "true"
- } elseif { "$aCsfElem" == "CSF_OpenGlLibs" } {
- set aTkDefines "$aTkDefines;HAVE_OPENGL"
- } elseif { "$aCsfElem" == "CSF_OpenGlesLibs" } {
- set aTkDefines "$aTkDefines;HAVE_GLES2"
- }
- }
- set theProjTmpl [osutils:vcproj:readtemplate $theVcVer $isUWP 0]
-
- set l_compilable [osutils:compilable wnt]
- regsub -all -- {__TKNAM__} $theProjTmpl $theToolKit theProjTmpl
-
- upvar $theGuidsMap aGuidsMap
- if { ! [info exists aGuidsMap($theToolKit)] } {
- set aGuidsMap($theToolKit) [OS:genGUID]
- }
- regsub -all -- {__PROJECT_GUID__} $theProjTmpl $aGuidsMap($theToolKit) theProjTmpl
-
- set theProjTmpl [osutils:uwp:proj $isUWP ${theProjTmpl}]
-
- set aUsedLibs [list]
-
- if { $isUWP } {
- lappend aUsedLibs "WindowsApp.lib"
- }
-
- foreach tkx [osutils:commonUsedTK $theToolKit $theSrcDir $theSourceDirOther] {
- lappend aUsedLibs "${tkx}.lib"
- }
-
- set anOsReleaseLibs {}
- set anOsDebugLibs {}
- osutils:usedOsLibs $theToolKit "wnt" anOsReleaseLibs aFrameworks $theSrcDir true
- osutils:usedOsLibs $theToolKit "wnt" anOsDebugLibs aFrameworks $theSrcDir false
-
- # correct names of referred third-party libraries that are named with suffix
- # depending on VC version
- regsub -all -- {__TKDEP__} $theProjTmpl [osutils:depLibraries $aUsedLibs $anOsReleaseLibs $theVcVer] theProjTmpl
- regsub -all -- {__TKDEP_DEBUG__} $theProjTmpl [osutils:depLibraries $aUsedLibs $anOsDebugLibs $theVcVer] theProjTmpl
- regsub -all -- {__TKDEFINES__} $theProjTmpl $aTkDefines theProjTmpl
-
- set anIncPaths "..\\..\\..\\inc"
- set aFilesSection ""
- set aVcFilesCxx(units) ""
- set aVcFilesHxx(units) ""
- set listloc [osutils:tk:units $theToolKit $theSrcDir]
- if [array exists written] { unset written }
- #puts "\t1 [wokparam -v %CMPLRS_CXX_Options [w_info -f]] father"
- #puts "\t2 [wokparam -v %CMPLRS_CXX_Options] branch"
- #puts "\t1 [wokparam -v %CMPLRS_C_Options [w_info -f]] father"
- #puts "\t2 [wokparam -v %CMPLRS_C_Options] branch"
- set fxloparamfcxx [lindex [osutils:intersect3 [_get_options wnt cmplrs_cxx f] [_get_options wnt cmplrs_cxx b]] 2]
- set fxloparamfc [lindex [osutils:intersect3 [_get_options wnt cmplrs_c f] [_get_options wnt cmplrs_c b]] 2]
- set fxloparam ""
- foreach fxlo $listloc {
- set xlo $fxlo
- set aSrcFiles [osutils:tk:cxxfiles $xlo wnt $theSrcDir]
- set aHxxFiles [osutils:tk:hxxfiles $xlo wnt $theSrcDir]
-
- # prepare Qt moc files, appears only in Inspector - directory tools
- set aGeneratedFiles {}
- if { "$aHasQtDep" == "true" } {
- set aMocResFiles [osutils:tk:mocfiles $aHxxFiles $theOutDir]
- set aGeneratedFiles [osutils:tk:execfiles $aMocResFiles $theOutDir moc${::SYS_EXE_SUFFIX} moc cpp]
-
- set aQrcResFiles [osutils:tk:qrcfiles $xlo wnt $theSrcDir]
- set aQrcFiles [osutils:tk:execfiles $aQrcResFiles $theOutDir rcc${::SYS_EXE_SUFFIX} rcc cpp]
- foreach resFile $aQrcFiles {
- lappend aGeneratedFiles $resFile
- }
- }
-
- set fxlo_cmplrs_options_cxx [_get_options wnt cmplrs_cxx $fxlo]
- if {$fxlo_cmplrs_options_cxx == ""} {
- set fxlo_cmplrs_options_cxx [_get_options wnt cmplrs_cxx b]
- }
- set fxlo_cmplrs_options_c [_get_options wnt cmplrs_c $fxlo]
- if {$fxlo_cmplrs_options_c == ""} {
- set fxlo_cmplrs_options_c [_get_options wnt cmplrs_c b]
- }
- set fxloparam "$fxloparam [lindex [osutils:intersect3 [_get_options wnt cmplrs_cxx b] $fxlo_cmplrs_options_cxx] 2]"
- set fxloparam "$fxloparam [lindex [osutils:intersect3 [_get_options wnt cmplrs_c b] $fxlo_cmplrs_options_c] 2]"
- #puts "\t3 [wokparam -v %CMPLRS_CXX_Options] branch CXX "
- #puts "\t4 [wokparam -v %CMPLRS_CXX_Options $fxlo] $fxlo CXX"
- #puts "\t5 [wokparam -v %CMPLRS_C_Options] branch C"
- #puts "\t6 [wokparam -v %CMPLRS_C_Options $fxlo] $fxlo C"
- set needparam ""
- foreach partopt $fxloparam {
- if {[string first "-I" $partopt] == "0"} {
- # this is an additional includes search path
- continue
- }
- set needparam "$needparam $partopt"
- }
-
- # Format of projects in vc10+ is different from vc7-9
- if { "$theVcVer" != "vc7" && "$theVcVer" != "vc8" && "$theVcVer" != "vc9" } {
- foreach aSrcFile [lsort $aSrcFiles] {
- if { ![info exists written([file tail $aSrcFile])] } {
- set written([file tail $aSrcFile]) 1
- append aFilesSection [osutils:vcxproj:cxxfile $aSrcFile $needparam 3]
- } else {
- puts "Warning : in vcproj more than one occurrences for [file tail $aSrcFile]"
- }
- if { ! [info exists aVcFilesCxx($xlo)] } { lappend aVcFilesCxx(units) $xlo }
- lappend aVcFilesCxx($xlo) $aSrcFile
- }
- foreach aHxxFile [lsort $aHxxFiles] {
- if { ![info exists written([file tail $aHxxFile])] } {
- set written([file tail $aHxxFile]) 1
- append aFilesSection [osutils:vcxproj:hxxfile $aHxxFile]
- } else {
- puts "Warning : in vcproj more than one occurrences for [file tail $aHxxFile]"
- }
- if { ! [info exists aVcFilesHxx($xlo)] } { lappend aVcFilesHxx(units) $xlo }
- lappend aVcFilesHxx($xlo) $aHxxFile
- }
- foreach aGenFile [lsort $aGeneratedFiles] {
- if { ![info exists written([file tail $aGenFile])] } {
- set written([file tail $aGenFile]) 1
- append aFilesSection [osutils:vcxproj:cxxfile $aGenFile $needparam 5]
- } else {
- puts "Warning : in vcproj more than one occurrences for [file tail $aGenFile]"
- }
- if { ! [info exists aVcFilesCxx($xlo)] } { lappend aVcFilesCxx(units) $xlo }
- lappend aVcFilesCxx($xlo) $aGenFile
- }
- } else {
- append aFilesSection "\t\t\t<Filter\n"
- append aFilesSection "\t\t\t\tName=\"${xlo}\"\n"
- append aFilesSection "\t\t\t\t>\n"
- foreach aSrcFile [lsort $aSrcFiles] {
- if { ![info exists written([file tail $aSrcFile])] } {
- set written([file tail $aSrcFile]) 1
- append aFilesSection [osutils:vcproj:file $theVcVer $aSrcFile $needparam]
- } else {
- puts "Warning : in vcproj more than one occurrences for [file tail $aSrcFile]"
- }
- }
- append aFilesSection "\t\t\t</Filter>\n"
- }
- }
-
- regsub -all -- {__TKINC__} $theProjTmpl $anIncPaths theProjTmpl
- regsub -all -- {__FILES__} $theProjTmpl $aFilesSection theProjTmpl
-
- # write file
- set aFile [open [set aVcFiles [file join $theOutDir ${theToolKit}.[osutils:vcproj:ext $theVcVer]]] w]
- fconfigure $aFile -translation crlf
- puts $aFile $theProjTmpl
- close $aFile
-
- # write filters file for vc10+
- if { "$theVcVer" != "vc7" && "$theVcVer" != "vc8" && "$theVcVer" != "vc9" } {
- lappend aVcFiles [osutils:vcxproj:filters $theOutDir $theToolKit aVcFilesCxx aVcFilesHxx]
- }
-
- # write resource file
- lappend aVcFiles [osutils:readtemplate:rc $theOutDir $theToolKit]
-
- return $aVcFiles
-}
-
-# Appends OS libraries into the list of used libraries.
-# Corrects list of referred third-party libraries that are named with suffix
-# depending on VC version
-# Unites list of used libraries into a variable with separator for VStudio older than vc9
-# @param theUsedLibs List of libraries, to be changed
-# @param theOsLibs List of Os library names, before using an extension should be added
-# @param theVcVer version of VStudio
-
-proc osutils:depLibraries { theUsedLibs theOsLibs theVcVer } {
- foreach aLibIter $theOsLibs {
- lappend theUsedLibs "${aLibIter}.${::SYS_LIB_SUFFIX}"
- }
-
- # correct names of referred third-party libraries that are named with suffix
- # depending on VC version
- set aVCRTVer [string range $theVcVer 0 3]
- regsub -all -- {vc[0-9]+} $theUsedLibs $aVCRTVer theUsedLibs
-
- # and put this list to project file
- if { "$theVcVer" != "vc7" && "$theVcVer" != "vc8" && "$theVcVer" != "vc9" } {
- set theUsedLibs [join $theUsedLibs {;}]
- }
-
- return $theUsedLibs
-}
-
-# for a unit returns a map containing all its file in the current
-# workbench
-# local = 1 only local files
-proc osutils:tk:loadunit { loc map theSrcDir} {
- #puts $loc
- upvar $map TLOC
- catch { unset TLOC }
- set lfiles [_get_used_files $loc $theSrcDir]
- foreach f $lfiles {
- #puts "\t$f"
- set t [lindex $f 0]
- set p [lindex $f 2]
- if [info exists TLOC($t)] {
- set l $TLOC($t)
- lappend l $p
- set TLOC($t) $l
- } else {
- set TLOC($t) $p
- }
- }
- return
-}
-
-# Returns the list of all files name in a toolkit within specified list of file extensions.
-proc osutils:tk:files { tkloc theExtensions theSrcDir } {
- set Tfiles(source,nocdlpack) {source pubinclude}
- set Tfiles(source,toolkit) {}
- set Tfiles(source,executable) {source pubinclude}
- set listloc [concat [osutils:tk:units $tkloc $theSrcDir] $tkloc ]
- #puts " listloc = $listloc"
-
- set resultloc $listloc
- set lret {}
- foreach loc $resultloc {
- set utyp [_get_type $loc]
- #puts "\"$utyp\" \"$loc\""
- switch $utyp {
- "t" { set utyp "toolkit" }
- "n" { set utyp "nocdlpack" }
- "x" { set utyp "executable" }
- default { error "Error: Cannot determine type of unit $loc, check adm/UDLIST!" }
- }
- if [array exists map] { unset map }
- osutils:tk:loadunit $loc map $theSrcDir
- #puts " loc = $loc === > [array names map]"
- set LType $Tfiles(source,${utyp})
- foreach typ [array names map] {
- if { [lsearch $LType $typ] == -1 } {
- unset map($typ)
- }
- }
- foreach type [array names map] {
- #puts $type
- foreach f $map($type) {
- #puts $f
- if { [lsearch $theExtensions [file extension $f]] != -1 } {
- lappend lret $f
- }
- }
- }
- }
- return $lret
-}
-
-# Returns the list of all compilable files name in a toolkit.
-proc osutils:tk:cxxfiles { tkloc thePlatform theSrcDir } { return [osutils:tk:files $tkloc [osutils:compilable $thePlatform] $theSrcDir] }
-
-# Returns the list of all header files name in a toolkit.
-proc osutils:tk:hxxfiles { tkloc thePlatform theSrcDir } { return [osutils:tk:files $tkloc [osutils:fileExtensionsHeaders $thePlatform] $theSrcDir] }
-
-# Returns the list of all resource (qrc) files name in a toolkit.
-proc osutils:tk:qrcfiles { tkloc thePlatform theSourceDir } { return [osutils:tk:files $tkloc [osutils:fileExtensionsResources $thePlatform] $theSourceDir] }
-
-# Returns the list of all header files name in a toolkit.
-proc osutils:tk:mocfiles { HxxFiles theOutDir } {
- set lret {}
- foreach file $HxxFiles {
- # processing only files where Q_OBJECT exists
- set fd [open "$file" rb]
- set FILES [split [read $fd] "\n"]
- close $fd
-
- set isQObject [expr [regexp "Q_OBJECT" $FILES]]
- if { ! $isQObject } {
- continue;
- }
- lappend lret $file
- }
- return $lret
-}
-
-# Returns the list of all header files name in a toolkit.
-proc osutils:tk:execfiles { theFiles theOutDir theCommand thePrefix theExtension} {
- set lret {}
- set anOutDir $theOutDir/$thePrefix
- file mkdir $anOutDir
-
- foreach file $theFiles {
- set aResourceName [file tail $file]
- set anOutFile $anOutDir/${thePrefix}_[file rootname $aResourceName].$theExtension
-
- exec $theCommand $file -o $anOutFile
- lappend lret $anOutFile
- }
- return $lret
-}
-
-# Generate Visual Studio project file for executable
-proc osutils:vcprojx { theVcVer isUWP theOutDir theToolKit theGuidsMap theSrcDir theSourceDirOther } {
- set aVcFiles {}
- set aProjTmpl [osutils:vcproj:readtemplate $theVcVer $isUWP 1]
-
- set aProjName $theToolKit
- set l_compilable [osutils:compilable wnt]
- regsub -all -- {__XQTNAM__} $aProjTmpl $aProjName aProjTmpl
-
- upvar $theGuidsMap aGuidsMap
- if { ! [info exists aGuidsMap($aProjName)] } {
- set aGuidsMap($aProjName) [OS:genGUID]
- }
- regsub -all -- {__PROJECT_GUID__} $aProjTmpl $aGuidsMap($aProjName) aProjTmpl
-
- set aUsedLibs [list]
- foreach tkx [osutils:commonUsedTK $theToolKit $theSrcDir $theSourceDirOther] {
- lappend aUsedLibs "${tkx}.lib"
- }
-
- set anOsReleaseLibs {}
- set anOsDebugLibs {}
- osutils:usedOsLibs $theToolKit "wnt" anOsReleaseLibs aFrameworks $theSrcDir true
- osutils:usedOsLibs $theToolKit "wnt" anOsDebugLibs aFrameworks $theSrcDir false
-
- set aVCRTVer [string range $theVcVer 0 3]
- regsub -all -- {__TKDEP__} $aProjTmpl [osutils:depLibraries $aUsedLibs $anOsReleaseLibs $theVcVer] aProjTmpl
- regsub -all -- {__TKDEP_DEBUG__} $aProjTmpl [osutils:depLibraries $aUsedLibs $anOsDebugLibs $theVcVer] aProjTmpl
- regsub -all -- {__TKDEFINES__} $aProjTmpl "" aProjTmpl
-
- set aFilesSection ""
- set aVcFilesCxx(units) ""
- set aVcFilesHxx(units) ""
-
- if { "$theVcVer" != "vc7" && "$theVcVer" != "vc8" && "$theVcVer" != "vc9" } {
- foreach f [osutils:tk:cxxfiles $theToolKit wnt $theSrcDir] {
- if { ![info exists written([file tail $f])] } {
- set written([file tail $f]) 1
- append aFilesSection [osutils:vcxproj:cxxfile $f "" 3]
- if { ! [info exists aVcFilesCxx($theToolKit)] } { lappend aVcFilesCxx(units) $theToolKit }
- lappend aVcFilesCxx($theToolKit) $f
- } else {
- puts "Warning : in vcproj there are more than one occurrences for [file tail $f]"
- }
- }
- } else {
- append aFilesSection "\t\t\t<Filter\n"
- append aFilesSection "\t\t\t\tName=\"$theToolKit\"\n"
- append aFilesSection "\t\t\t\t>\n"
- foreach f [osutils:tk:cxxfiles $theToolKit wnt $theSrcDir] {
- if { ![info exists written([file tail $f])] } {
- set written([file tail $f]) 1
- append aFilesSection [osutils:vcproj:file $theVcVer $f ""]
- } else {
- puts "Warning : in vcproj there are more than one occurrences for [file tail $f]"
- }
- }
- append aFilesSection "\t\t\t</Filter>"
- }
-
- #puts "$aProjTmpl $aFilesSection"
- set anIncPaths "..\\..\\..\\inc"
- regsub -all -- {__TKINC__} $aProjTmpl $anIncPaths aProjTmpl
- regsub -all -- {__FILES__} $aProjTmpl $aFilesSection aProjTmpl
- regsub -all -- {__CONF__} $aProjTmpl Application aProjTmpl
-
- regsub -all -- {__XQTEXT__} $aProjTmpl "exe" aProjTmpl
-
- set aFile [open [set aVcFilePath [file join $theOutDir ${aProjName}.[osutils:vcproj:ext $theVcVer]]] w]
- fconfigure $aFile -translation crlf
- puts $aFile $aProjTmpl
- close $aFile
-
- set aCommonSettingsFile "$aVcFilePath.user"
- lappend aVcFiles $aVcFilePath
-
- # write filters file for vc10
- if { "$theVcVer" != "vc7" && "$theVcVer" != "vc8" && "$theVcVer" != "vc9" } {
- lappend aVcFiles [osutils:vcxproj:filters $theOutDir $aProjName aVcFilesCxx aVcFilesHxx]
- }
-
- # write resource file
- lappend aVcFiles [osutils:readtemplate:rc $theOutDir $aProjName]
-
- set aCommonSettingsFileTmpl ""
- if { "$theVcVer" == "vc7" || "$theVcVer" == "vc8" } {
- # nothing
- } elseif { "$theVcVer" == "vc9" } {
- set aCommonSettingsFileTmpl [wokUtils:FILES:FileToString "$::THE_CASROOT/adm/templates/vcproj.user.vc9x"]
- } else {
- set aCommonSettingsFileTmpl [wokUtils:FILES:FileToString "$::THE_CASROOT/adm/templates/vcxproj.user.vc10x"]
- }
- if { "$aCommonSettingsFileTmpl" != "" } {
- regsub -all -- {__VCVER__} $aCommonSettingsFileTmpl $aVCRTVer aCommonSettingsFileTmpl
-
- set aFile [open [set aVcFilePath "$aCommonSettingsFile"] w]
- fconfigure $aFile -translation crlf
- puts $aFile $aCommonSettingsFileTmpl
- close $aFile
-
- lappend aVcFiles "$aCommonSettingsFile"
- }
-
- return $aVcFiles
-}
-
-# Generate entry for one source file in Visual Studio 7 - 9 project file
-proc osutils:vcproj:file { theVcVer theFile theOptions } {
- append aText "\t\t\t\t<File\n"
- append aText "\t\t\t\t\tRelativePath=\"..\\..\\..\\[wokUtils:EASY:bs1 [wokUtils:FILES:wtail $theFile 3]]\">\n"
- if { $theOptions == "" } {
- append aText "\t\t\t\t</File>\n"
- return $aText
- }
-
- append aText "\t\t\t\t\t<FileConfiguration\n"
- append aText "\t\t\t\t\t\tName=\"Release\|Win32\">\n"
- append aText "\t\t\t\t\t\t<Tool\n"
- append aText "\t\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n"
- append aText "\t\t\t\t\t\t\tAdditionalOptions=\""
- foreach aParam $theOptions {
- append aText "$aParam "
- }
- append aText "\"\n"
- append aText "\t\t\t\t\t\t/>\n"
- append aText "\t\t\t\t\t</FileConfiguration>\n"
-
- append aText "\t\t\t\t\t<FileConfiguration\n"
- append aText "\t\t\t\t\t\tName=\"Debug\|Win32\">\n"
- append aText "\t\t\t\t\t\t<Tool\n"
- append aText "\t\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n"
- append aText "\t\t\t\t\t\t\tAdditionalOptions=\""
- foreach aParam $theOptions {
- append aText "$aParam "
- }
- append aText "\"\n"
- append aText "\t\t\t\t\t\t/>\n"
- append aText "\t\t\t\t\t</FileConfiguration>\n"
- if { "$theVcVer" == "vc7" } {
- append aText "\t\t\t\t</File>\n"
- return $aText
- }
-
- append aText "\t\t\t\t\t<FileConfiguration\n"
- append aText "\t\t\t\t\t\tName=\"Release\|x64\">\n"
- append aText "\t\t\t\t\t\t<Tool\n"
- append aText "\t\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n"
- append aText "\t\t\t\t\t\t\tAdditionalOptions=\""
- foreach aParam $theOptions {
- append aText "$aParam "
- }
- append aText "\"\n"
- append aText "\t\t\t\t\t\t/>\n"
- append aText "\t\t\t\t\t</FileConfiguration>\n"
-
- append aText "\t\t\t\t\t<FileConfiguration\n"
- append aText "\t\t\t\t\t\tName=\"Debug\|x64\">\n"
- append aText "\t\t\t\t\t\t<Tool\n"
- append aText "\t\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n"
- append aText "\t\t\t\t\t\t\tAdditionalOptions=\""
- foreach aParam $theOptions {
- append aText "$aParam "
- }
- append aText "\"\n"
- append aText "\t\t\t\t\t\t/>\n"
- append aText "\t\t\t\t\t</FileConfiguration>\n"
-
- append aText "\t\t\t\t</File>\n"
- return $aText
-}
-
-proc wokUtils:FILES:mkdir { d } {
- global tcl_version
- regsub -all {\.[^.]*} $tcl_version "" major
- if { $major == 8 } {
- file mkdir $d
- } else {
- if ![file exists $d] {
- if { "[info command mkdir]" == "mkdir" } {
- mkdir -path $d
- } else {
- puts stderr "wokUtils:FILES:mkdir : Error unable to find a mkdir command."
- }
- }
- }
- if [file exists $d] {
- return $d
- } else {
- return {}
- }
-}
-
-####### CODEBLOCK ###################################################################
-# Function to generate Code Blocks workspace and project files
-proc OS:MKCBP { theOutDir theModules theAllSolution thePlatform theCmpl } {
- puts stderr "Generating project files for Code Blocks"
-
- # Generate projects for toolkits and separate workspace for each module
- foreach aModule $theModules {
- OS:cworkspace $aModule $aModule $theOutDir
- OS:cbp $theCmpl $aModule $theOutDir $thePlatform
- }
-
- # Generate single workspace "OCCT" containing projects from all modules
- if { "$theAllSolution" != "" } {
- OS:cworkspace $theAllSolution $theModules $theOutDir
- }
-
- puts "The Code Blocks workspace and project files are stored in the $theOutDir directory"
-}
-
-# Generate Code Blocks projects
-proc OS:cbp { theCmpl theModules theOutDir thePlatform } {
- set aProjectFiles {}
- foreach aModule $theModules {
- foreach aToolKit [${aModule}:toolkits] {
- lappend aProjectFiles [osutils:cbptk $theCmpl $theOutDir $aToolKit $thePlatform]
- }
- foreach anExecutable [OS:executable ${aModule}] {
- lappend aProjectFiles [osutils:cbpx $theCmpl $theOutDir $anExecutable $thePlatform]
- }
- }
- return $aProjectFiles
-}
-
-# Generate Code::Blocks project file for ToolKit
-proc osutils:cbptk { theCmpl theOutDir theToolKit thePlatform} {
- set aUsedLibs [list]
- set aFrameworks [list]
- set anIncPaths [list]
- set aTKDefines [list]
- set aTKSrcFiles [list]
-
- # collect list of referred libraries to link with
- osutils:usedOsLibs $theToolKit $thePlatform aUsedLibs aFrameworks "src"
- set aDepToolkits [wokUtils:LIST:Purge [osutils:tk:close $theToolKit "src" ""]]
- foreach tkx $aDepToolkits {
- lappend aUsedLibs "${tkx}"
- }
-
- lappend anIncPaths "../../../inc"
- set listloc [osutils:tk:units $theToolKit "src"]
-
- if { [llength $listloc] == 0 } {
- set listloc $theToolKit
- }
-
- if [array exists written] { unset written }
- foreach fxlo $listloc {
- set xlo $fxlo
- set aSrcFiles [osutils:tk:cxxfiles $xlo $thePlatform "src"]
- foreach aSrcFile [lsort $aSrcFiles] {
- if { ![info exists written([file tail $aSrcFile])] } {
- set written([file tail $aSrcFile]) 1
- lappend aTKSrcFiles "../../../[wokUtils:FILES:wtail $aSrcFile 3]"
- } else {
- puts "Warning : more than one occurrences for [file tail $aSrcFile]"
- }
- }
-
- # macros for correct DLL exports
-# if { $thePlatform == "wnt" || $thePlatform == "uwp" } {
-# lappend aTKDefines "__${xlo}_DLL"
-# }
- }
-
- return [osutils:cbp $theCmpl $theOutDir $theToolKit $thePlatform $aTKSrcFiles $aUsedLibs $aFrameworks $anIncPaths $aTKDefines]
-}
-
-# Generates Code Blocks workspace.
-proc OS:cworkspace { theSolName theModules theOutDir } {
- global path
- set aWsFilePath "${theOutDir}/${theSolName}.workspace"
- set aFile [open $aWsFilePath "w"]
- set isActiveSet 0
- puts $aFile "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>"
- puts $aFile "<CodeBlocks_workspace_file>"
- puts $aFile "\t<Workspace title=\"${theSolName}\">"
-
- # collect list of projects to be created
- foreach aModule $theModules {
- # toolkits
- foreach aToolKit [osutils:tk:sort [${aModule}:toolkits] "src" ""] {
- set aDependencies [LibToLink $aToolKit "src" ""]
- if { [llength $aDependencies] == 0 } {
- puts $aFile "\t\t<Project filename=\"${aToolKit}.cbp\" />"
- } else {
- puts $aFile "\t\t<Project filename=\"${aToolKit}.cbp\" >"
- foreach aDepTk $aDependencies {
- puts $aFile "\t\t\t<Depends filename=\"${aDepTk}.cbp\" />"
- }
- puts $aFile "\t\t</Project>"
- }
- }
-
- # executables, assume one project per cxx file...
- foreach aUnit [OS:executable ${aModule}] {
- set aUnitLoc $aUnit
- set src_files [_get_used_files $aUnit "src" false]
- set aSrcFiles {}
- foreach s $src_files {
- regexp {source ([^\s]+)} $s dummy name
- lappend aSrcFiles $name
- }
- foreach aSrcFile $aSrcFiles {
- set aFileExtension [file extension $aSrcFile]
- if { $aFileExtension == ".cxx" } {
- set aPrjName [file rootname $aSrcFile]
- set aDependencies [list]
- if {[file isdirectory $path/src/$aUnitLoc]} {
- set aDependencies [LibToLinkX $aUnitLoc [file rootname $aSrcFile] "src" ""]
- }
- set anActiveState ""
- if { $isActiveSet == 0 } {
- set anActiveState " active=\"1\""
- set isActiveSet 1
- }
- if { [llength $aDependencies] == 0 } {
- puts $aFile "\t\t<Project filename=\"${aPrjName}.cbp\"${anActiveState}/>"
- } else {
- puts $aFile "\t\t<Project filename=\"${aPrjName}.cbp\"${anActiveState}>"
- foreach aDepTk $aDependencies {
- puts $aFile "\t\t\t<Depends filename=\"${aDepTk}.cbp\" />"
- }
- puts $aFile "\t\t</Project>"
- }
- }
- }
- }
- }
-
- puts $aFile "\t</Workspace>"
- puts $aFile "</CodeBlocks_workspace_file>"
- close $aFile
-
- return $aWsFilePath
-}
-
-# Generate Code::Blocks project file for Executable
-proc osutils:cbpx { theCmpl theOutDir theToolKit thePlatform } {
- global path
- set aWokArch "$::env(ARCH)"
-
- set aCbpFiles {}
- foreach aSrcFile [osutils:tk:cxxfiles $theToolKit $thePlatform "src"] {
- # collect list of referred libraries to link with
- set aUsedLibs [list]
- set aFrameworks [list]
- set anIncPaths [list]
- set aTKDefines [list]
- set aTKSrcFiles [list]
- set aProjName [file rootname [file tail $aSrcFile]]
-
- osutils:usedOsLibs $theToolKit $thePlatform aUsedLibs aFrameworks "src"
-
- set aDepToolkits [LibToLinkX $theToolKit $aProjName "src" ""]
- foreach tkx $aDepToolkits {
- if {[_get_type $tkx] == "t"} {
- lappend aUsedLibs "${tkx}"
- }
- if {[lsearch [glob -tails -directory "$path/src" -types d *] $tkx] == "-1"} {
- lappend aUsedLibs "${tkx}"
- }
- }
-
- set WOKSteps_exec_link [_get_options lin WOKSteps_exec_link $theToolKit]
- if { [regexp {WOKStep_DLLink} $WOKSteps_exec_link] || [regexp {WOKStep_Libink} $WOKSteps_exec_link] } {
- set isExecutable "false"
- } else {
- set isExecutable "true"
- }
-
- if { ![info exists written([file tail $aSrcFile])] } {
- set written([file tail $aSrcFile]) 1
- lappend aTKSrcFiles "../../../[wokUtils:FILES:wtail $aSrcFile 3]"
- } else {
- puts "Warning : in cbp there are more than one occurrences for [file tail $aSrcFile]"
- }
-
- # macros for correct DLL exports
-# if { $thePlatform == "wnt" || $thePlatform == "uwp" } {
-# lappend aTKDefines "__${theToolKit}_DLL"
-# }
-
- # common include paths
- lappend anIncPaths "../../../inc"
-
- lappend aCbpFiles [osutils:cbp $theCmpl $theOutDir $aProjName $thePlatform $aTKSrcFiles $aUsedLibs $aFrameworks $anIncPaths $aTKDefines $isExecutable]
- }
-
- return $aCbpFiles
-}
-
-# This function intended to generate Code::Blocks project file
-# @param theCmpl - the compiler (gcc or msvc)
-# @param theOutDir - output directory to place project file
-# @param theProjName - project name
-# @param theSrcFiles - list of source files
-# @param theLibsList - dependencies (libraries list)
-# @param theFrameworks - dependencies (frameworks list, Mac OS X specific)
-# @param theIncPaths - header search paths
-# @param theDefines - compiler macro definitions
-# @param theIsExe - flag to indicate executable / library target
-proc osutils:cbp { theCmpl theOutDir theProjName thePlatform theSrcFiles theLibsList theFrameworks theIncPaths theDefines {theIsExe "false"} } {
- set aWokArch "$::env(ARCH)"
-
- set aCmplCbp "gcc"
- set aCmplFlags [list]
- set aCmplFlagsRelease [list]
- set aCmplFlagsDebug [list]
- set toPassArgsByFile 0
- set aLibPrefix "lib"
- set aPlatformAndCompiler "${thePlatform}/gcc"
- if { "$thePlatform" == "mac" || "$thePlatform" == "ios" } {
- set aPlatformAndCompiler "${thePlatform}/clang"
- }
- if { "$thePlatform" == "wnt" || "$thePlatform" == "uwp" || "$thePlatform" == "qnx" } {
- set toPassArgsByFile 1
- }
- if { "$theCmpl" == "msvc" } {
- set aCmplCbp "msvc8"
- set aLibPrefix ""
- }
-
- if { "$theCmpl" == "msvc" } {
- set aCmplFlags "-arch:SSE2 -EHsc -W4 -MP"
- set aCmplFlagsRelease "-MD -O2"
- set aCmplFlagsDebug "-MDd -Od -Zi"
- lappend aCmplFlags "-D_CRT_SECURE_NO_WARNINGS"
- lappend aCmplFlags "-D_CRT_NONSTDC_NO_DEPRECATE"
- } elseif { "$theCmpl" == "gcc" } {
- if { "$thePlatform" != "qnx" } {
- set aCmplFlags "-mmmx -msse -msse2 -mfpmath=sse"
- }
- set aCmplFlagsRelease "-O2"
- set aCmplFlagsDebug "-O0 -g"
- if { "$thePlatform" == "wnt" || "$thePlatform" == "uwp" } {
- lappend aCmplFlags "-std=gnu++0x"
- lappend aCmplFlags "-D_WIN32_WINNT=0x0501"
- } else {
- lappend aCmplFlags "-std=c++0x"
- lappend aCmplFlags "-fPIC"
- lappend aCmplFlags "-DOCC_CONVERT_SIGNALS"
- }
- lappend aCmplFlags "-Wall"
- lappend aCmplFlags "-Wextra"
- lappend aCmplFlags "-fexceptions"
- }
- lappend aCmplFlagsRelease "-DNDEBUG"
- lappend aCmplFlagsRelease "-DNo_Exception"
- lappend aCmplFlagsDebug "-D_DEBUG"
- if { "$thePlatform" == "qnx" } {
- lappend aCmplFlags "-D_QNX_SOURCE"
- }
-
- set aCbpFilePath "${theOutDir}/${theProjName}.cbp"
- set aLnkFileName "${theProjName}_obj.link"
- set aLnkDebFileName "${theProjName}_objd.link"
- set aLnkFilePath "${theOutDir}/${aLnkFileName}"
- set aLnkDebFilePath "${theOutDir}/${aLnkDebFileName}"
- set aFile [open $aCbpFilePath "w"]
- puts $aFile "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>"
- puts $aFile "<CodeBlocks_project_file>"
- puts $aFile "\t<FileVersion major=\"1\" minor=\"6\" />"
- puts $aFile "\t<Project>"
- puts $aFile "\t\t<Option title=\"$theProjName\" />"
- puts $aFile "\t\t<Option pch_mode=\"2\" />"
- puts $aFile "\t\t<Option compiler=\"$aCmplCbp\" />"
- puts $aFile "\t\t<Build>"
-
- # Release target configuration
- puts $aFile "\t\t\t<Target title=\"Release\">"
- if { "$theIsExe" == "true" } {
- puts $aFile "\t\t\t\t<Option output=\"../../../${aPlatformAndCompiler}/bin/${theProjName}\" prefix_auto=\"0\" extension_auto=\"0\" />"
- puts $aFile "\t\t\t\t<Option type=\"1\" />"
- } else {
- if { "$thePlatform" == "wnt" || "$thePlatform" == "uwp" } {
- puts $aFile "\t\t\t\t<Option output=\"../../../${aPlatformAndCompiler}/bin/${aLibPrefix}${theProjName}\" imp_lib=\"../../../${aPlatformAndCompiler}/lib/\$(TARGET_OUTPUT_BASENAME)\" prefix_auto=\"1\" extension_auto=\"1\" />"
- } else {
- puts $aFile "\t\t\t\t<Option output=\"../../../${aPlatformAndCompiler}/lib/lib${theProjName}.so\" prefix_auto=\"0\" extension_auto=\"0\" />"
- }
- puts $aFile "\t\t\t\t<Option type=\"3\" />"
- }
- puts $aFile "\t\t\t\t<Option object_output=\"../../../${aPlatformAndCompiler}/obj\" />"
- puts $aFile "\t\t\t\t<Option compiler=\"$aCmplCbp\" />"
- puts $aFile "\t\t\t\t<Option createDefFile=\"0\" />"
- if { "$thePlatform" == "wnt" || "$thePlatform" == "uwp" } {
- puts $aFile "\t\t\t\t<Option createStaticLib=\"1\" />"
- } else {
- puts $aFile "\t\t\t\t<Option createStaticLib=\"0\" />"
- }
-
- # compiler options per TARGET (including defines)
- puts $aFile "\t\t\t\t<Compiler>"
- foreach aFlagIter $aCmplFlagsRelease {
- puts $aFile "\t\t\t\t\t<Add option=\"$aFlagIter\" />"
- }
- foreach aMacro $theDefines {
- puts $aFile "\t\t\t\t\t<Add option=\"-D${aMacro}\" />"
- }
- puts $aFile "\t\t\t\t</Compiler>"
-
- puts $aFile "\t\t\t\t<Linker>"
- if { $toPassArgsByFile == 1 } {
- puts $aFile "\t\t\t\t\t<Add option=\"\@$aLnkFileName\" />"
- }
- puts $aFile "\t\t\t\t\t<Add directory=\"../../../${aPlatformAndCompiler}/lib\" />"
- if { "$thePlatform" == "mac" } {
- if { [ lsearch $theLibsList X11 ] >= 0} {
- puts $aFile "\t\t\t\t\t<Add directory=\"/usr/X11/lib\" />"
- }
- }
- puts $aFile "\t\t\t\t\t<Add option=\"\$(CSF_OPT_LNK${aWokArch})\" />"
- if { "$thePlatform" == "lin" } {
- puts $aFile "\t\t\t\t\t<Add option=\"-Wl,-rpath-link=../../../${aPlatformAndCompiler}/lib\" />"
- }
- puts $aFile "\t\t\t\t</Linker>"
-
- puts $aFile "\t\t\t</Target>"
-
- # Debug target configuration
- puts $aFile "\t\t\t<Target title=\"Debug\">"
- if { "$theIsExe" == "true" } {
- puts $aFile "\t\t\t\t<Option output=\"../../../${aPlatformAndCompiler}/bind/${theProjName}\" prefix_auto=\"0\" extension_auto=\"0\" />"
- puts $aFile "\t\t\t\t<Option type=\"1\" />"
- } else {
- if { "$thePlatform" == "wnt" || "$thePlatform" == "uwp" } {
- puts $aFile "\t\t\t\t<Option output=\"../../../${aPlatformAndCompiler}/bind/${aLibPrefix}${theProjName}\" imp_lib=\"../../../${aPlatformAndCompiler}/libd/\$(TARGET_OUTPUT_BASENAME)\" prefix_auto=\"1\" extension_auto=\"1\" />"
- } else {
- puts $aFile "\t\t\t\t<Option output=\"../../../${aPlatformAndCompiler}/libd/lib${theProjName}.so\" prefix_auto=\"0\" extension_auto=\"0\" />"
- }
- puts $aFile "\t\t\t\t<Option type=\"3\" />"
- }
- puts $aFile "\t\t\t\t<Option object_output=\"../../../${aPlatformAndCompiler}/objd\" />"
- puts $aFile "\t\t\t\t<Option compiler=\"$aCmplCbp\" />"
- puts $aFile "\t\t\t\t<Option createDefFile=\"0\" />"
- if { "$thePlatform" == "wnt" || "$thePlatform" == "uwp" } {
- puts $aFile "\t\t\t\t<Option createStaticLib=\"1\" />"
- } else {
- puts $aFile "\t\t\t\t<Option createStaticLib=\"0\" />"
- }
-
- # compiler options per TARGET (including defines)
- puts $aFile "\t\t\t\t<Compiler>"
- foreach aFlagIter $aCmplFlagsDebug {
- puts $aFile "\t\t\t\t\t<Add option=\"$aFlagIter\" />"
- }
- foreach aMacro $theDefines {
- puts $aFile "\t\t\t\t\t<Add option=\"-D${aMacro}\" />"
- }
- puts $aFile "\t\t\t\t</Compiler>"
-
- puts $aFile "\t\t\t\t<Linker>"
- if { $toPassArgsByFile == 1 } {
- puts $aFile "\t\t\t\t\t<Add option=\"\@$aLnkDebFileName\" />"
- }
- puts $aFile "\t\t\t\t\t<Add directory=\"../../../${aPlatformAndCompiler}/libd\" />"
- if { "$thePlatform" == "mac" } {
- if { [ lsearch $theLibsList X11 ] >= 0} {
- puts $aFile "\t\t\t\t\t<Add directory=\"/usr/X11/lib\" />"
- }
- }
- puts $aFile "\t\t\t\t\t<Add option=\"\$(CSF_OPT_LNK${aWokArch}D)\" />"
- if { "$thePlatform" == "lin" } {
- puts $aFile "\t\t\t\t\t<Add option=\"-Wl,-rpath-link=../../../${aPlatformAndCompiler}/libd\" />"
- }
- puts $aFile "\t\t\t\t</Linker>"
-
- puts $aFile "\t\t\t</Target>"
-
- puts $aFile "\t\t</Build>"
-
- # COMMON compiler options
- puts $aFile "\t\t<Compiler>"
- foreach aFlagIter $aCmplFlags {
- puts $aFile "\t\t\t<Add option=\"$aFlagIter\" />"
- }
- puts $aFile "\t\t\t<Add option=\"\$(CSF_OPT_CMPL)\" />"
- foreach anIncPath $theIncPaths {
- puts $aFile "\t\t\t<Add directory=\"$anIncPath\" />"
- }
- puts $aFile "\t\t</Compiler>"
-
- # COMMON linker options
- puts $aFile "\t\t<Linker>"
- if { "$thePlatform" == "wnt" && "$theCmpl" == "gcc" } {
- puts $aFile "\t\t\t<Add option=\"-Wl,--export-all-symbols\" />"
- }
- foreach aFrameworkName $theFrameworks {
- if { "$aFrameworkName" != "" } {
- puts $aFile "\t\t\t<Add option=\"-framework $aFrameworkName\" />"
- }
- }
- foreach aLibName $theLibsList {
- if { "$aLibName" != "" } {
- if { "$theCmpl" == "msvc" } {
- puts $aFile "\t\t\t<Add library=\"${aLibName}.lib\" />"
- } else {
- puts $aFile "\t\t\t<Add library=\"${aLibName}\" />"
- }
- }
- }
- puts $aFile "\t\t</Linker>"
-
- # list of sources
-
- set aFileLnkObj ""
- set aFileLnkObjd ""
- set isFirstSrcFile 1
- if { $toPassArgsByFile == 1 } {
- set aFileLnkObj [open $aLnkFilePath "w"]
- set aFileLnkObjd [open $aLnkDebFilePath "w"]
- }
-
- foreach aSrcFile $theSrcFiles {
- if {[string equal -nocase [file extension $aSrcFile] ".mm"]} {
- puts $aFile "\t\t<Unit filename=\"$aSrcFile\">"
- puts $aFile "\t\t\t<Option compile=\"1\" />"
- puts $aFile "\t\t\t<Option link=\"1\" />"
- puts $aFile "\t\t</Unit>"
- } elseif {[string equal -nocase [file extension $aSrcFile] ".c"]} {
- puts $aFile "\t\t<Unit filename=\"$aSrcFile\">"
- puts $aFile "\t\t\t<Option compilerVar=\"CC\" />"
- puts $aFile "\t\t</Unit>"
- } elseif { $toPassArgsByFile == 1 && $isFirstSrcFile == 0 && [string equal -nocase [file extension $aSrcFile] ".cxx" ] } {
- # pass at list single source file to Code::Blocks as is
- # and pack the list of other files into the dedicated file to workaround process arguments limits on systems like Windows
- puts $aFile "\t\t<Unit filename=\"$aSrcFile\">"
- puts $aFile "\t\t\t<Option link=\"0\" />"
- puts $aFile "\t\t</Unit>"
-
- set aFileObj [string map {.cxx .o} [string map [list "/src/" "/${aPlatformAndCompiler}/obj/src/"] $aSrcFile]]
- set aFileObjd [string map {.cxx .o} [string map [list "/src/" "/${aPlatformAndCompiler}/objd/src/"] $aSrcFile]]
- puts -nonewline $aFileLnkObj "$aFileObj "
- puts -nonewline $aFileLnkObjd "$aFileObjd "
- } else {
- puts $aFile "\t\t<Unit filename=\"$aSrcFile\" />"
- set isFirstSrcFile 0
- }
- }
-
- if { "$thePlatform" == "wnt" || "$thePlatform" == "uwp" } {
- close $aFileLnkObj
- close $aFileLnkObjd
- }
-
- puts $aFile "\t</Project>"
- puts $aFile "</CodeBlocks_project_file>"
- close $aFile
-
- return $aCbpFilePath
-}
-
-# Define libraries to link using only EXTERNLIB file
-proc LibToLinkX {thePackage theDummyName theSrcDir theSourceDirOther} {
- set aToolKits [LibToLink $thePackage $theSrcDir $theSourceDirOther]
- return $aToolKits
-}
-
-# Function to generate Xcode workspace and project files
-proc OS:MKXCD { theOutDir {theModules {}} {theAllSolution ""} {theLibType "dynamic"} {thePlatform ""} } {
-
- puts stderr "Generating project files for Xcode"
-
- # Generate projects for toolkits and separate workspace for each module
- foreach aModule $theModules {
- OS:xcworkspace $aModule $aModule $theOutDir
- OS:xcodeproj $aModule $theOutDir ::THE_GUIDS_LIST $theLibType $thePlatform
- }
-
- # Generate single workspace "OCCT" containing projects from all modules
- if { "$theAllSolution" != "" } {
- OS:xcworkspace $theAllSolution $theModules $theOutDir
- }
-}
-
-# Generates toolkits sections for Xcode workspace file.
-proc OS:xcworkspace:toolkits { theModule } {
- set aBuff ""
-
- # Adding toolkits for module in workspace.
- foreach aToolKit [osutils:tk:sort [${theModule}:toolkits] "src" ""] {
- append aBuff " <FileRef\n"
- append aBuff " location = \"group:${aToolKit}.xcodeproj\">\n"
- append aBuff " </FileRef>\n"
- }
-
- # Adding executables for module, assume one project per cxx file...
- foreach aUnit [OS:executable ${theModule}] {
- set aUnitLoc $aUnit
- set src_files [_get_used_files $aUnit "src" false]
- set aSrcFiles {}
- foreach s $src_files {
- regexp {source ([^\s]+)} $s dummy name
- lappend aSrcFiles $name
- }
- foreach aSrcFile $aSrcFiles {
- set aFileExtension [file extension $aSrcFile]
- if { $aFileExtension == ".cxx" } {
- set aPrjName [file rootname $aSrcFile]
- append aBuff " <FileRef\n"
- append aBuff " location = \"group:${aPrjName}.xcodeproj\">\n"
- append aBuff " </FileRef>\n"
- }
- }
- }
-
- # Removing unnecessary newline character from the end.
- set aBuff [string replace $aBuff end end]
- return $aBuff
-}
-
-# Generates workspace files for Xcode.
-proc OS:xcworkspace { theWorkspaceName theModules theOutDir } {
- # Creating workspace directory for Xcode.
- set aWorkspaceDir "${theOutDir}/${theWorkspaceName}.xcworkspace"
- wokUtils:FILES:mkdir $aWorkspaceDir
- if { ! [file exists $aWorkspaceDir] } {
- puts stderr "Error: Could not create workspace directory \"$aWorkspaceDir\""
- return
- }
-
- # Creating workspace file.
- set aWsFilePath "${aWorkspaceDir}/contents.xcworkspacedata"
- set aFile [open $aWsFilePath "w"]
-
- # Adding header and section for main Group.
- puts $aFile "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
- puts $aFile "<Workspace"
- puts $aFile " version = \"1.0\">"
- puts $aFile " <Group"
- puts $aFile " location = \"container:\""
- puts $aFile " name = \"${theWorkspaceName}\">"
-
- # Adding modules.
- if { [llength "$theModules"] > 1 } {
- foreach aModule $theModules {
- puts $aFile " <Group"
- puts $aFile " location = \"container:\""
- puts $aFile " name = \"${aModule}\">"
- puts $aFile [OS:xcworkspace:toolkits $aModule]
- puts $aFile " </Group>"
- }
- } else {
- puts $aFile [OS:xcworkspace:toolkits $theModules]
- }
-
- # Adding footer.
- puts $aFile " </Group>"
- puts $aFile "</Workspace>"
- close $aFile
-}
-
-# Generates Xcode project files.
-proc OS:xcodeproj { theModules theOutDir theGuidsMap theLibType thePlatform} {
- upvar $theGuidsMap aGuidsMap
-
- set isStatic 0
- if { "$theLibType" == "static" } {
- set isStatic 1
- } elseif { "$thePlatform" == "ios" } {
- set isStatic 1
- }
-
- set aProjectFiles {}
- foreach aModule $theModules {
- foreach aToolKit [${aModule}:toolkits] {
- lappend aProjectFiles [osutils:xcdtk $theOutDir $aToolKit aGuidsMap $isStatic $thePlatform "dylib"]
- }
- foreach anExecutable [OS:executable ${aModule}] {
- lappend aProjectFiles [osutils:xcdtk $theOutDir $anExecutable aGuidsMap $isStatic $thePlatform "executable"]
- }
- }
- return $aProjectFiles
-}
-
-# Generates dependencies section for Xcode project files.
-proc osutils:xcdtk:deps {theToolKit theTargetType theGuidsMap theFileRefSection theDepsGuids theDepsRefGuids thePlatform theIsStatic} {
- upvar $theGuidsMap aGuidsMap
- upvar $theFileRefSection aFileRefSection
- upvar $theDepsGuids aDepsGuids
- upvar $theDepsRefGuids aDepsRefGuids
-
- set aBuildFileSection ""
- set aUsedLibs [wokUtils:LIST:Purge [osutils:tk:close $theToolKit "src" ""]]
- set aDepToolkits [lappend [wokUtils:LIST:Purge [osutils:tk:close $theToolKit "src" ""]] $theToolKit]
-
- if { "$theTargetType" == "executable" } {
- set aFile [osutils:tk:cxxfiles $theToolKit mac "src"]
- set aProjName [file rootname [file tail $aFile]]
- set aDepToolkits [LibToLinkX $theToolKit $aProjName "src" ""]
- }
-
- set aLibExt "dylib"
- if { $theIsStatic == 1 } {
- set aLibExt "a"
- if { "$theTargetType" != "executable" } {
- return $aBuildFileSection
- }
- }
-
- osutils:usedOsLibs $theToolKit $thePlatform aLibs aFrameworks "src"
- set aUsedLibs [concat $aUsedLibs $aLibs]
- set aUsedLibs [concat $aUsedLibs $aFrameworks]
- foreach tkx $aUsedLibs {
- set aDepLib "${tkx}_Dep"
- set aDepLibRef "${tkx}_DepRef"
-
- if { ! [info exists aGuidsMap($aDepLib)] } {
- set aGuidsMap($aDepLib) [OS:genGUID "xcd"]
- }
- if { ! [info exists aGuidsMap($aDepLibRef)] } {
- set aGuidsMap($aDepLibRef) [OS:genGUID "xcd"]
- }
-
- append aBuildFileSection "\t\t$aGuidsMap($aDepLib) = \{isa = PBXBuildFile; fileRef = $aGuidsMap($aDepLibRef) ; \};\n"
- if {[lsearch -nocase $aFrameworks $tkx] == -1} {
- append aFileRefSection "\t\t$aGuidsMap($aDepLibRef) = \{isa = PBXFileReference; lastKnownFileType = file; name = lib${tkx}.${aLibExt}; path = lib${tkx}.${aLibExt}; sourceTree = \"<group>\"; \};\n"
- } else {
- append aFileRefSection "\t\t$aGuidsMap($aDepLibRef) = \{isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ${tkx}.framework; path = /System/Library/Frameworks/${tkx}.framework; sourceTree = \"<absolute>\"; \};\n"
- }
- append aDepsGuids "\t\t\t\t$aGuidsMap($aDepLib) ,\n"
- append aDepsRefGuids "\t\t\t\t$aGuidsMap($aDepLibRef) ,\n"
- }
-
- return $aBuildFileSection
-}
-
-# Generates PBXBuildFile and PBXGroup sections for project file.
-proc osutils:xcdtk:sources {theToolKit theTargetType theSrcFileRefSection theGroupSection thePackageGuids theSrcFileGuids theGuidsMap theIncPaths} {
- upvar $theSrcFileRefSection aSrcFileRefSection
- upvar $theGroupSection aGroupSection
- upvar $thePackageGuids aPackagesGuids
- upvar $theSrcFileGuids aSrcFileGuids
- upvar $theGuidsMap aGuidsMap
- upvar $theIncPaths anIncPaths
-
- set listloc [osutils:tk:units $theToolKit "src"]
- set aBuildFileSection ""
- set aPackages [lsort -nocase $listloc]
- if { "$theTargetType" == "executable" } {
- set aPackages [list "$theToolKit"]
- }
-
- # Generating PBXBuildFile, PBXGroup sections and groups for each package.
- foreach fxlo $aPackages {
- set xlo $fxlo
- set aPackage "${xlo}_Package"
- set aSrcFileRefGuids ""
- if { ! [info exists aGuidsMap($aPackage)] } {
- set aGuidsMap($aPackage) [OS:genGUID "xcd"]
- }
-
- set aSrcFiles [osutils:tk:cxxfiles $xlo mac "src"]
- foreach aSrcFile [lsort $aSrcFiles] {
- set aFileExt "sourcecode.cpp.cpp"
-
- if { [file extension $aSrcFile] == ".c" } {
- set aFileExt "sourcecode.c.c"
- } elseif { [file extension $aSrcFile] == ".mm" } {
- set aFileExt "sourcecode.cpp.objcpp"
- }
-
- if { ! [info exists aGuidsMap($aSrcFile)] } {
- set aGuidsMap($aSrcFile) [OS:genGUID "xcd"]
- }
- set aSrcFileRef "${aSrcFile}_Ref"
- if { ! [info exists aGuidsMap($aSrcFileRef)] } {
- set aGuidsMap($aSrcFileRef) [OS:genGUID "xcd"]
- }
- if { ! [info exists written([file tail $aSrcFile])] } {
- set written([file tail $aSrcFile]) 1
- append aBuildFileSection "\t\t$aGuidsMap($aSrcFile) = \{isa = PBXBuildFile; fileRef = $aGuidsMap($aSrcFileRef) ;\};\n"
- append aSrcFileRefSection "\t\t$aGuidsMap($aSrcFileRef) = \{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = ${aFileExt}; name = [wokUtils:FILES:wtail $aSrcFile 1]; path = ../../../[wokUtils:FILES:wtail $aSrcFile 3]; sourceTree = \"<group>\"; \};\n"
- append aSrcFileGuids "\t\t\t\t$aGuidsMap($aSrcFile) ,\n"
- append aSrcFileRefGuids "\t\t\t\t$aGuidsMap($aSrcFileRef) ,\n"
- } else {
- puts "Warning : more than one occurrences for [file tail $aSrcFile]"
- }
- }
-
- append aGroupSection "\t\t$aGuidsMap($aPackage) = \{\n"
- append aGroupSection "\t\t\tisa = PBXGroup;\n"
- append aGroupSection "\t\t\tchildren = (\n"
- append aGroupSection $aSrcFileRefGuids
- append aGroupSection "\t\t\t);\n"
- append aGroupSection "\t\t\tname = $xlo;\n"
- append aGroupSection "\t\t\tsourceTree = \"<group>\";\n"
- append aGroupSection "\t\t\};\n"
-
- # Storing packages IDs for adding them later as a child of toolkit
- append aPackagesGuids "\t\t\t\t$aGuidsMap($aPackage) ,\n"
- }
-
- # Removing unnecessary newline character from the end.
- set aPackagesGuids [string replace $aPackagesGuids end end]
-
- return $aBuildFileSection
-}
-
-# Creates folders structure and all necessary files for Xcode project.
-proc osutils:xcdtk { theOutDir theToolKit theGuidsMap theIsStatic thePlatform {theTargetType "dylib"} } {
- set aPBXBuildPhase "Headers"
- set aRunOnlyForDeployment "0"
- set aProductType "library.dynamic"
- set anExecExtension "\t\t\t\tEXECUTABLE_EXTENSION = dylib;"
- set anExecPrefix "\t\t\t\tEXECUTABLE_PREFIX = lib;"
- set aWrapperExtension "\t\t\t\tWRAPPER_EXTENSION = dylib;"
- set aTKDefines [list "OCC_CONVERT_SIGNALS"]
- if { $theIsStatic == 1 } {
- lappend aTKDefines "OCCT_NO_PLUGINS"
- }
-
- if { "$theTargetType" == "executable" } {
- set aPBXBuildPhase "CopyFiles"
- set aRunOnlyForDeployment "1"
- set aProductType "tool"
- set anExecExtension ""
- set anExecPrefix ""
- set aWrapperExtension ""
- } elseif { $theIsStatic == 1 } {
- set aProductType "library.static"
- set anExecExtension "\t\t\t\tEXECUTABLE_EXTENSION = a;"
- set aWrapperExtension "\t\t\t\tWRAPPER_EXTENSION = a;"
- }
-
- set aUsername [exec whoami]
-
- # Creation of folders for Xcode projectP.
- set aToolkitDir "${theOutDir}/${theToolKit}.xcodeproj"
- wokUtils:FILES:mkdir $aToolkitDir
- if { ! [file exists $aToolkitDir] } {
- puts stderr "Error: Could not create project directory \"$aToolkitDir\""
- return
- }
-
- set aUserDataDir "${aToolkitDir}/xcuserdata"
- wokUtils:FILES:mkdir $aUserDataDir
- if { ! [file exists $aUserDataDir] } {
- puts stderr "Error: Could not create xcuserdata directory in \"$aToolkitDir\""
- return
- }
-
- set aUserDataDir "${aUserDataDir}/${aUsername}.xcuserdatad"
- wokUtils:FILES:mkdir $aUserDataDir
- if { ! [file exists $aUserDataDir] } {
- puts stderr "Error: Could not create ${aUsername}.xcuserdatad directory in \"$aToolkitDir\"/xcuserdata"
- return
- }
-
- set aSchemesDir "${aUserDataDir}/xcschemes"
- wokUtils:FILES:mkdir $aSchemesDir
- if { ! [file exists $aSchemesDir] } {
- puts stderr "Error: Could not create xcschemes directory in \"$aUserDataDir\""
- return
- }
- # End of folders creation.
-
- # Generating GUID for toolkit.
- upvar $theGuidsMap aGuidsMap
- if { ! [info exists aGuidsMap($theToolKit)] } {
- set aGuidsMap($theToolKit) [OS:genGUID "xcd"]
- }
-
- # Creating xcscheme file for toolkit from template.
- set aXcschemeTmpl [osutils:readtemplate "xcscheme" "xcd"]
- regsub -all -- {__TOOLKIT_NAME__} $aXcschemeTmpl $theToolKit aXcschemeTmpl
- regsub -all -- {__TOOLKIT_GUID__} $aXcschemeTmpl $aGuidsMap($theToolKit) aXcschemeTmpl
- set aXcschemeFile [open "$aSchemesDir/${theToolKit}.xcscheme" "w"]
- puts $aXcschemeFile $aXcschemeTmpl
- close $aXcschemeFile
-
- # Creating xcschememanagement.plist file for toolkit from template.
- set aPlistTmpl [osutils:readtemplate "plist" "xcd"]
- regsub -all -- {__TOOLKIT_NAME__} $aPlistTmpl $theToolKit aPlistTmpl
- regsub -all -- {__TOOLKIT_GUID__} $aPlistTmpl $aGuidsMap($theToolKit) aPlistTmpl
- set aPlistFile [open "$aSchemesDir/xcschememanagement.plist" "w"]
- puts $aPlistFile $aPlistTmpl
- close $aPlistFile
-
- # Creating project.pbxproj file for toolkit.
- set aPbxprojFile [open "$aToolkitDir/project.pbxproj" "w"]
- puts $aPbxprojFile "// !\$*UTF8*\$!"
- puts $aPbxprojFile "\{"
- puts $aPbxprojFile "\tarchiveVersion = 1;"
- puts $aPbxprojFile "\tclasses = \{"
- puts $aPbxprojFile "\t\};"
- puts $aPbxprojFile "\tobjectVersion = 46;"
- puts $aPbxprojFile "\tobjects = \{\n"
-
- # Begin PBXBuildFile section
- set aPackagesGuids ""
- set aGroupSection ""
- set aSrcFileRefSection ""
- set aSrcFileGuids ""
- set aDepsFileRefSection ""
- set aDepsGuids ""
- set aDepsRefGuids ""
- set anIncPaths [list "../../../inc"]
- set anLibPaths ""
-
- if { [info exists ::env(CSF_OPT_INC)] } {
- set anIncCfg [split "$::env(CSF_OPT_INC)" ":"]
- foreach anIncCfgPath $anIncCfg {
- lappend anIncPaths $anIncCfgPath
- }
- }
- if { [info exists ::env(CSF_OPT_LIB64)] } {
- set anLibCfg [split "$::env(CSF_OPT_LIB64)" ":"]
- foreach anLibCfgPath $anLibCfg {
- lappend anLibPaths $anLibCfgPath
- }
- }
-
- puts $aPbxprojFile [osutils:xcdtk:sources $theToolKit $theTargetType aSrcFileRefSection aGroupSection aPackagesGuids aSrcFileGuids aGuidsMap anIncPaths]
- puts $aPbxprojFile [osutils:xcdtk:deps $theToolKit $theTargetType aGuidsMap aDepsFileRefSection aDepsGuids aDepsRefGuids $thePlatform $theIsStatic]
- # End PBXBuildFile section
-
- # Begin PBXFileReference section
- set aToolkitLib "lib${theToolKit}.dylib"
- set aPath "$aToolkitLib"
- if { "$theTargetType" == "executable" } {
- set aPath "$theToolKit"
- } elseif { $theIsStatic == 1 } {
- set aToolkitLib "lib${theToolKit}.a"
- }
-
- if { ! [info exists aGuidsMap($aToolkitLib)] } {
- set aGuidsMap($aToolkitLib) [OS:genGUID "xcd"]
- }
-
- puts $aPbxprojFile "\t\t$aGuidsMap($aToolkitLib) = {isa = PBXFileReference; explicitFileType = \"compiled.mach-o.${theTargetType}\"; includeInIndex = 0; path = $aPath; sourceTree = BUILT_PRODUCTS_DIR; };\n"
- puts $aPbxprojFile $aSrcFileRefSection
- puts $aPbxprojFile $aDepsFileRefSection
- # End PBXFileReference section
-
-
- # Begin PBXFrameworksBuildPhase section
- set aTkFrameworks "${theToolKit}_Frameworks"
- if { ! [info exists aGuidsMap($aTkFrameworks)] } {
- set aGuidsMap($aTkFrameworks) [OS:genGUID "xcd"]
- }
-
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkFrameworks) = \{"
- puts $aPbxprojFile "\t\t\tisa = PBXFrameworksBuildPhase;"
- puts $aPbxprojFile "\t\t\tbuildActionMask = 2147483647;"
- puts $aPbxprojFile "\t\t\tfiles = ("
- puts $aPbxprojFile $aDepsGuids
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\trunOnlyForDeploymentPostprocessing = 0;"
- puts $aPbxprojFile "\t\t\};\n"
- # End PBXFrameworksBuildPhase section
-
- # Begin PBXGroup section
- set aTkPBXGroup "${theToolKit}_PBXGroup"
- if { ! [info exists aGuidsMap($aTkPBXGroup)] } {
- set aGuidsMap($aTkPBXGroup) [OS:genGUID "xcd"]
- }
-
- set aTkSrcGroup "${theToolKit}_SrcGroup"
- if { ! [info exists aGuidsMap($aTkSrcGroup)] } {
- set aGuidsMap($aTkSrcGroup) [OS:genGUID "xcd"]
- }
-
- puts $aPbxprojFile $aGroupSection
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkPBXGroup) = \{"
- puts $aPbxprojFile "\t\t\tisa = PBXGroup;"
- puts $aPbxprojFile "\t\t\tchildren = ("
- puts $aPbxprojFile $aDepsRefGuids
- puts $aPbxprojFile "\t\t\t\t$aGuidsMap($aTkSrcGroup) ,"
- puts $aPbxprojFile "\t\t\t\t$aGuidsMap($aToolkitLib) ,"
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\tsourceTree = \"<group>\";"
- puts $aPbxprojFile "\t\t\};"
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkSrcGroup) = \{"
- puts $aPbxprojFile "\t\t\tisa = PBXGroup;"
- puts $aPbxprojFile "\t\t\tchildren = ("
- puts $aPbxprojFile $aPackagesGuids
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\tname = \"Source files\";"
- puts $aPbxprojFile "\t\t\tsourceTree = \"<group>\";"
- puts $aPbxprojFile "\t\t\};\n"
- # End PBXGroup section
-
- # Begin PBXHeadersBuildPhase section
- set aTkHeaders "${theToolKit}_Headers"
- if { ! [info exists aGuidsMap($aTkHeaders)] } {
- set aGuidsMap($aTkHeaders) [OS:genGUID "xcd"]
- }
-
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkHeaders) = \{"
- puts $aPbxprojFile "\t\t\tisa = PBX${aPBXBuildPhase}BuildPhase;"
- puts $aPbxprojFile "\t\t\tbuildActionMask = 2147483647;"
- puts $aPbxprojFile "\t\t\tfiles = ("
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\trunOnlyForDeploymentPostprocessing = ${aRunOnlyForDeployment};"
- puts $aPbxprojFile "\t\t\};\n"
- # End PBXHeadersBuildPhase section
-
- # Begin PBXNativeTarget section
- set aTkBuildCfgListNativeTarget "${theToolKit}_BuildCfgListNativeTarget"
- if { ! [info exists aGuidsMap($aTkBuildCfgListNativeTarget)] } {
- set aGuidsMap($aTkBuildCfgListNativeTarget) [OS:genGUID "xcd"]
- }
-
- set aTkSources "${theToolKit}_Sources"
- if { ! [info exists aGuidsMap($aTkSources)] } {
- set aGuidsMap($aTkSources) [OS:genGUID "xcd"]
- }
-
- puts $aPbxprojFile "\t\t$aGuidsMap($theToolKit) = \{"
- puts $aPbxprojFile "\t\t\tisa = PBXNativeTarget;"
- puts $aPbxprojFile "\t\t\tbuildConfigurationList = $aGuidsMap($aTkBuildCfgListNativeTarget) ;"
- puts $aPbxprojFile "\t\t\tbuildPhases = ("
- puts $aPbxprojFile "\t\t\t\t$aGuidsMap($aTkSources) ,"
- puts $aPbxprojFile "\t\t\t\t$aGuidsMap($aTkFrameworks) ,"
- puts $aPbxprojFile "\t\t\t\t$aGuidsMap($aTkHeaders) ,"
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\tbuildRules = ("
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\tdependencies = ("
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\tname = $theToolKit;"
- puts $aPbxprojFile "\t\t\tproductName = $theToolKit;"
- puts $aPbxprojFile "\t\t\tproductReference = $aGuidsMap($aToolkitLib) ;"
- puts $aPbxprojFile "\t\t\tproductType = \"com.apple.product-type.${aProductType}\";"
- puts $aPbxprojFile "\t\t\};\n"
- # End PBXNativeTarget section
-
- # Begin PBXProject section
- set aTkProjectObj "${theToolKit}_ProjectObj"
- if { ! [info exists aGuidsMap($aTkProjectObj)] } {
- set aGuidsMap($aTkProjectObj) [OS:genGUID "xcd"]
- }
-
- set aTkBuildCfgListProj "${theToolKit}_BuildCfgListProj"
- if { ! [info exists aGuidsMap($aTkBuildCfgListProj)] } {
- set aGuidsMap($aTkBuildCfgListProj) [OS:genGUID "xcd"]
- }
-
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkProjectObj) = \{"
- puts $aPbxprojFile "\t\t\tisa = PBXProject;"
- puts $aPbxprojFile "\t\t\tattributes = \{"
- puts $aPbxprojFile "\t\t\t\tLastUpgradeCheck = 0430;"
- puts $aPbxprojFile "\t\t\t\};"
- puts $aPbxprojFile "\t\t\tbuildConfigurationList = $aGuidsMap($aTkBuildCfgListProj) ;"
- puts $aPbxprojFile "\t\t\tcompatibilityVersion = \"Xcode 3.2\";"
- puts $aPbxprojFile "\t\t\tdevelopmentRegion = English;"
- puts $aPbxprojFile "\t\t\thasScannedForEncodings = 0;"
- puts $aPbxprojFile "\t\t\tknownRegions = ("
- puts $aPbxprojFile "\t\t\t\ten,"
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\tmainGroup = $aGuidsMap($aTkPBXGroup);"
- puts $aPbxprojFile "\t\t\tproductRefGroup = $aGuidsMap($aTkPBXGroup);"
- puts $aPbxprojFile "\t\t\tprojectDirPath = \"\";"
- puts $aPbxprojFile "\t\t\tprojectRoot = \"\";"
- puts $aPbxprojFile "\t\t\ttargets = ("
- puts $aPbxprojFile "\t\t\t\t$aGuidsMap($theToolKit) ,"
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\};\n"
- # End PBXProject section
-
- # Begin PBXSourcesBuildPhase section
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkSources) = \{"
- puts $aPbxprojFile "\t\t\tisa = PBXSourcesBuildPhase;"
- puts $aPbxprojFile "\t\t\tbuildActionMask = 2147483647;"
- puts $aPbxprojFile "\t\t\tfiles = ("
- puts $aPbxprojFile $aSrcFileGuids
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\trunOnlyForDeploymentPostprocessing = 0;"
- puts $aPbxprojFile "\t\t\};\n"
- # End PBXSourcesBuildPhase section
-
- # Begin XCBuildConfiguration section
- set aTkDebugProject "${theToolKit}_DebugProject"
- if { ! [info exists aGuidsMap($aTkDebugProject)] } {
- set aGuidsMap($aTkDebugProject) [OS:genGUID "xcd"]
- }
-
- set aTkReleaseProject "${theToolKit}_ReleaseProject"
- if { ! [info exists aGuidsMap($aTkReleaseProject)] } {
- set aGuidsMap($aTkReleaseProject) [OS:genGUID "xcd"]
- }
-
- set aTkDebugNativeTarget "${theToolKit}_DebugNativeTarget"
- if { ! [info exists aGuidsMap($aTkDebugNativeTarget)] } {
- set aGuidsMap($aTkDebugNativeTarget) [OS:genGUID "xcd"]
- }
-
- set aTkReleaseNativeTarget "${theToolKit}_ReleaseNativeTarget"
- if { ! [info exists aGuidsMap($aTkReleaseNativeTarget)] } {
- set aGuidsMap($aTkReleaseNativeTarget) [OS:genGUID "xcd"]
- }
-
- # Debug target
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkDebugProject) = \{"
- puts $aPbxprojFile "\t\t\tisa = XCBuildConfiguration;"
- puts $aPbxprojFile "\t\t\tbuildSettings = \{"
-
- puts $aPbxprojFile "\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;"
- puts $aPbxprojFile "\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;"
- if { "$thePlatform" == "ios" } {
- puts $aPbxprojFile "\t\t\t\t\"ARCHS\[sdk=iphoneos\*\]\" = \"\$(ARCHS_STANDARD)\";";
- puts $aPbxprojFile "\t\t\t\t\"ARCHS\[sdk=iphonesimulator\*\]\" = \"x86_64\";";
- puts $aPbxprojFile "\t\t\t\tCLANG_ENABLE_MODULES = YES;"
- puts $aPbxprojFile "\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;"
- }
- puts $aPbxprojFile "\t\t\t\tARCHS = \"\$(ARCHS_STANDARD_64_BIT)\";"
- puts $aPbxprojFile "\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";"
- puts $aPbxprojFile "\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"c++0x\";"
- puts $aPbxprojFile "\t\t\t\tCOPY_PHASE_STRIP = NO;"
- puts $aPbxprojFile "\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;"
- puts $aPbxprojFile "\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;"
- puts $aPbxprojFile "\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;"
- puts $aPbxprojFile "\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;"
- puts $aPbxprojFile "\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = ("
- puts $aPbxprojFile "\t\t\t\t\t\"DEBUG=1\","
- puts $aPbxprojFile "\t\t\t\t\t\"\$\(inherited\)\","
- puts $aPbxprojFile "\t\t\t\t);"
- puts $aPbxprojFile "\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;"
- puts $aPbxprojFile "\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;"
- puts $aPbxprojFile "\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;"
- puts $aPbxprojFile "\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;"
- puts $aPbxprojFile "\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;"
- puts $aPbxprojFile "\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;"
- puts $aPbxprojFile "\t\t\t\tOTHER_LDFLAGS = \"\$(CSF_OPT_LNK64D)\"; "
- if { "$thePlatform" == "ios" } {
- puts $aPbxprojFile "\t\t\t\tONLY_ACTIVE_ARCH = NO;"
- puts $aPbxprojFile "\t\t\t\tSDKROOT = iphoneos;"
- } else {
- puts $aPbxprojFile "\t\t\t\tONLY_ACTIVE_ARCH = YES;"
- }
- puts $aPbxprojFile "\t\t\t\};"
-
- puts $aPbxprojFile "\t\t\tname = Debug;"
- puts $aPbxprojFile "\t\t\};"
-
- # Release target
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkReleaseProject) = \{"
- puts $aPbxprojFile "\t\t\tisa = XCBuildConfiguration;"
- puts $aPbxprojFile "\t\t\tbuildSettings = \{"
-
- puts $aPbxprojFile "\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";"
- puts $aPbxprojFile "\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;"
- if { "$thePlatform" == "ios" } {
- puts $aPbxprojFile "\t\t\t\t\"ARCHS\[sdk=iphoneos\*\]\" = \"\$(ARCHS_STANDARD)\";";
- puts $aPbxprojFile "\t\t\t\t\"ARCHS\[sdk=iphonesimulator\*\]\" = \"x86_64\";";
- puts $aPbxprojFile "\t\t\t\tCLANG_ENABLE_MODULES = YES;"
- puts $aPbxprojFile "\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;"
- }
- puts $aPbxprojFile "\t\t\t\tARCHS = \"\$(ARCHS_STANDARD_64_BIT)\";"
- puts $aPbxprojFile "\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";"
- puts $aPbxprojFile "\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"c++0x\";"
- puts $aPbxprojFile "\t\t\t\tCOPY_PHASE_STRIP = YES;"
- puts $aPbxprojFile "\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;"
- puts $aPbxprojFile "\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;"
- puts $aPbxprojFile "\t\t\t\tDEAD_CODE_STRIPPING = NO;"
- puts $aPbxprojFile "\t\t\t\tGCC_OPTIMIZATION_LEVEL = 2;"
- puts $aPbxprojFile "\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;"
- puts $aPbxprojFile "\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;"
- puts $aPbxprojFile "\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;"
- puts $aPbxprojFile "\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;"
- puts $aPbxprojFile "\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;"
- puts $aPbxprojFile "\t\t\t\tOTHER_LDFLAGS = \"\$(CSF_OPT_LNK64)\";"
- if { "$thePlatform" == "ios" } {
- puts $aPbxprojFile "\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 7.0;"
- puts $aPbxprojFile "\t\t\t\tSDKROOT = iphoneos;"
- }
- puts $aPbxprojFile "\t\t\t\};"
- puts $aPbxprojFile "\t\t\tname = Release;"
- puts $aPbxprojFile "\t\t\};"
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkDebugNativeTarget) = \{"
- puts $aPbxprojFile "\t\t\tisa = XCBuildConfiguration;"
- puts $aPbxprojFile "\t\t\tbuildSettings = \{"
- puts $aPbxprojFile "${anExecExtension}"
- puts $aPbxprojFile "${anExecPrefix}"
- puts $aPbxprojFile "\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = ("
- foreach aMacro $aTKDefines {
- puts $aPbxprojFile "\t\t\t\t\t${aMacro} ,"
- }
- puts $aPbxprojFile "\t\t\t\t);"
-
- puts $aPbxprojFile "\t\t\t\tHEADER_SEARCH_PATHS = ("
- foreach anIncPath $anIncPaths {
- puts $aPbxprojFile "\t\t\t\t\t${anIncPath},"
- }
- puts $aPbxprojFile "\t\t\t\t\t\"\$(CSF_OPT_INC)\","
- puts $aPbxprojFile "\t\t\t\t);"
-
- puts $aPbxprojFile "\t\t\t\tLIBRARY_SEARCH_PATHS = ("
- foreach anLibPath $anLibPaths {
- puts $aPbxprojFile "\t\t\t\t\t${anLibPath},"
- }
- puts $aPbxprojFile "\t\t\t\t);"
-
- puts $aPbxprojFile "\t\t\t\tOTHER_CFLAGS = ("
- puts $aPbxprojFile "\t\t\t\t\t\"\$(CSF_OPT_CMPL)\","
- puts $aPbxprojFile "\t\t\t\t);"
- puts $aPbxprojFile "\t\t\t\tOTHER_CPLUSPLUSFLAGS = ("
- puts $aPbxprojFile "\t\t\t\t\t\"\$(OTHER_CFLAGS)\","
- puts $aPbxprojFile "\t\t\t\t);"
- puts $aPbxprojFile "\t\t\t\tPRODUCT_NAME = \"\$(TARGET_NAME)\";"
- set anUserHeaderSearchPath "\t\t\t\tUSER_HEADER_SEARCH_PATHS = \""
- foreach anIncPath $anIncPaths {
- append anUserHeaderSearchPath " ${anIncPath}"
- }
- append anUserHeaderSearchPath "\";"
- puts $aPbxprojFile $anUserHeaderSearchPath
- puts $aPbxprojFile "${aWrapperExtension}"
- puts $aPbxprojFile "\t\t\t\};"
- puts $aPbxprojFile "\t\t\tname = Debug;"
- puts $aPbxprojFile "\t\t\};"
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkReleaseNativeTarget) = \{"
- puts $aPbxprojFile "\t\t\tisa = XCBuildConfiguration;"
- puts $aPbxprojFile "\t\t\tbuildSettings = \{"
- puts $aPbxprojFile "${anExecExtension}"
- puts $aPbxprojFile "${anExecPrefix}"
- puts $aPbxprojFile "\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = ("
- foreach aMacro $aTKDefines {
- puts $aPbxprojFile "\t\t\t\t\t${aMacro} ,"
- }
- puts $aPbxprojFile "\t\t\t\t);"
- puts $aPbxprojFile "\t\t\t\tHEADER_SEARCH_PATHS = ("
- foreach anIncPath $anIncPaths {
- puts $aPbxprojFile "\t\t\t\t\t${anIncPath},"
- }
- puts $aPbxprojFile "\t\t\t\t\t\"\$(CSF_OPT_INC)\","
- puts $aPbxprojFile "\t\t\t\t);"
-
- puts $aPbxprojFile "\t\t\t\tLIBRARY_SEARCH_PATHS = ("
- foreach anLibPath $anLibPaths {
- puts $aPbxprojFile "\t\t\t\t\t${anLibPath},"
- }
- puts $aPbxprojFile "\t\t\t\t);"
-
- puts $aPbxprojFile "\t\t\t\tOTHER_CFLAGS = ("
- puts $aPbxprojFile "\t\t\t\t\t\"\$(CSF_OPT_CMPL)\","
- puts $aPbxprojFile "\t\t\t\t);"
- puts $aPbxprojFile "\t\t\t\tOTHER_CPLUSPLUSFLAGS = ("
- puts $aPbxprojFile "\t\t\t\t\t\"\$(OTHER_CFLAGS)\","
- puts $aPbxprojFile "\t\t\t\t);"
- puts $aPbxprojFile "\t\t\t\tPRODUCT_NAME = \"\$(TARGET_NAME)\";"
- puts $aPbxprojFile $anUserHeaderSearchPath
- puts $aPbxprojFile "${aWrapperExtension}"
- puts $aPbxprojFile "\t\t\t\};"
- puts $aPbxprojFile "\t\t\tname = Release;"
- puts $aPbxprojFile "\t\t\};\n"
- # End XCBuildConfiguration section
-
- # Begin XCConfigurationList section
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkBuildCfgListProj) = \{"
- puts $aPbxprojFile "\t\t\tisa = XCConfigurationList;"
- puts $aPbxprojFile "\t\tbuildConfigurations = ("
- puts $aPbxprojFile "\t\t\t\t$aGuidsMap($aTkDebugProject) ,"
- puts $aPbxprojFile "\t\t\t\t$aGuidsMap($aTkReleaseProject) ,"
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\tdefaultConfigurationIsVisible = 0;"
- puts $aPbxprojFile "\t\t\tdefaultConfigurationName = Release;"
- puts $aPbxprojFile "\t\t\};"
- puts $aPbxprojFile "\t\t$aGuidsMap($aTkBuildCfgListNativeTarget) = \{"
- puts $aPbxprojFile "\t\t\tisa = XCConfigurationList;"
- puts $aPbxprojFile "\t\t\tbuildConfigurations = ("
- puts $aPbxprojFile "\t\t\t\t$aGuidsMap($aTkDebugNativeTarget) ,"
- puts $aPbxprojFile "\t\t\t\t$aGuidsMap($aTkReleaseNativeTarget) ,"
- puts $aPbxprojFile "\t\t\t);"
- puts $aPbxprojFile "\t\t\tdefaultConfigurationIsVisible = 0;"
- puts $aPbxprojFile "\t\t\tdefaultConfigurationName = Release;"
- puts $aPbxprojFile "\t\t\};\n"
- # End XCConfigurationList section
-
- puts $aPbxprojFile "\t\};"
- puts $aPbxprojFile "\trootObject = $aGuidsMap($aTkProjectObj) ;"
- puts $aPbxprojFile "\}"
-
- close $aPbxprojFile
-}
-
-proc osutils:xcdx { theOutDir theExecutable theGuidsMap } {
- set aUsername [exec whoami]
-
- # Creating folders for Xcode project file.
- set anExecutableDir "${theOutDir}/${theExecutable}.xcodeproj"
- wokUtils:FILES:mkdir $anExecutableDir
- if { ! [file exists $anExecutableDir] } {
- puts stderr "Error: Could not create project directory \"$anExecutableDir\""
- return
- }
-
- set aUserDataDir "${anExecutableDir}/xcuserdata"
- wokUtils:FILES:mkdir $aUserDataDir
- if { ! [file exists $aUserDataDir] } {
- puts stderr "Error: Could not create xcuserdata directory in \"$anExecutableDir\""
- return
- }
-
- set aUserDataDir "${aUserDataDir}/${aUsername}.xcuserdatad"
- wokUtils:FILES:mkdir $aUserDataDir
- if { ! [file exists $aUserDataDir] } {
- puts stderr "Error: Could not create ${aUsername}.xcuserdatad directory in \"$anExecutableDir\"/xcuserdata"
- return
- }
-
- set aSchemesDir "${aUserDataDir}/xcschemes"
- wokUtils:FILES:mkdir $aSchemesDir
- if { ! [file exists $aSchemesDir] } {
- puts stderr "Error: Could not create xcschemes directory in \"$aUserDataDir\""
- return
- }
- # End folders creation.
-
- # Generating GUID for toolkit.
- upvar $theGuidsMap aGuidsMap
- if { ! [info exists aGuidsMap($theExecutable)] } {
- set aGuidsMap($theExecutable) [OS:genGUID "xcd"]
- }
-
- # Creating xcscheme file for toolkit from template.
- set aXcschemeTmpl [osutils:readtemplate "xcscheme" "xcode"]
- regsub -all -- {__TOOLKIT_NAME__} $aXcschemeTmpl $theExecutable aXcschemeTmpl
- regsub -all -- {__TOOLKIT_GUID__} $aXcschemeTmpl $aGuidsMap($theExecutable) aXcschemeTmpl
- set aXcschemeFile [open "$aSchemesDir/${theExecutable}.xcscheme" "w"]
- puts $aXcschemeFile $aXcschemeTmpl
- close $aXcschemeFile
-
- # Creating xcschememanagement.plist file for toolkit from template.
- set aPlistTmpl [osutils:readtemplate "plist" "xcode"]
- regsub -all -- {__TOOLKIT_NAME__} $aPlistTmpl $theExecutable aPlistTmpl
- regsub -all -- {__TOOLKIT_GUID__} $aPlistTmpl $aGuidsMap($theExecutable) aPlistTmpl
- set aPlistFile [open "$aSchemesDir/xcschememanagement.plist" "w"]
- puts $aPlistFile $aPlistTmpl
- close $aPlistFile
-}
-
-# Returns available Windows SDKs versions
-proc osutils:sdk { theSdkMajorVer {isQuietMode false} {theSdkDirectories {}} } {
- if { ![llength ${theSdkDirectories}] } {
- foreach anEnvVar { "ProgramFiles" "ProgramFiles\(x86\)" "ProgramW6432" } {
- if {[ info exists ::env(${anEnvVar}) ]} {
- lappend theSdkDirectories "$::env(${anEnvVar})/Windows Kits/${theSdkMajorVer}/Include"
- }
- }
- }
-
- set sdk_versions {}
- foreach sdk_dir ${theSdkDirectories} {
- if { [file isdirectory ${sdk_dir}] } {
- lappend sdk_versions [glob -tails -directory "${sdk_dir}" -type d *]
- }
- }
-
- if {![llength ${sdk_versions}] && !${isQuietMode}} {
- error "Error : Could not find Windows SDK ${theSdkMajorVer}"
- }
-
- return [join [lsort -unique ${sdk_versions}] " "]
-}
-
-# Generate global properties to Visual Studio project file for UWP solution
-proc osutils:uwp:proj { isUWP theProjTmpl } {
-
- set uwp_properties ""
- set uwp_generate_metadata ""
- set uwp_app_container ""
-
- set format_template ""
-
- if { $isUWP } {
- set sdk_versions [osutils:sdk 10]
- set sdk_max_ver [lindex ${sdk_versions} end]
-
- set uwp_properties "<DefaultLanguage>en-US</DefaultLanguage>\n \
-<ApplicationType>Windows Store</ApplicationType>\n \
-<ApplicationTypeRevision>10.0</ApplicationTypeRevision>\n \
-<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>\n \
-<AppContainerApplication>true</AppContainerApplication>\n \
-<WindowsTargetPlatformVersion>${sdk_max_ver}</WindowsTargetPlatformVersion>\n \
-<WindowsTargetPlatformMinVersion>${sdk_max_ver}</WindowsTargetPlatformMinVersion>"
-
- set uwp_generate_metadata "<GenerateWindowsMetadata>false</GenerateWindowsMetadata>"
-
- regsub -all -- {[\r\n\s]*<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>} ${theProjTmpl} "" theProjTmpl
- } else {
- set format_template "\[\\r\\n\\s\]*"
- }
-
- regsub -all -- "${format_template}__UWP_PROPERTIES__" ${theProjTmpl} "${uwp_properties}" theProjTmpl
- regsub -all -- "${format_template}__UWP_GENERATE_METADATA__" ${theProjTmpl} "${uwp_generate_metadata}" theProjTmpl
-
- return ${theProjTmpl}
-}
-
-# Report all files found in package directory but not listed in FILES
-proc osutils:checksrcfiles { theUnit theSrcDir} {
- global path
- set aCasRoot [file normalize ${path}]
-
- if {![file isdirectory ${aCasRoot}]} {
- puts "OCCT directory is not defined correctly: ${aCasRoot}"
- return
- }
-
- set anUnitAbsPath [file normalize "${aCasRoot}/$theSrcDir/${theUnit}"]
-
- if {[file exists "${anUnitAbsPath}/FILES"]} {
- set aFilesFile [open "${anUnitAbsPath}/FILES" rb]
- set aFilesFileList [split [read ${aFilesFile}] "\n"]
- close ${aFilesFile}
-
- set aFilesFileList [lsearch -inline -all -not -exact ${aFilesFileList} ""]
-
- # report all files not listed in FILES
- set anAllFiles [glob -tails -nocomplain -dir ${anUnitAbsPath} "*"]
- foreach aFile ${anAllFiles} {
- if { "${aFile}" == "FILES" } {
- continue
- }
- if { "${aFile}" == "icons" } {
- continue
- }
- if { [lsearch -exact ${aFilesFileList} ${aFile}] == -1 } {
- puts "Warning: file ${anUnitAbsPath}/${aFile} is not listed in ${anUnitAbsPath}/FILES!"
- }
- }
- }
-}
+++ /dev/null
-@echo off
-rem Script to diff SVG images visually (as PNG) in TortoiseGit client
-rem
-rem It assumes that Inkscape and TortoiseGitIDiff executables are either
-rem installed in default locations in Program Files, or are accessible by PATH
-rem
-rem To use this script for diffing SVG images, open TortoiseGit settings
-rem (Start -> Programs -> TortoiseGit -> Settings), select "Diff Viewer",
-rem click button "Advanced..." on the right tab and then add new record:
-rem - Extension: .svg
-rem - External program: <path to OCCT>\adm\svgdiff.bat %base %mine %bname %yname
-
-rem Remove double quotes around arguments
-set "f1=%1"
-set "f2=%2"
-set "f1=%f1:~1,-1%.png"
-set "f2=%f2:~1,-1%.png"
-
-rem Check if Inkscape and TortoiseGit are installed in default locations in
-rem ProgramFiles; if not, assume they still may be accessible by PATH
-set "inkscape=%ProgramFiles%\Inkscape\inkscape.exe"
-if not exist "%inkscape%" set inkscape=inkscape.exe
-set "tgitidiff=%ProgramFiles%\TortoiseGit\bin\TortoiseGitIDiff.exe"
-if not exist "%tgitidiff%" set tgitidiff=TortoiseGitIDiff.exe
-
-rem Convert SVG to PNG using Inkscape
-"%inkscape%" -e "%f1%" %1
-"%inkscape%" -e "%f2%" %2
-
-rem Call Tortoise differ
-"%tgitidiff%" /left:"%f1%" /right:"%f2%" /lefttitle:%3 /righttitle:%4
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>SchemeUserState</key>
- <dict>
- <key>__TOOLKIT_NAME__.xcscheme</key>
- <dict>
- <key>orderHint</key>
- <integer>0</integer>
- </dict>
- </dict>
- <key>SuppressBuildableAutocreation</key>
- <dict>
- <key>__TOOLKIT_GUID__</key>
- <dict>
- <key>primary</key>
- <true/>
- </dict>
- </dict>
-</dict>
-</plist>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>__PROJECT_GUID__</ProjectGuid>
- __UWP_PROPERTIES__
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>__VCVEREXT__</PlatformToolset>
- <CharacterSet>__VCCHARSET__</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>__VCVEREXT__</PlatformToolset>
- <CharacterSet>__VCCHARSET__</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>__VCVEREXT__</PlatformToolset>
- <CharacterSet>__VCCHARSET__</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>__VCVEREXT__</PlatformToolset>
- <CharacterSet>__VCCHARSET__</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\__VCVER__\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\__VCVER__\obj\__TKNAM__\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\__VCVER__\bind\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\__VCVER__\objd\__TKNAM__\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\__VCVER__\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\__VCVER__\obj\__TKNAM__\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\__VCVER__\bind\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\__VCVER__\objd\__TKNAM__\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Midl>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>Win32</TargetEnvironment>
- <TypeLibraryName>.\..\..\..\win32\__VCVER__\bin\__TKNAM__.tlb</TypeLibraryName>
- <HeaderFileName>
- </HeaderFileName>
- </Midl>
- <ClCompile>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <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>
- <StringPooling>true</StringPooling>
- <ExceptionHandling>Async</ExceptionHandling>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <AssemblerListingLocation>.\..\..\..\win32\__VCVER__\obj\__TKNAM__/</AssemblerListingLocation>
- <ObjectFileName>.\..\..\..\win32\__VCVER__\obj\__TKNAM__/</ObjectFileName>
- <ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\obj\__TKNAM__/</ProgramDataBaseFileName>
- <WarningLevel>Level4</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <DisableSpecificWarnings>26812</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>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>__TKDEP__</AdditionalDependencies>
- <OutputFile>.\..\..\..\win32\__VCVER__\bin\__TKNAM__.dll</OutputFile>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <GenerateDebugInformation>__VCReleasePDB__</GenerateDebugInformation>
- <ProgramDatabaseFile>.\..\..\..\win32\__VCVER__\bin\__TKNAM__.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <ImportLibrary>..\..\..\win32\__VCVER__\lib\__TKNAM__.lib</ImportLibrary>
- __VCLNKREL__
- __UWP_GENERATE_METADATA__
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Midl>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>Win32</TargetEnvironment>
- <TypeLibraryName>.\..\..\..\win32\__VCVER__\bind\__TKNAM__.tlb</TypeLibraryName>
- <HeaderFileName>
- </HeaderFileName>
- </Midl>
- <ClCompile>
- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
- <Optimization>Disabled</Optimization>
- <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <ExceptionHandling>Async</ExceptionHandling>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <AssemblerListingLocation>.\..\..\..\win32\__VCVER__\objd\__TKNAM__/</AssemblerListingLocation>
- <ObjectFileName>.\..\..\..\win32\__VCVER__\objd\__TKNAM__/</ObjectFileName>
- <ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\objd\__TKNAM__/</ProgramDataBaseFileName>
- <WarningLevel>Level4</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <CompileAs>Default</CompileAs>
- <DisableSpecificWarnings>26812</DisableSpecificWarnings>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <FloatingPointModel>Precise</FloatingPointModel>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- __VCMPL32__
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
- <OutputFile>.\..\..\..\win32\__VCVER__\bind\__TKNAM__.dll</OutputFile>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>..\..\..\win32\__VCVER__\bind\__TKNAM__.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <ImportLibrary>..\..\..\win32\__VCVER__\libd\__TKNAM__.lib</ImportLibrary>
- __UWP_GENERATE_METADATA__
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>x64</TargetEnvironment>
- <TypeLibraryName>.\..\..\..\win64\__VCVER__\bin\__TKNAM__.tlb</TypeLibraryName>
- <HeaderFileName>
- </HeaderFileName>
- </Midl>
- <ClCompile>
- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <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>
- <StringPooling>true</StringPooling>
- <ExceptionHandling>Async</ExceptionHandling>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <AssemblerListingLocation>.\..\..\..\win64\__VCVER__\obj\__TKNAM__/</AssemblerListingLocation>
- <ObjectFileName>.\..\..\..\win64\__VCVER__\obj\__TKNAM__/</ObjectFileName>
- <ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\obj\__TKNAM__/</ProgramDataBaseFileName>
- <WarningLevel>Level4</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <DisableSpecificWarnings>26812</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>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>__TKDEP__</AdditionalDependencies>
- <OutputFile>.\..\..\..\win64\__VCVER__\bin\__TKNAM__.dll</OutputFile>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <GenerateDebugInformation>__VCReleasePDB__</GenerateDebugInformation>
- <ProgramDatabaseFile>.\..\..\..\win64\__VCVER__\bin\__TKNAM__.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <ImportLibrary>..\..\..\win64\__VCVER__\lib\__TKNAM__.lib</ImportLibrary>
- __VCLNKREL__
- __UWP_GENERATE_METADATA__
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>x64</TargetEnvironment>
- <TypeLibraryName>.\..\..\..\win64\__VCVER__\bind\__TKNAM__.tlb</TypeLibraryName>
- <HeaderFileName>
- </HeaderFileName>
- </Midl>
- <ClCompile>
- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
- <Optimization>Disabled</Optimization>
- <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <ExceptionHandling>Async</ExceptionHandling>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <AssemblerListingLocation>.\..\..\..\win64\__VCVER__\objd\__TKNAM__/</AssemblerListingLocation>
- <ObjectFileName>.\..\..\..\win64\__VCVER__\objd\__TKNAM__/</ObjectFileName>
- <ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\objd\__TKNAM__/</ProgramDataBaseFileName>
- <WarningLevel>Level4</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <CompileAs>Default</CompileAs>
- <DisableSpecificWarnings>26812</DisableSpecificWarnings>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <FloatingPointModel>Precise</FloatingPointModel>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- __VCMPL64__
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
- <OutputFile>.\..\..\..\win64\__VCVER__\bind\__TKNAM__.dll</OutputFile>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>..\..\..\win64\__VCVER__\bind\__TKNAM__.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <ImportLibrary>..\..\..\win64\__VCVER__\libd\__TKNAM__.lib</ImportLibrary>
- __UWP_GENERATE_METADATA__
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
-__FILES__
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="__TKNAM__.rc" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>__PROJECT_GUID__</ProjectGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>__CONF__</ConfigurationType>
- <PlatformToolset>__VCVEREXT__</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>__CONF__</ConfigurationType>
- <PlatformToolset>__VCVEREXT__</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>__CONF__</ConfigurationType>
- <PlatformToolset>__VCVEREXT__</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>__CONF__</ConfigurationType>
- <PlatformToolset>__VCVEREXT__</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\__VCVER__\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\__VCVER__\obj\__XQTNAM__\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\__VCVER__\bind\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\__VCVER__\objd\__XQTNAM__\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\__VCVER__\bin\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\__VCVER__\obj\__XQTNAM__\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\__VCVER__\bind\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\__VCVER__\objd\__XQTNAM__\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Midl>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>Win32</TargetEnvironment>
- <TypeLibraryName>.\..\..\..\win32\__VCVER__\bin\__XQTNAM__.tlb</TypeLibraryName>
- <HeaderFileName>
- </HeaderFileName>
- </Midl>
- <ClCompile>
- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <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>
- <StringPooling>true</StringPooling>
- <ExceptionHandling>Async</ExceptionHandling>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <AssemblerListingLocation>.\..\..\..\win32\__VCVER__\obj\__XQTNAM__/</AssemblerListingLocation>
- <ObjectFileName>.\..\..\..\win32\__VCVER__\obj\__XQTNAM__/</ObjectFileName>
- <ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\obj\__XQTNAM__/</ProgramDataBaseFileName>
- <WarningLevel>Level4</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <DisableSpecificWarnings>26812</DisableSpecificWarnings>
- <FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NDEBUG;No_Exception;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>__TKDEP__</AdditionalDependencies>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <GenerateDebugInformation>__VCReleasePDB__</GenerateDebugInformation>
- <ProgramDatabaseFile>.\..\..\..\win32\__VCVER__\bin\__XQTNAM__.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <ImportLibrary>..\..\..\win32\__VCVER__\lib\__XQTNAM__.lib</ImportLibrary>
- <AdditionalOptions>/LARGEADDRESSAWARE %(AdditionalOptions)</AdditionalOptions>
- __VCLNKREL__
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Midl>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>Win32</TargetEnvironment>
- <TypeLibraryName>.\..\..\..\win32\__VCVER__\bind\__XQTNAM__.tlb</TypeLibraryName>
- <HeaderFileName>
- </HeaderFileName>
- </Midl>
- <ClCompile>
- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
- <Optimization>Disabled</Optimization>
- <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <ExceptionHandling>Async</ExceptionHandling>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <AssemblerListingLocation>.\..\..\..\win32\__VCVER__\objd\__XQTNAM__/</AssemblerListingLocation>
- <ObjectFileName>.\..\..\..\win32\__VCVER__\objd\__XQTNAM__/</ObjectFileName>
- <ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\objd\__XQTNAM__/</ProgramDataBaseFileName>
- <WarningLevel>Level4</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <CompileAs>Default</CompileAs>
- <DisableSpecificWarnings>26812</DisableSpecificWarnings>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>..\..\..\win32\__VCVER__\bind\__XQTNAM__.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <ImportLibrary>..\..\..\win32\__VCVER__\libd\__XQTNAM__.lib</ImportLibrary>
- <AdditionalOptions>/LARGEADDRESSAWARE %(AdditionalOptions)</AdditionalOptions>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>x64</TargetEnvironment>
- <TypeLibraryName>.\..\..\..\win64\__VCVER__\bin\__XQTNAM__.tlb</TypeLibraryName>
- <HeaderFileName>
- </HeaderFileName>
- </Midl>
- <ClCompile>
- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <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>
- <StringPooling>true</StringPooling>
- <ExceptionHandling>Async</ExceptionHandling>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <AssemblerListingLocation>.\..\..\..\win64\__VCVER__\obj\__XQTNAM__/</AssemblerListingLocation>
- <ObjectFileName>.\..\..\..\win64\__VCVER__\obj\__XQTNAM__/</ObjectFileName>
- <ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\obj\__XQTNAM__/</ProgramDataBaseFileName>
- <WarningLevel>Level4</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <DisableSpecificWarnings>26812</DisableSpecificWarnings>
- <FloatingPointModel>Precise</FloatingPointModel>__VCMPL64__
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NDEBUG;No_Exception;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>__TKDEP__</AdditionalDependencies>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <GenerateDebugInformation>__VCReleasePDB__</GenerateDebugInformation>
- <ProgramDatabaseFile>.\..\..\..\win64\__VCVER__\bin\__XQTNAM__.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <ImportLibrary>..\..\..\win64\__VCVER__\lib\__XQTNAM__.lib</ImportLibrary>
- __VCLNKREL__
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>x64</TargetEnvironment>
- <TypeLibraryName>.\..\..\..\win64\__VCVER__\bind\__XQTNAM__.tlb</TypeLibraryName>
- <HeaderFileName>
- </HeaderFileName>
- </Midl>
- <ClCompile>
- <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
- <Optimization>Disabled</Optimization>
- <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <ExceptionHandling>Async</ExceptionHandling>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <AssemblerListingLocation>.\..\..\..\win64\__VCVER__\objd\__XQTNAM__/</AssemblerListingLocation>
- <ObjectFileName>.\..\..\..\win64\__VCVER__\objd\__XQTNAM__/</ObjectFileName>
- <ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\objd\__XQTNAM__/</ProgramDataBaseFileName>
- <WarningLevel>Level4</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <CompileAs>Default</CompileAs>
- <DisableSpecificWarnings>26812</DisableSpecificWarnings>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <FloatingPointModel>Precise</FloatingPointModel>__VCMPL64__
- </ClCompile>
- <ResourceCompile>
- <AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>..\..\..\win64\__VCVER__\bind\__XQTNAM__.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <ImportLibrary>..\..\..\win64\__VCVER__\libd\__XQTNAM__.lib</ImportLibrary>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
-__FILES__
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="__XQTNAM__.rc" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="__TKNAM__"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\..\..\..\win32\vc7\bin"
- IntermediateDirectory=".\..\..\..\win32\vc7\obj\__TKNAM__"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="2"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES)"
- StringPooling="TRUE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- PrecompiledHeaderFile=".\..\..\..\win32\vc7\obj\__TKNAM__\__TKNAM__.pch"
- AssemblerListingLocation=".\..\..\..\win32\vc7\obj\__TKNAM__/"
- ObjectFile=".\..\..\..\win32\vc7\obj\__TKNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc7\obj\__TKNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__ opengl32.lib ws2_32.lib odbc32.lib odbccp32.lib"
- OutputFile=".\..\..\..\win32\vc7\bin\__TKNAM__.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\..\win32\vc7\lib;$(CSF_OPT_LIB32)"
- ProgramDatabaseFile=".\..\..\..\win32\vc7\bin\__TKNAM__.pdb"
- SubSystem="2"
- ImportLibrary="..\..\..\win32\vc7\lib\__TKNAM__.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc7\bin\__TKNAM__.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES)"
- Culture="1036"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\..\..\..\win32\vc7\bind"
- IntermediateDirectory=".\..\..\..\win32\vc7\objd\__TKNAM__"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- ManagedExtensions="FALSE"
- WholeProgramOptimization="FALSE">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="0"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES)"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- PrecompiledHeaderFile=".\..\..\..\win32\vc7\objd\__TKNAM__\__TKNAM__.pch"
- AssemblerListingLocation=".\..\..\..\win32\vc7\objd\__TKNAM__/"
- ObjectFile=".\..\..\..\win32\vc7\objd\__TKNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc7\objd\__TKNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="TRUE"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__ opengl32.lib ws2_32.lib odbc32.lib odbccp32.lib"
- OutputFile=".\..\..\..\win32\vc7\bind\__TKNAM__.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\..\win32\vc7\libd;$(CSF_OPT_LIB32D)"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="..\..\..\win32\vc7\bind\__TKNAM__.pdb"
- SubSystem="2"
- ImportLibrary="..\..\..\win32\vc7\libd\__TKNAM__.lib"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc7\bind\__TKNAM__.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES)"
- Culture="1036"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source files"
- Filter="">
-__FILES__
- <File RelativePath="__TKNAM__.rc"></File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="__XQTNAM__"
- ProjectGUID="{193A5B07-7F8B-4280-9F4E-32D5F326DFC5}"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\..\..\..\win32\vc7\bind"
- IntermediateDirectory=".\..\..\..\win32\vc7\objd\__XQTNAM__"
- ConfigurationType="__CONF__"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="0"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES)"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- AssemblerListingLocation=".\..\..\..\win32\vc7\objd\__XQTNAM__/"
- ObjectFile=".\..\..\..\win32\vc7\objd\__XQTNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc7\objd\__XQTNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\..\win32\vc7\libd;$(CSF_OPT_LIB32D)"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\..\..\..\win32\vc7\bind\__XQTNAM__.pdb"
- SubSystem="1"
- ImportLibrary="..\..\..\win32\vc7\libd\__XQTNAM__.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc7\bind\__XQTNAM__.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES)"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\..\..\..\win32\vc7\bin"
- IntermediateDirectory=".\..\..\..\win32\vc7\obj\__XQTNAM__"
- ConfigurationType="__CONF__"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="2"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES)"
- StringPooling="TRUE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- AssemblerListingLocation=".\..\..\..\win32\vc7\obj\__XQTNAM__/"
- ObjectFile=".\..\..\..\win32\vc7\obj\__XQTNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc7\obj\__XQTNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\..\win32\vc7\lib;$(CSF_OPT_LIB32)"
- ProgramDatabaseFile=".\..\..\..\win32\vc7\bin\__XQTNAM__.pdb"
- SubSystem="1"
- ImportLibrary="..\..\..\win32\vc7\lib\__XQTNAM__.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc7\bin\__XQTNAM__.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES)"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="">
-__FILES__
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="__TKNAM__"
- ProjectGUID="__PROJECT_GUID__"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\..\..\..\win32\vc8\bin"
- IntermediateDirectory=".\..\..\..\win32\vc8\obj\__TKNAM__"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc8\bin\__TKNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="2"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- StringPooling="true"
- ExceptionHandling="2"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- FloatingPointModel="0"
- PrecompiledHeaderFile=".\..\..\..\win32\vc8\obj\__TKNAM__\__TKNAM__.pch"
- AssemblerListingLocation=".\..\..\..\win32\vc8\obj\__TKNAM__/"
- ObjectFile=".\..\..\..\win32\vc8\obj\__TKNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc8\obj\__TKNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- EnableEnhancedInstructionSet="2"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES)"
- Culture="1036"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__ opengl32.lib ws2_32.lib odbc32.lib odbccp32.lib"
- OutputFile=".\..\..\..\win32\vc8\bin\__TKNAM__.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win32\vc8\lib;$(CSF_OPT_LIB32)"
- ProgramDatabaseFile=".\..\..\..\win32\vc8\bin\__TKNAM__.pdb"
- SubSystem="2"
- ImportLibrary="..\..\..\win32\vc8\lib\__TKNAM__.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\..\..\..\win32\vc8\bind"
- IntermediateDirectory=".\..\..\..\win32\vc8\objd\__TKNAM__"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- ManagedExtensions="0"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc8\bind\__TKNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="0"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- ExceptionHandling="2"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- FloatingPointModel="0"
- PrecompiledHeaderFile=".\..\..\..\win32\vc8\objd\__TKNAM__\__TKNAM__.pch"
- AssemblerListingLocation=".\..\..\..\win32\vc8\objd\__TKNAM__/"
- ObjectFile=".\..\..\..\win32\vc8\objd\__TKNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc8\objd\__TKNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- CompileAs="0"
- EnableEnhancedInstructionSet="2"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES)"
- Culture="1036"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__ opengl32.lib ws2_32.lib odbc32.lib odbccp32.lib"
- OutputFile=".\..\..\..\win32\vc8\bind\__TKNAM__.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win32\vc8\libd;$(CSF_OPT_LIB32D)"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="..\..\..\win32\vc8\bind\__TKNAM__.pdb"
- SubSystem="2"
- ImportLibrary="..\..\..\win32\vc8\libd\__TKNAM__.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory=".\..\..\..\win64\vc8\bin"
- IntermediateDirectory=".\..\..\..\win64\vc8\obj\__TKNAM__"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win64\vc8\bin\__TKNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/favor:blend"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="2"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- StringPooling="true"
- ExceptionHandling="2"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- FloatingPointModel="0"
- PrecompiledHeaderFile=".\..\..\..\win64\vc8\obj\__TKNAM__\__TKNAM__.pch"
- AssemblerListingLocation=".\..\..\..\win64\vc8\obj\__TKNAM__/"
- ObjectFile=".\..\..\..\win64\vc8\obj\__TKNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win64\vc8\obj\__TKNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES)"
- Culture="1036"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__ opengl32.lib ws2_32.lib odbc32.lib odbccp32.lib"
- OutputFile=".\..\..\..\win64\vc8\bin\__TKNAM__.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win64\vc8\lib;$(CSF_OPT_LIB64)"
- ProgramDatabaseFile=".\..\..\..\win64\vc8\bin\__TKNAM__.pdb"
- SubSystem="2"
- ImportLibrary="..\..\..\win64\vc8\lib\__TKNAM__.lib"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory=".\..\..\..\win64\vc8\bind"
- IntermediateDirectory=".\..\..\..\win64\vc8\objd\__TKNAM__"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- ManagedExtensions="0"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win64\vc8\bind\__TKNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/favor:blend"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="0"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- ExceptionHandling="2"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- FloatingPointModel="0"
- PrecompiledHeaderFile=".\..\..\..\win64\vc8\objd\__TKNAM__\__TKNAM__.pch"
- AssemblerListingLocation=".\..\..\..\win64\vc8\objd\__TKNAM__/"
- ObjectFile=".\..\..\..\win64\vc8\objd\__TKNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win64\vc8\objd\__TKNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- CompileAs="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES)"
- Culture="1036"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__ opengl32.lib ws2_32.lib odbc32.lib odbccp32.lib"
- OutputFile=".\..\..\..\win64\vc8\bind\__TKNAM__.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win64\vc8\libd;$(CSF_OPT_LIB64D)"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="..\..\..\win64\vc8\bind\__TKNAM__.pdb"
- SubSystem="2"
- ImportLibrary="..\..\..\win64\vc8\libd\__TKNAM__.lib"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source files"
- >
-__FILES__
- <File RelativePath="__TKNAM__.rc"></File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="__XQTNAM__"
- ProjectGUID="__PROJECT_GUID__"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\..\..\..\win32\vc8\bind"
- IntermediateDirectory=".\..\..\..\win32\vc8\objd\__XQTNAM__"
- ConfigurationType="__CONF__"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc8\bind\__XQTNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="0"
- PreprocessorDefinitions="_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);"
- ExceptionHandling="2"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- FloatingPointModel="0"
- AssemblerListingLocation=".\..\..\..\win32\vc8\objd\__XQTNAM__/"
- ObjectFile=".\..\..\..\win32\vc8\objd\__XQTNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc8\objd\__XQTNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- DebugInformationFormat="3"
- EnableEnhancedInstructionSet="2"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES);"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win32\vc8\libd;$(CSF_OPT_LIB32D)"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\..\..\..\win32\vc8\bind\__XQTNAM__.pdb"
- SubSystem="1"
- ImportLibrary="..\..\..\win32\vc8\libd\__XQTNAM__.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\..\..\..\win32\vc8\bin"
- IntermediateDirectory=".\..\..\..\win32\vc8\obj\__XQTNAM__"
- ConfigurationType="__CONF__"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc8\bin\__XQTNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="2"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);"
- StringPooling="true"
- ExceptionHandling="2"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- FloatingPointModel="0"
- AssemblerListingLocation=".\..\..\..\win32\vc8\obj\__XQTNAM__/"
- ObjectFile=".\..\..\..\win32\vc8\obj\__XQTNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc8\obj\__XQTNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- EnableEnhancedInstructionSet="2"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES);"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win32\vc8\lib;$(CSF_OPT_LIB32)"
- ProgramDatabaseFile=".\..\..\..\win32\vc8\bin\__XQTNAM__.pdb"
- SubSystem="1"
- ImportLibrary="..\..\..\win32\vc8\lib\__XQTNAM__.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory=".\..\..\..\win64\vc8\bind"
- IntermediateDirectory=".\..\..\..\win64\vc8\objd\__XQTNAM__"
- ConfigurationType="__CONF__"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win64\vc8\bind\__XQTNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/favor:blend"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="0"
- PreprocessorDefinitions="_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- ExceptionHandling="2"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- FloatingPointModel="0"
- AssemblerListingLocation=".\..\..\..\win64\vc8\objd\__XQTNAM__/"
- ObjectFile=".\..\..\..\win64\vc8\objd\__XQTNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win64\vc8\objd\__XQTNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES)"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__"
- OutputFile=".\..\..\..\win64\vc8\bind\__XQTNAM__.__XQTEXT__"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win64\vc8\libd;$(CSF_OPT_LIB64D)"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\..\..\..\win64\vc8\bind\__XQTNAM__.pdb"
- SubSystem="1"
- ImportLibrary="..\..\..\win64\vc8\libd\__XQTNAM__.lib"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory=".\..\..\..\win64\vc8\bin"
- IntermediateDirectory=".\..\..\..\win64\vc8\obj\__XQTNAM__"
- ConfigurationType="__CONF__"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win64\vc8\bin\__XQTNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/favor:blend"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="2"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- StringPooling="true"
- ExceptionHandling="2"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- FloatingPointModel="0"
- AssemblerListingLocation=".\..\..\..\win64\vc8\obj\__XQTNAM__/"
- ObjectFile=".\..\..\..\win64\vc8\obj\__XQTNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win64\vc8\obj\__XQTNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES)"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__"
- OutputFile=".\..\..\..\win64\vc8\bin\__XQTNAM__.__XQTEXT__"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win64\vc8\lib;$(CSF_OPT_LIB64)"
- ProgramDatabaseFile=".\..\..\..\win64\vc8\bin\__XQTNAM__.pdb"
- SubSystem="1"
- ImportLibrary="..\..\..\win64\vc8\lib\__XQTNAM__.lib"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- >
-__FILES__
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="__TKNAM__"
- ProjectGUID="__PROJECT_GUID__"
- TargetFrameworkVersion="0"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\..\..\..\win32\vc9\bin"
- IntermediateDirectory=".\..\..\..\win32\vc9\obj\__TKNAM__"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc9\bin\__TKNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="-MP /bigobj"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="2"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- StringPooling="true"
- ExceptionHandling="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- EnableFunctionLevelLinking="true"
- FloatingPointModel="0"
- PrecompiledHeaderFile=".\..\..\..\win32\vc9\obj\__TKNAM__\__TKNAM__.pch"
- AssemblerListingLocation=".\..\..\..\win32\vc9\obj\__TKNAM__/"
- ObjectFile=".\..\..\..\win32\vc9\obj\__TKNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc9\obj\__TKNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__ ws2_32.lib"
- OutputFile=".\..\..\..\win32\vc9\bin\__TKNAM__.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win32\vc9\lib;$(CSF_OPT_LIB32)"
- ProgramDatabaseFile=".\..\..\..\win32\vc9\bin\__TKNAM__.pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- ImportLibrary="..\..\..\win32\vc9\lib\__TKNAM__.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\..\..\..\win32\vc9\bind"
- IntermediateDirectory=".\..\..\..\win32\vc9\objd\__TKNAM__"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc9\bind\__TKNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="-MP"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="0"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- ExceptionHandling="2"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- FloatingPointModel="0"
- PrecompiledHeaderFile=".\..\..\..\win32\vc9\objd\__TKNAM__\__TKNAM__.pch"
- AssemblerListingLocation=".\..\..\..\win32\vc9\objd\__TKNAM__/"
- ObjectFile=".\..\..\..\win32\vc9\objd\__TKNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc9\objd\__TKNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- CompileAs="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__ ws2_32.lib"
- OutputFile=".\..\..\..\win32\vc9\bind\__TKNAM__.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win32\vc9\libd;$(CSF_OPT_LIB32D)"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="..\..\..\win32\vc9\bind\__TKNAM__.pdb"
- SubSystem="2"
- RandomizedBaseAddress="1"
- ImportLibrary="..\..\..\win32\vc9\libd\__TKNAM__.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory=".\..\..\..\win64\vc9\bin"
- IntermediateDirectory=".\..\..\..\win64\vc9\obj\__TKNAM__"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win64\vc9\bin\__TKNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="-MP -favor:blend"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="2"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- StringPooling="true"
- ExceptionHandling="2"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- FloatingPointModel="0"
- PrecompiledHeaderFile=".\..\..\..\win64\vc9\obj\__TKNAM__\__TKNAM__.pch"
- AssemblerListingLocation=".\..\..\..\win64\vc9\obj\__TKNAM__/"
- ObjectFile=".\..\..\..\win64\vc9\obj\__TKNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win64\vc9\obj\__TKNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__ ws2_32.lib"
- OutputFile=".\..\..\..\win64\vc9\bin\__TKNAM__.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win64\vc9\lib;$(CSF_OPT_LIB64)"
- ProgramDatabaseFile=".\..\..\..\win64\vc9\bin\__TKNAM__.pdb"
- SubSystem="2"
- ImportLibrary="..\..\..\win64\vc9\lib\__TKNAM__.lib"
- TargetMachine="X64"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory=".\..\..\..\win64\vc9\bind"
- IntermediateDirectory=".\..\..\..\win64\vc9\objd\__TKNAM__"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win64\vc9\bind\__TKNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="-MP -favor:blend"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="0"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- ExceptionHandling="2"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- FloatingPointModel="0"
- PrecompiledHeaderFile=".\..\..\..\win64\vc9\objd\__TKNAM__\__TKNAM__.pch"
- AssemblerListingLocation=".\..\..\..\win64\vc9\objd\__TKNAM__/"
- ObjectFile=".\..\..\..\win64\vc9\objd\__TKNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win64\vc9\objd\__TKNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- CompileAs="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__ ws2_32.lib"
- OutputFile=".\..\..\..\win64\vc9\bind\__TKNAM__.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win64\vc9\libd;$(CSF_OPT_LIB64D)"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="..\..\..\win64\vc9\bind\__TKNAM__.pdb"
- SubSystem="2"
- ImportLibrary="..\..\..\win64\vc9\libd\__TKNAM__.lib"
- TargetMachine="X64"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source files"
- >
-__FILES__
- <File RelativePath="__TKNAM__.rc"></File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="__XQTNAM__"
- ProjectGUID="__PROJECT_GUID__"
- TargetFrameworkVersion="0"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\..\..\..\win32\vc9\bin"
- IntermediateDirectory=".\..\..\..\win32\vc9\obj\__XQTNAM__"
- ConfigurationType="__CONF__"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc9\bin\__XQTNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="-MP"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="2"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- StringPooling="true"
- ExceptionHandling="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- EnableFunctionLevelLinking="true"
- FloatingPointModel="0"
- AssemblerListingLocation=".\..\..\..\win32\vc9\obj\__XQTNAM__/"
- ObjectFile=".\..\..\..\win32\vc9\obj\__XQTNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc9\obj\__XQTNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win32\vc9\lib;$(CSF_OPT_LIB32)"
- ProgramDatabaseFile=".\..\..\..\win32\vc9\bin\__XQTNAM__.pdb"
- SubSystem="1"
- ImportLibrary="..\..\..\win32\vc9\lib\__XQTNAM__.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\..\..\..\win32\vc9\bind"
- IntermediateDirectory=".\..\..\..\win32\vc9\objd\__XQTNAM__"
- ConfigurationType="__CONF__"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win32\vc9\bind\__XQTNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="-MP"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="0"
- PreprocessorDefinitions="_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- ExceptionHandling="2"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- FloatingPointModel="0"
- AssemblerListingLocation=".\..\..\..\win32\vc9\objd\__XQTNAM__/"
- ObjectFile=".\..\..\..\win32\vc9\objd\__XQTNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win32\vc9\objd\__XQTNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win32\vc9\libd;$(CSF_OPT_LIB32D)"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\..\..\..\win32\vc9\bind\__XQTNAM__.pdb"
- SubSystem="1"
- ImportLibrary="..\..\..\win32\vc9\libd\__XQTNAM__.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory=".\..\..\..\win64\vc9\bin"
- IntermediateDirectory=".\..\..\..\win64\vc9\obj\__XQTNAM__"
- ConfigurationType="__CONF__"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win64\vc9\bin\__XQTNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="-MP -favor:blend"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="2"
- InlineFunctionExpansion="1"
- PreprocessorDefinitions="NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- StringPooling="true"
- ExceptionHandling="2"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- FloatingPointModel="0"
- AssemblerListingLocation=".\..\..\..\win64\vc9\obj\__XQTNAM__/"
- ObjectFile=".\..\..\..\win64\vc9\obj\__XQTNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win64\vc9\obj\__XQTNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="NDEBUG;No_Exception;$(CSF_DEFINES)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__"
- OutputFile=".\..\..\..\win64\vc9\bin\__XQTNAM__.__XQTEXT__"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win64\vc9\lib;$(CSF_OPT_LIB64)"
- ProgramDatabaseFile=".\..\..\..\win64\vc9\bin\__XQTNAM__.pdb"
- SubSystem="1"
- ImportLibrary="..\..\..\win64\vc9\lib\__XQTNAM__.lib"
- TargetMachine="X64"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory=".\..\..\..\win64\vc9\bind"
- IntermediateDirectory=".\..\..\..\win64\vc9\objd\__XQTNAM__"
- ConfigurationType="__CONF__"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\..\..\..\win64\vc9\bind\__XQTNAM__.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="-MP -favor:blend"
- AdditionalIncludeDirectories="__TKINC__;$(CSF_OPT_INC)"
- Optimization="0"
- PreprocessorDefinitions="_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES)"
- ExceptionHandling="2"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- FloatingPointModel="0"
- AssemblerListingLocation=".\..\..\..\win64\vc9\objd\__XQTNAM__/"
- ObjectFile=".\..\..\..\win64\vc9\objd\__XQTNAM__/"
- ProgramDataBaseFileName=".\..\..\..\win64\vc9\objd\__XQTNAM__/"
- WarningLevel="4"
- SuppressStartupBanner="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="..\..\..\inc;$(CSF_OPT_INC)"
- PreprocessorDefinitions="_DEBUG;$(CSF_DEFINES)"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="__TKDEP__"
- OutputFile=".\..\..\..\win64\vc9\bind\__XQTNAM__.__XQTEXT__"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- AdditionalLibraryDirectories="..\..\..\win64\vc9\libd;$(CSF_OPT_LIB64D)"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\..\..\..\win64\vc9\bind\__XQTNAM__.pdb"
- SubSystem="1"
- ImportLibrary="..\..\..\win64\vc9\libd\__XQTNAM__.lib"
- TargetMachine="X64"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- >
-__FILES__
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
- version = "1.3">
- <BuildAction
- parallelizeBuildables = "YES"
- buildImplicitDependencies = "YES">
- <BuildActionEntries>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "__TOOLKIT_GUID__"
- BuildableName = "lib__TOOLKIT_NAME__.dylib"
- BlueprintName = "__TOOLKIT_NAME__"
- ReferencedContainer = "container:__TOOLKIT_NAME__.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- </BuildActionEntries>
- </BuildAction>
- <TestAction
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- shouldUseLaunchSchemeArgsEnv = "YES"
- buildConfiguration = "Debug">
- <Testables>
- </Testables>
- </TestAction>
- <LaunchAction
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- launchStyle = "0"
- useCustomWorkingDirectory = "NO"
- buildConfiguration = "Debug"
- ignoresPersistentStateOnLaunch = "NO"
- debugDocumentVersioning = "YES"
- allowLocationSimulation = "YES">
- <AdditionalOptions>
- </AdditionalOptions>
- </LaunchAction>
- <ProfileAction
- shouldUseLaunchSchemeArgsEnv = "YES"
- savedToolIdentifier = ""
- useCustomWorkingDirectory = "NO"
- buildConfiguration = "Release"
- debugDocumentVersioning = "YES">
- </ProfileAction>
- <AnalyzeAction
- buildConfiguration = "Debug">
- </AnalyzeAction>
- <ArchiveAction
- buildConfiguration = "Release"
- revealArchiveInOrganizer = "YES">
- </ArchiveAction>
-</Scheme>
+++ /dev/null
-#include <windows.h>
-#include <Standard_Version.hxx>
-
-VS_VERSION_INFO VERSIONINFO
-FILEVERSION OCC_VERSION_MAJOR, OCC_VERSION_MINOR, OCC_VERSION_MAINTENANCE, 0
-PRODUCTVERSION OCC_VERSION_MAJOR, OCC_VERSION_MINOR, OCC_VERSION_MAINTENANCE, 0
-FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
-#ifdef _DEBUG
-FILEFLAGS VS_FF_DEBUG
-#endif
-FILEOS VOS_NT
-FILETYPE VFT_DLL
-FILESUBTYPE VFT2_UNKNOWN
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN BLOCK "040904E4" // Language type = U.S English(0x0409) and Character Set = Windows, Multilingual(0x04E4)
- BEGIN
- VALUE "FileDescription", "__TKNAM__ Toolkit\000"
- VALUE "FileVersion", OCC_VERSION_STRING_EXT "\000"
- VALUE "LegalCopyright", "\251 OPEN CASCADE SAS\000"
- VALUE "ProductName", "Open CASCADE Technology\000"
- VALUE "ProductVersion", OCC_VERSION_STRING_EXT "\000"
- VALUE "OfficialSite", "www.opencascade.com\000"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x0409, 0x04E4
- END
-END
+++ /dev/null
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioUserFile
- ProjectType="Visual C++"
- Version="9.00"
- ShowAllFiles="false"
- >
- <Configurations>
- <Configuration
- Name="Release|Win32"
- >
- <DebugSettings
- Environment="PATH=..\..\..\win32\vc9\bin;$(CSF_OPT_BIN32);$(PATH)"
- EnvironmentMerge="true"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- >
- <DebugSettings
- Environment="PATH=..\..\..\win64\vc9\bin;$(CSF_OPT_BIN64);$(PATH)"
- EnvironmentMerge="true"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- >
- <DebugSettings
- Environment="PATH=..\..\..\win32\vc9\bind;$(CSF_OPT_BIN32D);$(PATH)"
- EnvironmentMerge="true"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- >
- <DebugSettings
- Environment="PATH=..\..\..\win64\vc9\bind;$(CSF_OPT_BIN64D);$(PATH)"
- EnvironmentMerge="true"
- />
- </Configuration>
- </Configurations>
-</VisualStudioUserFile>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <LocalDebuggerEnvironment>PATH=..\..\..\win32\__VCVER__\bind;$(CSF_OPT_BIN32D);$(PATH)</LocalDebuggerEnvironment>
- <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
- <LocalDebuggerWorkingDirectory>$(ProjectDir)\..\..\..\..</LocalDebuggerWorkingDirectory>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <LocalDebuggerEnvironment>PATH=..\..\..\win32\__VCVER__\bin;$(CSF_OPT_BIN32);$(PATH)</LocalDebuggerEnvironment>
- <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
- <LocalDebuggerWorkingDirectory>$(ProjectDir)\..\..\..\..</LocalDebuggerWorkingDirectory>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <LocalDebuggerEnvironment>PATH=..\..\..\win64\__VCVER__\bin;$(CSF_OPT_BIN64);$(PATH)</LocalDebuggerEnvironment>
- <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
- <LocalDebuggerWorkingDirectory>$(ProjectDir)\..\..\..\..</LocalDebuggerWorkingDirectory>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <LocalDebuggerEnvironment>PATH=..\..\..\win64\__VCVER__\bind;$(CSF_OPT_BIN64D);$(PATH)</LocalDebuggerEnvironment>
- <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
- <LocalDebuggerWorkingDirectory>$(ProjectDir)\..\..\..\..</LocalDebuggerWorkingDirectory>
- </PropertyGroup>
-</Project>
\ No newline at end of file
+++ /dev/null
-#!/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
+++ /dev/null
-[rename]
-Adaptor3d_OffsetCurve Adaptor2d_OffsetCurve
-BRepExtrema_OverlappedSubShapes BRepExtrema_MapOfIntegerPackedMapOfInteger
-ShapeConstruct_CompBezierCurves2dToBSplineCurve2d Convert_CompBezierCurves2dToBSplineCurve2d
-ShapeConstruct_CompBezierCurves2dToBSplineCurve Convert_CompBezierCurves2dToBSplineCurve
-Image_PixMap::Img Image_Format_
-V3d_TypeOfShadingModel Graphic3d_TypeOfShadingModel
-Graphic3d_TOSM_NONE Graphic3d_TOSM_UNLIT
-V3d_COLOR Graphic3d_TOSM_UNLIT
-V3d_FLAT Graphic3d_TOSM_FACET
-V3d_GOURAUD Graphic3d_TOSM_VERTEX
-V3d_PHONG Graphic3d_TOSM_FRAGMENT
-V3d_TypeOfLight Graphic3d_TypeOfLightSource
-V3d_AMBIENT Graphic3d_TOLS_AMBIENT
-V3d_DIRECTIONAL Graphic3d_TOLS_DIRECTIONAL
-V3d_POSITIONAL Graphic3d_TOLS_POSITIONAL
-V3d_SPOT Graphic3d_TOLS_SPOT
-BOPCol_BaseAllocator Handle(NCollection_BaseAllocator)
-BOPCol_BoxBndTree is replaced with BOPTools_BoxBndTree
-BOPCol_DataMapOfIntegerInteger TColStd_DataMapOfIntegerInteger
-BOPCol_DataMapOfIntegerListOfInteger TColStd_DataMapOfIntegerListOfInteger
-BOPCol_DataMapOfIntegerListOfShape TopTools_DataMapOfIntegerListOfShape
-BOPCol_DataMapOfIntegerReal TColStd_DataMapOfIntegerReal
-BOPCol_DataMapOfIntegerShape TopTools_DataMapOfIntegerShape
-BOPCol_DataMapOfShapeBox TopTools_DataMapOfShapeBox
-BOPCol_DataMapOfShapeInteger TopTools_DataMapOfShapeInteger
-BOPCol_DataMapOfShapeListOfShape TopTools_DataMapOfShapeListOfShape
-BOPCol_DataMapOfShapeReal TopTools_DataMapOfShapeReal
-BOPCol_DataMapOfShapeShape TopTools_DataMapOfShapeShape
-BOPCol_IndexedDataMapOfShapeListOfShape TopTools_IndexedDataMapOfShapeListOfShape
-BOPCol_IndexedDataMapOfShapeShape TopTools_IndexedDataMapOfShapeShape
-BOPCol_IndexedMapOfInteger TColStd_IndexedMapOfInteger
-BOPCol_IndexedMapOfOrientedShape TopTools_IndexedMapOfOrientedShape
-BOPCol_IndexedMapOfShape TopTools_IndexedMapOfShape
-BOPCol_ListOfInteger TColStd_ListOfInteger
-BOPCol_ListOfListOfShape TopTools_ListOfListOfShape
-BOPCol_ListOfShape TopTools_ListOfShape
-BOPCol_MapOfInteger TColStd_MapOfInteger
-BOPCol_MapOfOrientedShapeTopTools_MapOfOrientedShape
-BOPCol_MapOfShape TopTools_MapOfShape
-BOPCol_SequenceOfPnt2d TColgp_SequenceOfPnt2d
-BOPCol_SequenceOfReal TColStd_SequenceOfReal
-BOPCol_SequenceOfShape TopTools_SequenceOfShape
-BOPCol_Parallel BOPTools_Parallel
-BOPCol_NCVector NCollection_Vector
-BOPCol_DataMapOfShapeAddress DataMapOfShapeAddress
-BOPCol_DataMapOfTransientAddress DataMapOfTransientAddress
-BOPCol_DataMapIteratorOfDataMapOfIntegerReal TColStd_DataMapIteratorOfDataMapOfIntegerReal
-BOPCol_DataMapIteratorOfDataMapOfShapeAddress DataMapOfShapeAddress::Iterator
-BOPCol_DataMapIteratorOfDataMapOfTransientAddress DataMapOfTransientAddress::Iterator
-BOPCol_ListIteratorOfListOfInteger TColStd_ListIteratorOfListOfInteger
-BOPCol_ListIteratorOfListOfShape TopTools_ListIteratorOfListOfShape
-BOPCol_MapIteratorOfMapOfInteger TColStd_MapIteratorOfMapOfInteger
-BOPCol_BoxBndTreeSelector BOPTools_BoxBndTreeSelector
-BOPCol_BoxBndTree BOPTools_BoxBndTree
-BOPCol_PListOfInteger TColStd_ListOfInteger*
-BOPCol_IndexedDataMapOfShapeReal TopTools_IndexedDataMapOfShapeReal
-BOPCol_MapOfOrientedShape TopTools_MapOfOrientedShape
-BOPCol_DataMapIteratorOfDataMapOfIntegerInteger TColStd_DataMapIteratorOfDataMapOfIntegerInteger
-BOPCol_MapIteratorOfMapOfShape TopTools_MapIteratorOfMapOfShape
-BOPCol_ContextFunctor BOPTools_ContextFunctor
-BOPCol_ContextCnt BOPTools_ContextCnt
-BOPCol_Functor BOPTools_Functor
-BOPCol_Cnt BOPTools_Cnt
-BOPCol_DataMapIteratorOfDataMapOfIntegerListOfShape TopTools_DataMapIteratorOfDataMapOfIntegerListOfShape
-BOPCol_MapIteratorOfMapOfOrientedShape TopTools_MapIteratorOfMapOfOrientedShape
-BOPCol_DataMapIteratorOfDataMapOfIntegerListOfInteger TColStd_DataMapIteratorOfDataMapOfIntegerListOfInteger
-BOPCol_DataMapIteratorOfDataMapOfShapeShape TopTools_DataMapIteratorOfDataMapOfShapeShape
-BOPTools::MapShapes TopExp::MapShapes
-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
-AdvApp2Var_SequenceOfPatch
-AdvApp2Var_SequenceOfStrip
-AdvApp2Var_Strip
-AIS_DataMapOfILC
-AIS_DataMapofIntegerListOfinteractive
-AIS_DataMapOfIOStatus
-AIS_DataMapOfSelStat
-AIS_IndexedDataMapOfOwnerPrs
-AIS_ListOfInteractive
-AIS_MapOfInteractive
-AIS_SequenceOfDimension
-AIS_SequenceOfInteractive
-AppDef_Array1OfMultiPointConstraint
-AppDef_HArray1OfMultiPointConstraint
-AppParCurves_Array1OfConstraintCouple
-AppParCurves_Array1OfMultiBSpCurve
-AppParCurves_Array1OfMultiCurve
-AppParCurves_Array1OfMultiPoint
-AppParCurves_HArray1OfConstraintCouple
-AppParCurves_HArray1OfMultiBSpCurve
-AppParCurves_HArray1OfMultiCurve
-AppParCurves_HArray1OfMultiPoint
-AppParCurves_SequenceOfMultiBSpCurve
-AppParCurves_SequenceOfMultiCurve
-Approx_Array1OfAdHSurface
-Approx_Array1OfGTrsf2d
-Approx_HArray1OfAdHSurface
-Approx_HArray1OfGTrsf2d
-Approx_SequenceOfHArray1OfReal
-Aspect_SequenceOfColor
-BinMDF_TypeADriverMap
-BinMDF_TypeIdMap
-BiTgte_DataMapOfShapeBox
-Blend_SequenceOfPoint
-Bnd_Array1OfBox
-Bnd_Array1OfBox2d
-Bnd_Array1OfSphere
-Bnd_HArray1OfBox
-Bnd_HArray1OfBox2d
-Bnd_HArray1OfSphere
-Bnd_SeqOfBox
-BRep_ListOfCurveRepresentation
-BRep_ListOfPointRepresentation
-BRepAdaptor_Array1OfCurve
-BRepAdaptor_HArray1OfCurve
-BRepAlgo_DataMapOfShapeBoolean
-BRepAlgo_DataMapOfShapeInterference
-BRepAlgo_SequenceOfSequenceOfInteger
-BRepBlend_SequenceOfLine
-BRepBlend_SequenceOfPointOnRst
-BRepCheck_DataMapOfShapeListOfStatus
-BRepCheck_DataMapOfShapeResult
-BRepCheck_ListOfStatus
-BRepClass3d_MapOfInter
-BRepFill_DataMapOfNodeDataMapOfShapeShape
-BRepFill_DataMapOfNodeShape
-BRepFill_DataMapOfOrientedShapeListOfShape
-BRepFill_DataMapOfShapeDataMapOfShapeListOfShape
-BRepFill_DataMapOfShapeHArray2OfShape
-BRepFill_DataMapOfShapeSequenceOfPnt
-BRepFill_DataMapOfShapeSequenceOfReal
-BRepFill_IndexedDataMapOfOrientedShapeListOfShape
-BRepFill_ListOfOffsetWire
-BRepFill_SequenceOfEdgeFaceAndOrder
-BRepFill_SequenceOfFaceAndOrder
-BRepFill_SequenceOfSection
-BRepMAT2d_DataMapOfBasicEltShape
-BRepMAT2d_DataMapOfShapeSequenceOfBasicElt
-BRepOffset_DataMapOfShapeListOfInterval
-BRepOffset_DataMapOfShapeMapOfShape
-BRepOffset_DataMapOfShapeOffset
-BRepOffset_ListOfInterval
-BRepOffsetAPI_SequenceOfSequenceOfReal
-BRepOffsetAPI_SequenceOfSequenceOfShape
-BRepTools_MapOfVertexPnt2d
-BRepTopAdaptor_MapOfShapeTool
-CDM_DocumentHasher
-CDM_ListOfDocument
-CDM_ListOfReferences
-CDM_MapOfDocument
-CDM_MetaDataLookUpTable
-CDM_PresentationDirectory
-ChFiDS_HData
-ChFiDS_IndexedDataMapOfVertexListOfStripe
-ChFiDS_ListOfHElSpine
-ChFiDS_ListOfStripe
-ChFiDS_Regularities
-ChFiDS_SecArray1
-ChFiDS_SecHArray1
-ChFiDS_SequenceOfSpine
-ChFiDS_SequenceOfSurfData
-ChFiDS_StripeArray1
-ChFiKPart_RstMap
-Contap_TheHSequenceOfPoint
-Contap_TheSequenceOfLine
-Contap_TheSequenceOfPoint
-Convert_SequenceOfArray1OfPoles
-DBRep_ListOfEdge
-DBRep_ListOfFace
-DBRep_ListOfHideData
-DDF_TransactionStack
-DNaming_DataMapOfShapeOfName
-Draft_DataMapOfEdgeEdgeInfo
-Draft_DataMapOfFaceFaceInfo
-Draft_DataMapOfVertexVertexInfo
-Draw_MapOfAsciiString
-Draw_SequenceOfDrawable3D
-Expr_Array1OfGeneralExpression
-Expr_Array1OfNamedUnknown
-Expr_Array1OfSingleRelation
-Expr_MapOfNamedUnknown
-Expr_SequenceOfGeneralExpression
-Expr_SequenceOfGeneralRelation
-ExprIntrp_SequenceOfNamedExpression
-ExprIntrp_SequenceOfNamedFunction
-ExprIntrp_StackOfGeneralExpression
-ExprIntrp_StackOfGeneralFunction
-ExprIntrp_StackOfGeneralRelation
-Extrema_Array1OfPOnCurv
-Extrema_Array1OfPOnCurv2d
-Extrema_Array1OfPOnSurf
-Extrema_Array2OfPOnCurv
-Extrema_Array2OfPOnCurv2d
-Extrema_Array2OfPOnSurf
-Extrema_Array2OfPOnSurfParams
-Extrema_HArray1OfPOnCurv
-Extrema_HArray1OfPOnCurv2d
-Extrema_HArray1OfPOnSurf
-Extrema_HArray2OfPOnCurv
-Extrema_HArray2OfPOnCurv2d
-Extrema_HArray2OfPOnSurf
-Extrema_HArray2OfPOnSurfParams
-Extrema_SequenceOfPOnCurv
-Extrema_SequenceOfPOnCurv2d
-Extrema_SequenceOfPOnSurf
-FEmTool_AssemblyTable
-FEmTool_HAssemblyTable
-FEmTool_ListOfVectors
-FEmTool_SeqOfLinConstr
-GccEnt_Array1OfPosition
-Geom2dHatch_Hatchings
-Geom2dHatch_MapOfElements
-Geom_HSequenceOfBSplineSurface
-Geom_SequenceOfBSplineSurface
-GeomFill_Array1OfLocationLaw
-GeomFill_Array1OfSectionLaw
-GeomFill_HArray1OfLocationLaw
-GeomFill_HArray1OfSectionLaw
-GeomFill_HSequenceOfAx2
-GeomFill_SequenceOfAx2
-GeomFill_SequenceOfTrsf
-GeomInt_SequenceOfParameterAndOrientation
-GeomLib_Array1OfMat
-GeomPlate_Array1OfHCurveOnSurface
-GeomPlate_Array1OfSequenceOfReal
-GeomPlate_HArray1OfHCurveOnSurface
-GeomPlate_HArray1OfSequenceOfReal
-GeomPlate_HSequenceOfCurveConstraint
-GeomPlate_HSequenceOfPointConstraint
-GeomPlate_SequenceOfAij
-GeomPlate_SequenceOfCurveConstraint
-GeomPlate_SequenceOfPointConstraint
-Graphic3d_Array1OfVector
-Graphic3d_Array1OfVertex
-Graphic3d_Array2OfVertex
-Graphic3d_HSequenceOfStructure
-Graphic3d_ListOfShortReal
-Graphic3d_SequenceOfStructure
-Hatch_SequenceOfLine
-Hatch_SequenceOfParameter
-HatchGen_Domains
-HatchGen_PointsOnElement
-HatchGen_PointsOnHatching
-HLRAlgo_Array1OfPHDat
-HLRAlgo_Array1OfPINod
-HLRAlgo_Array1OfPISeg
-HLRAlgo_Array1OfTData
-HLRAlgo_HArray1OfPHDat
-HLRAlgo_HArray1OfPINod
-HLRAlgo_HArray1OfPISeg
-HLRAlgo_HArray1OfTData
-HLRAlgo_InterferenceList
-HLRAlgo_ListOfBPoint
-HLRBRep_Array1OfEData
-HLRBRep_Array1OfFData
-HLRBRep_ListOfBPnt2D
-HLRBRep_ListOfBPoint
-HLRBRep_SeqOfShapeBounds
-HLRTopoBRep_DataMapOfShapeFaceData
-HLRTopoBRep_ListOfVData
-HLRTopoBRep_MapOfShapeListOfVData
-IFSelect_HSeqOfSelection
-IFSelect_SequenceOfAppliedModifiers
-IFSelect_SequenceOfGeneralModifier
-IFSelect_SequenceOfInterfaceModel
-IFSelect_TSeqOfDispatch
-IFSelect_TSeqOfSelection
-IGESAppli_Array1OfFiniteElement
-IGESAppli_Array1OfFlow
-IGESAppli_Array1OfNode
-IGESAppli_HArray1OfFiniteElement
-IGESAppli_HArray1OfFlow
-IGESAppli_HArray1OfNode
-IGESBasic_Array1OfLineFontEntity
-IGESBasic_Array2OfHArray1OfReal
-IGESBasic_HArray1OfLineFontEntity
-IGESBasic_HArray2OfHArray1OfReal
-IGESData_Array1OfDirPart
-IGESData_Array1OfIGESEntity
-IGESData_HArray1OfIGESEntity
-IGESDefs_Array1OfTabularData
-IGESDefs_HArray1OfTabularData
-IGESDimen_Array1OfGeneralNote
-IGESDimen_Array1OfLeaderArrow
-IGESDimen_HArray1OfGeneralNote
-IGESDimen_HArray1OfLeaderArrow
-IGESDraw_Array1OfConnectPoint
-IGESDraw_Array1OfViewKindEntity
-IGESDraw_HArray1OfConnectPoint
-IGESDraw_HArray1OfViewKindEntity
-IGESGeom_Array1OfBoundary
-IGESGeom_Array1OfCurveOnSurface
-IGESGeom_Array1OfTransformationMatrix
-IGESGeom_HArray1OfBoundary
-IGESGeom_HArray1OfCurveOnSurface
-IGESGeom_HArray1OfTransformationMatrix
-IGESGraph_Array1OfColor
-IGESGraph_Array1OfTextDisplayTemplate
-IGESGraph_Array1OfTextFontDef
-IGESGraph_HArray1OfColor
-IGESGraph_HArray1OfTextDisplayTemplate
-IGESGraph_HArray1OfTextFontDef
-IGESSolid_Array1OfFace
-IGESSolid_Array1OfLoop
-IGESSolid_Array1OfShell
-IGESSolid_Array1OfVertexList
-IGESSolid_HArray1OfFace
-IGESSolid_HArray1OfLoop
-IGESSolid_HArray1OfShell
-IGESSolid_HArray1OfVertexList
-IntAna_ListOfCurve
-IntCurveSurface_SequenceOfPnt
-IntCurveSurface_SequenceOfSeg
-Interface_Array1OfFileParameter
-Interface_Array1OfHAsciiString
-Interface_DataMapOfTransientInteger
-Interface_HArray1OfHAsciiString
-Interface_HSequenceOfCheck
-Interface_IndexedMapOfAsciiString
-Interface_SequenceOfCheck
-Intf_Array1OfLin
-Intf_SeqOfSectionLine
-Intf_SeqOfSectionPoint
-Intf_SeqOfTangentZone
-IntPatch_SequenceOfLine
-IntPatch_SequenceOfPoint
-IntPolyh_SeqOfStartPoints
-IntRes2d_SequenceOfIntersectionPoint
-IntRes2d_SequenceOfIntersectionSegment
-Intrv_SequenceOfInterval
-IntSurf_ListOfPntOn2S
-IntSurf_SequenceOfCouple
-IntSurf_SequenceOfInteriorPoint
-IntSurf_SequenceOfPathPoint
-IntTools_Array1OfRange
-IntTools_Array1OfRoots
-IntTools_DataMapOfCurveSampleBox
-IntTools_DataMapOfSurfaceSampleBox
-IntTools_IndexedDataMapOfTransientAddress
-IntTools_ListOfBox
-IntTools_ListOfCurveRangeSample
-IntTools_ListOfSurfaceRangeSample
-IntTools_MapOfCurveSample
-IntTools_MapOfSurfaceSample
-IntTools_SequenceOfCommonPrts
-IntTools_SequenceOfCurves
-IntTools_SequenceOfPntOn2Faces
-IntTools_SequenceOfRanges
-IntTools_SequenceOfRoots
-Law_Laws
-LocOpe_DataMapOfShapePnt
-LocOpe_SequenceOfCirc
-LocOpe_SequenceOfLin
-LocOpe_SequenceOfPntFace
-LProp_SequenceOfCIType
-MAT2d_Array2OfConnexion
-MAT2d_DataMapOfBiIntInteger
-MAT2d_DataMapOfBiIntSequenceOfInteger
-MAT2d_DataMapOfIntegerBisec
-MAT2d_DataMapOfIntegerConnexion
-MAT2d_DataMapOfIntegerPnt2d
-MAT2d_DataMapOfIntegerSequenceOfConnexion
-MAT2d_DataMapOfIntegerVec2d
-MAT2d_SequenceOfConnexion
-MAT2d_SequenceOfSequenceOfCurve
-MAT2d_SequenceOfSequenceOfGeometry
-MAT_DataMapOfIntegerArc
-MAT_DataMapOfIntegerBasicElt
-MAT_DataMapOfIntegerBisector
-MAT_DataMapOfIntegerNode
-MAT_SequenceOfArc
-MAT_SequenceOfBasicElt
-math_Array1OfValueAndWeight
-MDF_ARDriverHSequence
-MDF_ARDriverSequence
-MDF_ASDriverHSequence
-MDF_ASDriverSequence
-MDF_TypeARDriverMap
-MDF_TypeASDriverMap
-MeshVS_Array1OfSequenceOfInteger
-MeshVS_DataMapOfColorMapOfInteger
-MeshVS_DataMapOfHArray1OfSequenceOfInteger
-MeshVS_DataMapOfIntegerAsciiString
-MeshVS_DataMapOfIntegerBoolean
-MeshVS_DataMapOfIntegerColor
-MeshVS_DataMapOfIntegerMaterial
-MeshVS_DataMapOfIntegerMeshEntityOwner
-MeshVS_DataMapOfIntegerOwner
-MeshVS_DataMapOfIntegerTwoColors
-MeshVS_DataMapOfIntegerVector
-MeshVS_DataMapOfTwoColorsMapOfInteger
-MeshVS_HArray1OfSequenceOfInteger
-MeshVS_MapOfTwoNodes
-MeshVS_SequenceOfPrsBuilder
-MeshVS_TwoColorsHasher
-MeshVS_TwoNodesHasher
-Message_ListOfMsg
-Message_SequenceOfPrinters
-Message_SequenceOfProgressScale
-MoniTool_DataMapOfShapeTransient
-MoniTool_DataMapOfTimer
-MoniTool_HSequenceOfElement
-MoniTool_IndexedDataMapOfShapeTransient
-MoniTool_SequenceOfElement
-NLPlate_SequenceOfHGPPConstraint
-NLPlate_StackOfPlate
-PCDM_SequenceOfDocument
-PCDM_SequenceOfReference
-Plate_Array1OfPinpointConstraint
-Plate_HArray1OfPinpointConstraint
-Plate_SequenceOfLinearScalarConstraint
-Plate_SequenceOfLinearXYZConstraint
-Plate_SequenceOfPinpointConstraint
-Plugin_MapOfFunctions
-Poly_Array1OfTriangle
-Poly_HArray1OfTriangle
-ProjLib_HSequenceOfHSequenceOfPnt
-ProjLib_SequenceOfHSequenceOfPnt
-PrsMgr_Presentations
-PTColStd_DoubleMapOfTransientPersistent
-PTColStd_MapPersistentHasher
-PTColStd_PersistentTransientMap
-PTColStd_TransientPersistentMap
-QANCollection_DataMapOfRealPnt
-QANCollection_DoubleMapOfRealInteger
-QANCollection_IndexedDataMapOfRealPnt
-QANCollection_ListOfPnt
-Quantity_Array1OfCoefficient
-Quantity_Array1OfColor
-Quantity_Array2OfColor
-Quantity_HArray1OfColor
-Resource_DataMapOfAsciiStringAsciiString
-Resource_DataMapOfAsciiStringExtendedString
-SelectMgr_DataMapOfObjectSelectors
-SelectMgr_IndexedDataMapOfOwnerCriterion
-SelectMgr_IndexedMapOfOwner
-SelectMgr_ListOfFilter
-SelectMgr_SequenceOfFilter
-SelectMgr_SequenceOfOwner
-SelectMgr_SequenceOfSelector
-ShapeAnalysis_DataMapOfShapeListOfReal
-ShapeAnalysis_HSequenceOfFreeBounds
-ShapeAnalysis_SequenceOfFreeBounds
-ShapeExtend_DataMapOfShapeListOfMsg
-ShapeExtend_DataMapOfTransientListOfMsg
-ShapeFix_DataMapOfShapeBox2d
-ShapeFix_SequenceOfWireSegment
-StdSelect_IndexedDataMapOfOwnerPrs
-StepAP203_Array1OfApprovedItem
-StepAP203_Array1OfCertifiedItem
-StepAP203_Array1OfChangeRequestItem
-StepAP203_Array1OfClassifiedItem
-StepAP203_Array1OfContractedItem
-StepAP203_Array1OfDateTimeItem
-StepAP203_Array1OfPersonOrganizationItem
-StepAP203_Array1OfSpecifiedItem
-StepAP203_Array1OfStartRequestItem
-StepAP203_Array1OfWorkItem
-StepAP203_HArray1OfApprovedItem
-StepAP203_HArray1OfCertifiedItem
-StepAP203_HArray1OfChangeRequestItem
-StepAP203_HArray1OfClassifiedItem
-StepAP203_HArray1OfContractedItem
-StepAP203_HArray1OfDateTimeItem
-StepAP203_HArray1OfPersonOrganizationItem
-StepAP203_HArray1OfSpecifiedItem
-StepAP203_HArray1OfStartRequestItem
-StepAP203_HArray1OfWorkItem
-StepAP214_Array1OfApprovalItem
-StepAP214_Array1OfAutoDesignDateAndPersonItem
-StepAP214_Array1OfAutoDesignDateAndTimeItem
-StepAP214_Array1OfAutoDesignDatedItem
-StepAP214_Array1OfAutoDesignGeneralOrgItem
-StepAP214_Array1OfAutoDesignGroupedItem
-StepAP214_Array1OfAutoDesignPresentedItemSelect
-StepAP214_Array1OfAutoDesignReferencingItem
-StepAP214_Array1OfDateAndTimeItem
-StepAP214_Array1OfDateItem
-StepAP214_Array1OfDocumentReferenceItem
-StepAP214_Array1OfExternalIdentificationItem
-StepAP214_Array1OfGroupItem
-StepAP214_Array1OfOrganizationItem
-StepAP214_Array1OfPersonAndOrganizationItem
-StepAP214_Array1OfPresentedItemSelect
-StepAP214_Array1OfSecurityClassificationItem
-StepAP214_HArray1OfApprovalItem
-StepAP214_HArray1OfAutoDesignDateAndPersonItem
-StepAP214_HArray1OfAutoDesignDateAndTimeItem
-StepAP214_HArray1OfAutoDesignDatedItem
-StepAP214_HArray1OfAutoDesignGeneralOrgItem
-StepAP214_HArray1OfAutoDesignGroupedItem
-StepAP214_HArray1OfAutoDesignPresentedItemSelect
-StepAP214_HArray1OfAutoDesignReferencingItem
-StepAP214_HArray1OfDateAndTimeItem
-StepAP214_HArray1OfDateItem
-StepAP214_HArray1OfDocumentReferenceItem
-StepAP214_HArray1OfExternalIdentificationItem
-StepAP214_HArray1OfGroupItem
-StepAP214_HArray1OfOrganizationItem
-StepAP214_HArray1OfPersonAndOrganizationItem
-StepAP214_HArray1OfPresentedItemSelect
-StepAP214_HArray1OfSecurityClassificationItem
-StepBasic_Array1OfApproval
-StepBasic_Array1OfDerivedUnitElement
-StepBasic_Array1OfDocument
-StepBasic_Array1OfNamedUnit
-StepBasic_Array1OfOrganization
-StepBasic_Array1OfPerson
-StepBasic_Array1OfProduct
-StepBasic_Array1OfProductContext
-StepBasic_Array1OfProductDefinition
-StepBasic_Array1OfUncertaintyMeasureWithUnit
-StepBasic_HArray1OfApproval
-StepBasic_HArray1OfDerivedUnitElement
-StepBasic_HArray1OfDocument
-StepBasic_HArray1OfNamedUnit
-StepBasic_HArray1OfOrganization
-StepBasic_HArray1OfPerson
-StepBasic_HArray1OfProduct
-StepBasic_HArray1OfProductContext
-StepBasic_HArray1OfProductDefinition
-StepBasic_HArray1OfUncertaintyMeasureWithUnit
-STEPCAFControl_DataMapOfLabelExternFile
-STEPCAFControl_DataMapOfLabelShape
-STEPCAFControl_DataMapOfPDExternFile
-STEPCAFControl_DataMapOfSDRExternFile
-STEPCAFControl_DataMapOfShapePD
-STEPCAFControl_DataMapOfShapeSDR
-STEPConstruct_DataMapOfAsciiStringTransient
-STEPConstruct_DataMapOfPointTransient
-StepData_Array1OfField
-StepData_HArray1OfField
-StepDimTol_Array1OfDatumReference
-StepDimTol_HArray1OfDatumReference
-StepElement_Array1OfCurveElementEndReleasePacket
-StepElement_Array1OfCurveElementSectionDefinition
-StepElement_Array1OfHSequenceOfCurveElementPurposeMember
-StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember
-StepElement_Array1OfMeasureOrUnspecifiedValue
-StepElement_Array1OfSurfaceSection
-StepElement_Array1OfVolumeElementPurpose
-StepElement_Array1OfVolumeElementPurposeMember
-StepElement_Array2OfCurveElementPurposeMember
-StepElement_Array2OfSurfaceElementPurpose
-StepElement_Array2OfSurfaceElementPurposeMember
-StepElement_HArray1OfCurveElementEndReleasePacket
-StepElement_HArray1OfCurveElementSectionDefinition
-StepElement_HArray1OfHSequenceOfCurveElementPurposeMember
-StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember
-StepElement_HArray1OfMeasureOrUnspecifiedValue
-StepElement_HArray1OfSurfaceSection
-StepElement_HArray1OfVolumeElementPurpose
-StepElement_HArray1OfVolumeElementPurposeMember
-StepElement_HArray2OfCurveElementPurposeMember
-StepElement_HArray2OfSurfaceElementPurpose
-StepElement_HArray2OfSurfaceElementPurposeMember
-StepElement_HSequenceOfCurveElementPurposeMember
-StepElement_HSequenceOfCurveElementSectionDefinition
-StepElement_HSequenceOfElementMaterial
-StepElement_HSequenceOfSurfaceElementPurposeMember
-StepElement_SequenceOfCurveElementPurposeMember
-StepElement_SequenceOfCurveElementSectionDefinition
-StepElement_SequenceOfElementMaterial
-StepElement_SequenceOfSurfaceElementPurposeMember
-StepFEA_Array1OfCurveElementEndOffset
-StepFEA_Array1OfCurveElementEndRelease
-StepFEA_Array1OfCurveElementInterval
-StepFEA_Array1OfDegreeOfFreedom
-StepFEA_Array1OfElementRepresentation
-StepFEA_Array1OfNodeRepresentation
-StepFEA_HArray1OfCurveElementEndOffset
-StepFEA_HArray1OfCurveElementEndRelease
-StepFEA_HArray1OfCurveElementInterval
-StepFEA_HArray1OfDegreeOfFreedom
-StepFEA_HArray1OfElementRepresentation
-StepFEA_HArray1OfNodeRepresentation
-StepFEA_HSequenceOfCurve3dElementProperty
-StepFEA_HSequenceOfElementGeometricRelationship
-StepFEA_HSequenceOfElementRepresentation
-StepFEA_HSequenceOfNodeRepresentation
-StepFEA_SequenceOfCurve3dElementProperty
-StepFEA_SequenceOfElementGeometricRelationship
-StepFEA_SequenceOfElementRepresentation
-StepFEA_SequenceOfNodeRepresentation
-StepGeom_Array1OfBoundaryCurve
-StepGeom_Array1OfCartesianPoint
-StepGeom_Array1OfCompositeCurveSegment
-StepGeom_Array1OfCurve
-StepGeom_Array1OfPcurveOrSurface
-StepGeom_Array1OfSurfaceBoundary
-StepGeom_Array1OfTrimmingSelect
-StepGeom_Array2OfCartesianPoint
-StepGeom_Array2OfSurfacePatch
-StepGeom_HArray1OfBoundaryCurve
-StepGeom_HArray1OfCartesianPoint
-StepGeom_HArray1OfCompositeCurveSegment
-StepGeom_HArray1OfCurve
-StepGeom_HArray1OfPcurveOrSurface
-StepGeom_HArray1OfSurfaceBoundary
-StepGeom_HArray1OfTrimmingSelect
-StepGeom_HArray2OfCartesianPoint
-StepGeom_HArray2OfSurfacePatch
-StepRepr_Array1OfMaterialPropertyRepresentation
-StepRepr_Array1OfPropertyDefinitionRepresentation
-StepRepr_Array1OfRepresentationItem
-StepRepr_HArray1OfMaterialPropertyRepresentation
-StepRepr_HArray1OfPropertyDefinitionRepresentation
-StepRepr_HArray1OfRepresentationItem
-StepRepr_HSequenceOfMaterialPropertyRepresentation
-StepRepr_HSequenceOfRepresentationItem
-StepRepr_SequenceOfMaterialPropertyRepresentation
-StepRepr_SequenceOfRepresentationItem
-STEPSelections_HSequenceOfAssemblyLink
-STEPSelections_SequenceOfAssemblyComponent
-STEPSelections_SequenceOfAssemblyLink
-StepShape_Array1OfConnectedEdgeSet
-StepShape_Array1OfConnectedFaceSet
-StepShape_Array1OfEdge
-StepShape_Array1OfFace
-StepShape_Array1OfFaceBound
-StepShape_Array1OfGeometricSetSelect
-StepShape_Array1OfOrientedClosedShell
-StepShape_Array1OfOrientedEdge
-StepShape_Array1OfShell
-StepShape_Array1OfValueQualifier
-StepShape_HArray1OfConnectedEdgeSet
-StepShape_HArray1OfConnectedFaceSet
-StepShape_HArray1OfEdge
-StepShape_HArray1OfFace
-StepShape_HArray1OfFaceBound
-StepShape_HArray1OfGeometricSetSelect
-StepShape_HArray1OfOrientedClosedShell
-StepShape_HArray1OfOrientedEdge
-StepShape_HArray1OfShell
-StepShape_HArray1OfValueQualifier
-StepToTopoDS_DataMapOfRI
-StepToTopoDS_DataMapOfRINames
-StepToTopoDS_DataMapOfTRI
-StepToTopoDS_PointEdgeMap
-StepToTopoDS_PointVertexMap
-StepVisual_Array1OfBoxCharacteristicSelect
-StepVisual_Array1OfCurveStyleFontPattern
-StepVisual_Array1OfDirectionCountSelect
-StepVisual_Array1OfFillStyleSelect
-StepVisual_Array1OfInvisibleItem
-StepVisual_Array1OfLayeredItem
-StepVisual_Array1OfPresentationStyleAssignment
-StepVisual_Array1OfPresentationStyleSelect
-StepVisual_Array1OfStyleContextSelect
-StepVisual_Array1OfSurfaceStyleElementSelect
-StepVisual_Array1OfTextOrCharacter
-StepVisual_HArray1OfBoxCharacteristicSelect
-StepVisual_HArray1OfCurveStyleFontPattern
-StepVisual_HArray1OfDirectionCountSelect
-StepVisual_HArray1OfFillStyleSelect
-StepVisual_HArray1OfInvisibleItem
-StepVisual_HArray1OfLayeredItem
-StepVisual_HArray1OfPresentationStyleAssignment
-StepVisual_HArray1OfPresentationStyleSelect
-StepVisual_HArray1OfStyleContextSelect
-StepVisual_HArray1OfSurfaceStyleElementSelect
-StepVisual_HArray1OfTextOrCharacter
-StlMesh_SequenceOfMesh
-StlMesh_SequenceOfMeshDomain
-StlMesh_SequenceOfMeshTriangle
-Storage_ArrayOfCallBack
-Storage_ArrayOfSchema
-Storage_HArrayOfCallBack
-Storage_HArrayOfSchema
-Storage_HPArray
-Storage_HSeqOfRoot
-Storage_MapOfCallBack
-Storage_MapOfPers
-Storage_PArray
-Storage_PType
-Storage_SeqOfRoot
-TColGeom2d_Array1OfBezierCurve
-TColGeom2d_Array1OfBSplineCurve
-TColGeom2d_Array1OfCurve
-TColGeom2d_HArray1OfBezierCurve
-TColGeom2d_HArray1OfBSplineCurve
-TColGeom2d_HArray1OfCurve
-TColGeom2d_HSequenceOfBoundedCurve
-TColGeom2d_HSequenceOfCurve
-TColGeom2d_SequenceOfBoundedCurve
-TColGeom2d_SequenceOfCurve
-TColGeom2d_SequenceOfGeometry
-TColGeom_Array1OfBezierCurve
-TColGeom_Array1OfBSplineCurve
-TColGeom_Array1OfCurve
-TColGeom_Array1OfSurface
-TColGeom_Array2OfBezierSurface
-TColGeom_Array2OfSurface
-TColGeom_HArray1OfBezierCurve
-TColGeom_HArray1OfBSplineCurve
-TColGeom_HArray1OfCurve
-TColGeom_HArray1OfSurface
-TColGeom_HArray2OfSurface
-TColGeom_HSequenceOfBoundedCurve
-TColGeom_HSequenceOfCurve
-TColGeom_SequenceOfBoundedCurve
-TColGeom_SequenceOfCurve
-TColGeom_SequenceOfSurface
-TColgp_Array1OfCirc2d
-TColgp_Array1OfDir
-TColgp_Array1OfDir2d
-TColgp_Array1OfLin2d
-TColgp_Array1OfPnt
-TColgp_Array1OfPnt2d
-TColgp_Array1OfVec
-TColgp_Array1OfVec2d
-TColgp_Array1OfXY
-TColgp_Array1OfXYZ
-TColgp_Array2OfCirc2d
-TColgp_Array2OfDir
-TColgp_Array2OfDir2d
-TColgp_Array2OfLin2d
-TColgp_Array2OfPnt
-TColgp_Array2OfPnt2d
-TColgp_Array2OfVec
-TColgp_Array2OfVec2d
-TColgp_Array2OfXY
-TColgp_Array2OfXYZ
-TColgp_HArray1OfCirc2d
-TColgp_HArray1OfDir
-TColgp_HArray1OfDir2d
-TColgp_HArray1OfLin2d
-TColgp_HArray1OfPnt
-TColgp_HArray1OfPnt2d
-TColgp_HArray1OfVec
-TColgp_HArray1OfVec2d
-TColgp_HArray1OfXY
-TColgp_HArray1OfXYZ
-TColgp_HArray2OfCirc2d
-TColgp_HArray2OfDir
-TColgp_HArray2OfDir2d
-TColgp_HArray2OfLin2d
-TColgp_HArray2OfPnt
-TColgp_HArray2OfPnt2d
-TColgp_HArray2OfVec
-TColgp_HArray2OfVec2d
-TColgp_HArray2OfXY
-TColgp_HArray2OfXYZ
-TColgp_HSequenceOfDir
-TColgp_HSequenceOfDir2d
-TColgp_HSequenceOfPnt
-TColgp_HSequenceOfPnt2d
-TColgp_HSequenceOfVec
-TColgp_HSequenceOfVec2d
-TColgp_HSequenceOfXY
-TColgp_HSequenceOfXYZ
-TColgp_SequenceOfArray1OfPnt2d
-TColgp_SequenceOfAx1
-TColgp_SequenceOfDir
-TColgp_SequenceOfDir2d
-TColgp_SequenceOfPnt
-TColgp_SequenceOfPnt2d
-TColgp_SequenceOfVec
-TColgp_SequenceOfVec2d
-TColgp_SequenceOfXY
-TColgp_SequenceOfXYZ
-TColQuantity_Array1OfLength
-TColQuantity_Array2OfLength
-TColQuantity_HArray1OfLength
-TColQuantity_HArray2OfLength
-TColStd_Array1OfAsciiString
-TColStd_Array1OfBoolean
-TColStd_Array1OfByte
-TColStd_Array1OfCharacter
-TColStd_Array1OfExtendedString
-TColStd_Array1OfInteger
-TColStd_Array1OfListOfInteger
-TColStd_Array1OfReal
-TColStd_Array1OfTransient
-TColStd_Array2OfBoolean
-TColStd_Array2OfCharacter
-TColStd_Array2OfInteger
-TColStd_Array2OfReal
-TColStd_Array2OfTransient
-TColStd_DataMapOfAsciiStringInteger
-TColStd_DataMapOfIntegerInteger
-TColStd_DataMapOfIntegerListOfInteger
-TColStd_DataMapOfIntegerReal
-TColStd_DataMapOfIntegerTransient
-TColStd_DataMapOfStringInteger
-TColStd_DataMapOfTransientTransient
-TColStd_HArray1OfAsciiString
-TColStd_HArray1OfBoolean
-TColStd_HArray1OfByte
-TColStd_HArray1OfCharacter
-TColStd_HArray1OfExtendedString
-TColStd_HArray1OfInteger
-TColStd_HArray1OfListOfInteger
-TColStd_HArray1OfReal
-TColStd_HArray1OfTransient
-TColStd_HArray2OfBoolean
-TColStd_HArray2OfCharacter
-TColStd_HArray2OfInteger
-TColStd_HArray2OfReal
-TColStd_HArray2OfTransient
-TColStd_HSequenceOfAsciiString
-TColStd_HSequenceOfExtendedString
-TColStd_HSequenceOfHAsciiString
-TColStd_HSequenceOfHExtendedString
-TColStd_HSequenceOfInteger
-TColStd_HSequenceOfReal
-TColStd_HSequenceOfTransient
-TColStd_IndexedDataMapOfTransientTransient
-TColStd_IndexedMapOfInteger
-TColStd_IndexedMapOfReal
-TColStd_IndexedMapOfTransient
-TColStd_ListOfAsciiString
-TColStd_ListOfInteger
-TColStd_ListOfReal
-TColStd_ListOfTransient
-TColStd_MapIntegerHasher
-TColStd_MapOfAsciiString
-TColStd_MapOfInteger
-TColStd_MapOfReal
-TColStd_MapOfTransient
-TColStd_MapRealHasher
-TColStd_MapTransientHasher
-TColStd_SequenceOfAddress
-TColStd_SequenceOfAsciiString
-TColStd_SequenceOfBoolean
-TColStd_SequenceOfExtendedString
-TColStd_SequenceOfHAsciiString
-TColStd_SequenceOfHExtendedString
-TColStd_SequenceOfInteger
-TColStd_SequenceOfReal
-TColStd_SequenceOfTransient
-TDataStd_DataMapOfStringByte
-TDataStd_DataMapOfStringHArray1OfInteger
-TDataStd_DataMapOfStringHArray1OfReal
-TDataStd_DataMapOfStringReal
-TDataStd_DataMapOfStringString
-TDataStd_HLabelArray1
-TDataStd_LabelArray1
-TDataStd_ListOfByte
-TDataStd_ListOfExtendedString
-TDataXtd_Array1OfTrsf
-TDataXtd_HArray1OfTrsf
-TDF_AttributeArray1
-TDF_AttributeDataMap
-TDF_AttributeDeltaList
-TDF_AttributeDoubleMap
-TDF_AttributeIndexedMap
-TDF_AttributeList
-TDF_AttributeMap
-TDF_AttributeSequence
-TDF_DeltaList
-TDF_GUIDProgIDMap
-TDF_HAttributeArray1
-TDF_IDList
-TDF_IDMap
-TDF_LabelDataMap
-TDF_LabelDoubleMap
-TDF_LabelIndexedMap
-TDF_LabelIntegerMap
-TDF_LabelList
-TDF_LabelMap
-TDF_LabelSequence
-TDocStd_LabelIDMapDataMap
-TDocStd_SequenceOfApplicationDelta
-TDocStd_SequenceOfDocument
-TFunction_Array1OfDataMapOfGUIDDriver
-TFunction_DataMapOfGUIDDriver
-TFunction_DataMapOfLabelListOfLabel
-TFunction_DoubleMapOfIntegerLabel
-TFunction_HArray1OfDataMapOfGUIDDriver
-TNaming_DataMapOfShapePtrRefShape
-TNaming_DataMapOfShapeShapesSet
-TNaming_ListOfIndexedDataMapOfShapeListOfShape
-TNaming_ListOfMapOfShape
-TNaming_ListOfNamedShape
-TNaming_MapOfNamedShape
-TNaming_NamedShapeHasher
-TopBas_ListOfTestInterference
-TopLoc_IndexedMapOfLocation
-TopLoc_MapLocationHasher
-TopLoc_MapOfLocation
-TopoDS_ListOfShape
-TopOpeBRep_Array1OfLineInter
-TopOpeBRep_Array1OfVPointInter
-TopOpeBRep_DataMapOfTopolTool
-TopOpeBRep_HArray1OfLineInter
-TopOpeBRep_HArray1OfVPointInter
-TopOpeBRep_ListOfBipoint
-TopOpeBRep_SequenceOfPoint2d
-TopOpeBRepBuild_DataMapOfShapeListOfShapeListOfShape
-TopOpeBRepBuild_IndexedDataMapOfShapeVertexInfo
-TopOpeBRepBuild_ListOfListOfLoop
-TopOpeBRepBuild_ListOfLoop
-TopOpeBRepBuild_ListOfPave
-TopOpeBRepBuild_ListOfShapeListOfShape
-TopOpeBRepDS_Array1OfDataMapOfIntegerListOfInterference
-TopOpeBRepDS_DataMapOfCheckStatus
-TopOpeBRepDS_DataMapOfIntegerListOfInterference
-TopOpeBRepDS_DataMapOfInterferenceListOfInterference
-TopOpeBRepDS_DataMapOfInterferenceShape
-TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State
-TopOpeBRepDS_DataMapOfShapeState
-TopOpeBRepDS_DoubleMapOfIntegerShape
-TopOpeBRepDS_HArray1OfDataMapOfIntegerListOfInterference
-TopOpeBRepDS_IndexedDataMapOfShapeWithState
-TopOpeBRepDS_IndexedDataMapOfVertexPoint
-TopOpeBRepDS_ListOfInterference
-TopOpeBRepDS_MapOfCurve
-TopOpeBRepDS_MapOfIntegerShapeData
-TopOpeBRepDS_MapOfPoint
-TopOpeBRepDS_MapOfShapeData
-TopOpeBRepDS_MapOfSurface
-TopOpeBRepDS_ShapeSurface
-TopOpeBRepTool_DataMapOfOrientedShapeC2DF
-TopOpeBRepTool_DataMapOfShapeface
-TopOpeBRepTool_DataMapOfShapeListOfC2DF
-TopOpeBRepTool_IndexedDataMapOfShapeBox
-TopOpeBRepTool_IndexedDataMapOfShapeBox2d
-TopOpeBRepTool_IndexedDataMapOfShapeconnexity
-TopOpeBRepTool_IndexedDataMapOfSolidClassifier
-TopOpeBRepTool_ListOfC2DF
-TopTools_Array1OfListOfShape
-TopTools_Array1OfShape
-TopTools_Array2OfShape
-TopTools_DataMapOfIntegerListOfShape
-TopTools_DataMapOfIntegerShape
-TopTools_DataMapOfOrientedShapeInteger
-TopTools_DataMapOfOrientedShapeShape
-TopTools_DataMapOfShapeInteger
-TopTools_DataMapOfShapeListOfInteger
-TopTools_DataMapOfShapeListOfShape
-TopTools_DataMapOfShapeReal
-TopTools_DataMapOfShapeSequenceOfShape
-TopTools_DataMapOfShapeShape
-TopTools_HArray1OfListOfShape
-TopTools_HArray1OfShape
-TopTools_HArray2OfShape
-TopTools_HSequenceOfShape
-TopTools_IndexedDataMapOfShapeAddress
-TopTools_IndexedDataMapOfShapeListOfShape
-TopTools_IndexedDataMapOfShapeShape
-TopTools_IndexedMapOfOrientedShape
-TopTools_IndexedMapOfShape
-TopTools_ListOfShape
-TopTools_MapOfOrientedShape
-TopTools_MapOfShape
-TopTools_SequenceOfShape
-TopTrans_Array2OfOrientation
-TPrsStd_DataMapOfGUIDDriver
-Transfer_HSequenceOfBinder
-Transfer_HSequenceOfFinder
-Transfer_SequenceOfBinder
-Transfer_SequenceOfFinder
-TransferBRep_HSequenceOfTransferResultInfo
-TransferBRep_SequenceOfTransferResultInfo
-TShort_Array1OfShortReal
-TShort_Array2OfShortReal
-TShort_HArray1OfShortReal
-TShort_HArray2OfShortReal
-TShort_HSequenceOfShortReal
-TShort_SequenceOfShortReal
-Units_QtsSequence
-Units_QuantitiesSequence
-Units_TksSequence
-Units_TokensSequence
-Units_UnitsSequence
-Units_UtsSequence
-ViewerTest_DoubleMapOfInteractiveAndName
-Visual3d_HSequenceOfLight
-Visual3d_HSequenceOfView
-Visual3d_SequenceOfLight
-Visual3d_SequenceOfView
-XCAFDoc_DataMapOfShapeLabel
-XCAFDoc_GraphNodeSequence
-XCAFPrs_DataMapOfShapeStyle
-XCAFPrs_DataMapOfStyleShape
-XCAFPrs_DataMapOfStyleTransient
-XmlLDrivers_SequenceOfNamespaceDef
-XmlMDF_MapOfDriver
-XmlMDF_TypeADriverMap
-XSDRAWSTLVRML_CoordsMap
-XSDRAWSTLVRML_ElemNodesMap
+++ /dev/null
-# This script provides commands for upgrade of OCCT and software based on it
-# to a newer version of OCCT (7.0)
-
-
-# source code for upgrading
-set ArgName(HelpInfo) "h"
-
-set ArgName(SourceCode) "src"
-set ArgName(IncPath) "inc"
-
-set ArgName(IncExtension) "incext"
-set ArgName(SrcExtension) "srcext"
-
-set ArgName(RTTI) "rtti"
-
-set ArgName(CStyleCastHandle) "handlecast"
-set ArgName(All) "all"
-
-set ArgName(Handle) "handle"
-set ArgName(TCollection) "tcollection"
-
-set ArgName(CompatibleMode) "compat"
-
-set ArgName(Recurse) "recurse"
-set ArgName(Rename) "rename"
-
-set ArgName(CheckOnly) "check"
-set ArgName(WLog) "wlog"
-set ArgName(Log) "log"
-
-proc HelpInformation {} {
- global ArgName
- global DataSectionName
-
- loginfo "Tool for upgrade of application code from older versions of OCCT."
- loginfo ""
- loginfo "Required parameter:"
- loginfo " -$ArgName(SourceCode)=<path> - path to sources to upgrade"
- loginfo ""
- loginfo "File search options:"
- loginfo " -$ArgName(IncPath)=<path> - path to header files of OCCT or other used libraries"
- loginfo " -$ArgName(Recurse) - process all subfolders of '-$ArgName(SourceCode)' and '-$ArgName(IncPath)'"
- loginfo " -$ArgName(SrcExtension)=cxx,cpp - extensions of source files"
- loginfo " -$ArgName(IncExtension)=hxx,h,lxx,gxx - extensions of header files"
- loginfo ""
- loginfo "Upgrade options:"
- loginfo " -$ArgName(All) - do all upgrades (if neither of below options are given)"
- loginfo " -$ArgName(RTTI) - adapt code for changes in type system (RTTI) in OCCT 7.0"
- loginfo " -$ArgName(Handle) - adapt code for changes in OCCT Handle"
- loginfo " -$ArgName(TCollection) - replace forward declaration of TCollection classes by #include"
- loginfo " -$ArgName(CStyleCastHandle) - replace c-style casts of Handle by DownCast()"
- 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(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"
-
- return
-}
-
-proc ParseArgs {theArgValues theArgs {theRemoveFromArgs "false"}} {
- upvar $theArgValues anArgValues
-
- global ArgName
- global DataSectionName
-
- # help information
- set anArgValues(HelpInfo) [SeekArg $ArgName(HelpInfo) theArgs "false" $theRemoveFromArgs]
-
- # sources that will be upgraded
- set anArgValues(SourceCode) [SeekArg $ArgName(SourceCode) theArgs "" $theRemoveFromArgs]
-
- set anArgValues(IncExtension) [SeekArg $ArgName(IncExtension) theArgs "h,hpp,hxx,gxx,lxx" $theRemoveFromArgs]
- set anArgValues(SrcExtension) [SeekArg $ArgName(SrcExtension) theArgs "c,cpp,cxx" $theRemoveFromArgs]
-
- # inc folder
- set anArgValues(IncPath) [SeekArg $ArgName(IncPath) theArgs "$anArgValues(SourceCode)" $theRemoveFromArgs]
-
- set anArgValues(RTTI) [SeekArg $ArgName(RTTI) theArgs "false" $theRemoveFromArgs]
- set anArgValues(CStyleCastHandle) [SeekArg $ArgName(CStyleCastHandle) theArgs "false" $theRemoveFromArgs]
-
- set anArgValues(Handle) [SeekArg $ArgName(Handle) theArgs "false" $theRemoveFromArgs]
- set anArgValues(TCollection) [SeekArg $ArgName(TCollection) theArgs "false" $theRemoveFromArgs]
-
- set anArgValues(Rename) [SeekArg $ArgName(Rename) theArgs "false" $theRemoveFromArgs]
-
- set aHasAgentArgs [expr {$anArgValues(RTTI) || $anArgValues(CStyleCastHandle) || \
- $anArgValues(Handle) || $anArgValues(TCollection)} || \
- $anArgValues(Rename)]
-
- set anArgValues(All) [SeekArg $ArgName(All) theArgs [expr {!$aHasAgentArgs}] $theRemoveFromArgs]
-
- set anArgValues(Recurse) [SeekArg $ArgName(Recurse) theArgs "false" $theRemoveFromArgs]
- set anArgValues(CompatibleMode) [SeekArg $ArgName(CompatibleMode) theArgs "false" $theRemoveFromArgs]
- set anArgValues(CheckOnly) [SeekArg $ArgName(CheckOnly) theArgs "false" $theRemoveFromArgs]
- set anArgValues(WLog) [SeekArg $ArgName(WLog) theArgs "false" $theRemoveFromArgs]
-
- set anArgValues(Log) [SeekArg $ArgName(Log) theArgs "" $theRemoveFromArgs]
-
- return $theArgs
-}
-
-proc SeekArg {theSoughtArgName theArgs {theDefaultArgValue ""} {theRemoveFromArgs false}} {
- upvar ${theArgs} anArgs
-
- set aBooleanValue [string is boolean -strict $theDefaultArgValue]
-
- set anArgValues {}
-
- set anArgsIndex -1
- foreach anArg $anArgs {
- incr anArgsIndex
-
- if {[regexp -- "-${theSoughtArgName}\=\(.\*\)" $anArg dummy anArgValue]} {
- set anArgValue [regsub -all {\\} $anArgValue {/}]
- if {$theRemoveFromArgs} {
- set anArgs [lreplace $anArgs $anArgsIndex $anArgsIndex]
- incr anArgsIndex -1
- }
- if {"$anArgValue" != ""} {
- lappend anArgValues $anArgValue
- } else {
- logwarn "'-${theSoughtArgName}' is skipped because it has empty value"
- }
- } elseif [string match "-${theSoughtArgName}" $anArg] {
- if {$theRemoveFromArgs} {
- set anArgs [lreplace $anArgs $anArgsIndex $anArgsIndex]
- }
- # skip non-boolean empty argument; do not break the foreach loop
- if {$aBooleanValue} {
- lappend anArgValues "true"
- break
- } else {
- logwarn "'-${theSoughtArgName}' is skipped because it has empty value"
- }
- }
- }
-
- # return boolean value as string
- if {$aBooleanValue} {
- if {[llength $anArgValues] > 0} {
- return [lindex $anArgValues 0]
- } else {
- return $theDefaultArgValue
- }
- }
-
- if {[llength $anArgValues] == 0 && "$theDefaultArgValue" != ""} {
- lappend anArgValues $theDefaultArgValue
- }
-
- return $anArgValues
-}
-
-# section names in the data file
-set DataSectionName(TCollection) "tcollection"
-set DataSectionName(Rename) "rename"
-
-proc DataFileName {} {
- return [file join [file dirname [info script]] upgrade.dat]
-}
-
-proc IsDataFileExist {} {
- return [file exists [DataFileName]]
-}
-
-proc ReadFromDataFile {theSectionName} {
- if {![file exists [DataFileName]]} {
- return
- }
-
- set aFileContent [ReadFileToList [DataFileName] aFileRawContent aDataEOL]
-
- set aSectionValueList {}
-
- set anIsSection false
- set aSectionPattern {^ *\[ *([A-Za-z0-9_\.]*) *\]+}
- foreach aLine $aFileContent {
- if {[regexp -- $aSectionPattern $aLine dummy aSectionName]} {
- if {"$aSectionName" == "$theSectionName"} {
- set anIsSection true
- continue
- } elseif {$anIsSection == true} {
- set anIsSection false
- break
- }
- }
-
- if {$anIsSection == true} {
- set aTrimmedLine [string trimright $aLine]
- if {"$aTrimmedLine" != ""} {
- lappend aSectionValueList $aTrimmedLine
- }
- }
- }
-
- return $aSectionValueList
-}
-
-proc SaveToDataFile {theSectionName theSectionContent} {
- if {![file exists [DataFileName]]} {
- return
- }
-
- set aFileContent [ReadFileToList [DataFileName] aFileRawContent aDataEOL]
-
- set aLinesBefore {}
- set aLinesAfter {}
-
- set anIsSection false
- set anIsSectionBefore true
- set anIsSectionAfter false
-
- set aSectionPattern {^ *\[ *([A-Za-z0-9_\.]*) *\]+}
- foreach aLine $aFileContent {
- if {$anIsSectionBefore} {
- lappend aLinesBefore $aLine
- }
-
- if {[regexp -- $aSectionPattern $aLine dummy aSectionName]} {
- if {"$aSectionName" == "$theSectionName"} {
- set anIsSectionBefore false
- set anIsSection true
- } elseif {$anIsSection == true} {
- set anIsSection false
- set anIsSectionAfter true
- }
- }
-
- if {$anIsSection == true} {
- continue
- }
-
- if {$anIsSectionAfter} {
- lappend aLinesAfter $aLine
- }
- }
-
- # write to file
- SaveListToFile [DataFileName] [list {*}$aLinesBefore {*}$theSectionContent {*}$aLinesAfter] $aDataEOL
-}
-
-# Main tool, accepts path to location of source tree to be upgraded.
-proc upgrade {args} {
-
- global ArgName
- global LogFilePath
- global DataSectionName
-
- set theArgs $args
- set anUnparsedArgs [ParseArgs anArgValues $theArgs "true"]
-
- if {"$anUnparsedArgs" != ""} {
- logerr "undefined arguments: $anUnparsedArgs"
- loginfo "use -$ArgName(HelpInfo) to show all the arguments"
- return
- }
-
- if {$anArgValues(HelpInfo) || [llength $anArgValues(SourceCode)] == 0} {
- HelpInformation
- return
- }
-
- if {"$anArgValues(Log)" != ""} {
- set LogFilePath $anArgValues(Log)
-
- # clean file before writing
- if {[file exists "$LogFilePath"]} {
- set fd [open "$LogFilePath" r+]
- chan truncate $fd 0
- close $fd
- }
- }
-
- if {$anArgValues(WLog)} {
- _create_logger
- }
-
- # collect src directory structure (all subdirs)
- set anIncPaths {}
- foreach aSrcDir $anArgValues(SourceCode) {
- lappend anIncPaths $aSrcDir
- foreach aSubSrcDir [CollectDirStructure $aSrcDir] {
- lappend anIncPaths $aSubSrcDir
- }
- }
-
- foreach anIncDir $anArgValues(IncPath) {
- lappend anIncPaths $anIncDir
- foreach aSubIncDir [CollectDirStructure $anIncDir] {
- lappend anIncPaths $aSubIncDir
- }
- }
-
- set anIncPaths [lsort -unique -dictionary $anIncPaths]
- # end the collect
-
- set aRawNewNames [ReadFromDataFile $DataSectionName(Rename)]
- foreach aRawName $aRawNewNames {
- set aRawName [split $aRawName " "]
- if {[llength $aRawName] > 1} {
- # set aNewNames (old name) [new name]
- set aNewNames([lindex ${aRawName} 0]) [lindex ${aRawName} 1]
- }
- }
-
- set aDoRename true
- if {[llength [array names aNewNames]] == 0} {
- set aDoRename false
-
- logwarn "renaming skipped. there is no class names to rename"
- logwarn "see the content of [DataFileName] file, $DataSectionName(Rename) section"
- }
-
- set aProcNameWithArgs "[lindex [info level 0] 0]"
- foreach anArgName [array names anArgValues] {
- if [string is boolean -strict $anArgValues($anArgName)] {
- if [string is true "$anArgValues($anArgName)"] {
- set aProcNameWithArgs [format "$aProcNameWithArgs -%s" "$ArgName($anArgName)"]
- }
- } else {
- set aProcNameWithArgs [format "$aProcNameWithArgs -%s" "$ArgName($anArgName)=$anArgValues($anArgName)"]
- }
- }
-
- loginfo "$aProcNameWithArgs"
-
- # merge all processed extensions
- set anExtensions "$anArgValues(SrcExtension),$anArgValues(IncExtension)"
-
- set aSourceCodePaths $anArgValues(SourceCode)
- while {[llength $aSourceCodePaths]} {
- set aSourceCodePaths [lassign $aSourceCodePaths aProcessedPath]
-
- loginfo "Processing: $aProcessedPath"
-
- if {$anArgValues(All) || $anArgValues(RTTI)} {
- ConvertRtti $aProcessedPath \
- $anIncPaths \
- $anArgValues(CheckOnly) \
- $anArgValues(CompatibleMode) \
- $anArgValues(IncExtension) \
- $anArgValues(SrcExtension)
- }
-
- if {$anArgValues(All) || $anArgValues(Handle)} {
- ConvertHandle $aProcessedPath $anIncPaths $anArgValues(CheckOnly) $anExtensions
- }
-
- if {$anArgValues(All) || $anArgValues(TCollection)} {
- ConvertTColFwd $aProcessedPath $anArgValues(IncExtension)
- }
-
- if {$anArgValues(All) || $anArgValues(CStyleCastHandle)} {
- ConvertCStyleHandleCast $aProcessedPath $anExtensions $anArgValues(CheckOnly)
- }
-
- if {$anArgValues(All) || $anArgValues(Rename)} {
- if {$aDoRename} {
- Rename $aProcessedPath $anExtensions aNewNames $anArgValues(CheckOnly)
- }
- }
-
- # Recurse processing
- if {$anArgValues(Recurse)} {
- lappend aSourceCodePaths {*}[glob -nocomplain -directory $aProcessedPath -type d *]
- }
- }
-}
-
-# search and rename the indices (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
-
- set aNames [array names aNewNames]
-
- foreach aFile [glob -nocomplain -type f -directory $thePath *.{$theExtensions}] {
-# loginfo "$aFile processing"
- set aFileContent [ReadFileToRawText $aFile]
-
- set aHasChanges false
- foreach aName $aNames {
- set anIndexInRow 0
- set aClassNameTmpl "\\m$aName\\M"
- while { [regexp -start $anIndexInRow -indices -lineanchor $aClassNameTmpl $aFileContent aFoundClassNameLoc] } {
- set anIndexInRow [lindex $aFoundClassNameLoc 1]
-
- if {$theCheckMode} {
- logwarn "Warning: $aFile contains $aName"
- break
- } else {
- set aHasChanges true
- ReplaceSubString aFileContent $aFoundClassNameLoc "$aNewNames($aName)" anIndexInRow
- incr anIndexInRow -1
- }
- }
- }
-
- if {$aHasChanges} {
- SaveTextToFile $aFile $aFileContent
- }
- }
-}
-
-# @thePackagePath either 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
-proc ConvertTColFwd {thePackagePath theHeaderExtensions} {
- global DataSectionName
-
- # Note: the content of theHeaderExtensions should have
- # further form (values separated by comma): "ext1,ext2,ext3"
- # this form will be used below in reg expression to collect all header files
-
- if {! [file exists $thePackagePath]} {
- logerr "Error: $thePackagePath does not exist"
- return
- }
-
- # read the list of already converted TCollection classes
- if [IsDataFileExist] {
- set aConvertedTColClasses [ReadFromDataFile $DataSectionName(TCollection)]
- } else {
- logerr "[DataFileName] file of upgrade process does not exist"
- return
- }
-
- # pattern that will be used
- set aForwardDeclPattern {^ *class *([A-Za-z0-9_/\.]+) *;}
-
- set aTargetPaths ${thePackagePath}
- while {[llength $aTargetPaths]} {
- set aTargetPaths [lassign $aTargetPaths aProcessedPath]
-
- # if aProcessedPath is a folder, collect all files with $theHeaderExtensions from it
- set aProcessedHeaders ${aProcessedPath}
- if {[file isdirectory $aProcessedPath]} {
- # get all header files
- set aProcessedHeaders [glob -nocomplain -type f -directory $aProcessedPath *.{$theHeaderExtensions}]
- }
-
- foreach aHeader $aProcessedHeaders {
- set aHeaderLineIndex -1
- set aHeaderContentUpdated false
-
- # read the content of the header file
- set aHeaderContent [ReadFileToList $aHeader aHeaderRawContent aHeaderEOL]
-
- # remove _isMulti variable that used in _check_line
- set _isMulti false
-
- foreach aHeaderContentLine $aHeaderContent {
- incr aHeaderLineIndex
-
- # remove _cmnt variable that used in _check_line
- set _cmnt ""
-
- set aHeaderContentLine [_check_line $aHeaderContentLine]
- if {[regexp {^ *class *([A-Za-z0-9_/\.]+) *;} $aHeaderContentLine dummy aForwardDeclClass]} {
- if {[lsearch $aConvertedTColClasses $aForwardDeclClass] != -1} {
- set aHeaderContentUpdated true
- set aHeaderContentRow "\#include <$aForwardDeclClass.hxx>"
- set aHeaderContent [lreplace $aHeaderContent $aHeaderLineIndex $aHeaderLineIndex $aHeaderContentRow]
- }
- }
- }
-
- if {$aHeaderContentUpdated} {
- loginfo "$aHeader updated"
- SaveListToFile $aHeader $aHeaderContent $aHeaderEOL
- }
- }
- }
-}
-
-# try to find source file corresponding to the specified header and either
-# inject macro IMPLEMENT_STANDARD_RTTIEXT in it, or check it already present,
-# and depending on this, return suffix to be used for corresponding macro
-# DEFINE_STANDARD_RTTI... (either inline or out-of-line variant)
-proc DefineExplicitRtti {hxxfile class base theSourceExtensions} {
- # if current file is not a header (by extension), exit with "inline" variant
- # (there is no need to bother with out-of-line instantiations for local class)
- set ext [string range [file extension $hxxfile] 1 end]
- if { [lsearch -exact [split $theSourceExtensions ,] $ext] >=0 } {
- return "_INLINE"
- }
-
- # try to find source file with the same name but source-type extension
- # in the same folder
- set filename [file rootname $hxxfile]
- foreach ext [split $theSourceExtensions ,] {
-# puts "Checking ${filename}.$ext"
- if { ! [file readable ${filename}.$ext] } { continue }
-
- # check the file content
- set aFileContent [ReadFileToList ${filename}.$ext aFileRawContent aEOL]
-
- # try to find existing macro IMPLEMENT_STANDARD_RTTIEXT and check that
- # it is consistent
- foreach line $aFileContent {
- if { [regexp "^\\s*IMPLEMENT_STANDARD_RTTIEXT\\s*\\(\\s*$class\\s*,\\s*(\[A-Za-z0-9_\]+)\\s*\\)" $line res impl_base] } {
- # implementation is in place, just report warning if second argument
- # is different
- if { $base != $impl_base } {
- logwarn "Warning in ${filename}.$ext: second argument of macro"
- logwarn " IMPLEMENT_STANDARD_RTTIEXT($class,$impl_base)"
- logwarn " is not the same as detected base class, $base"
- }
- return "EXT"
- }
- }
-
- # inject a new macro before the first non-empty, non-comment, and
- # non-preprocessor line
- set aNewFileContent {}
- set injected 0
- set inc_found 0
- foreach line $aFileContent {
- if { ! $injected } {
- # add macro before first non-empty line after #includes
- if { [regexp {^\s*$} $line] } {
- } elseif { [regexp {^\s*\#\s*include} $line] } {
- set inc_found 1
- } elseif { $inc_found } {
- set injected 1
- lappend aNewFileContent "IMPLEMENT_STANDARD_RTTIEXT($class,$base)"
- if { ! [regexp "^IMPLEMENT_" $line] } {
- lappend aNewFileContent ""
- }
- }
- }
- lappend aNewFileContent $line
- }
- if { ! $injected } {
- lappend aNewFileContent "IMPLEMENT_STANDARD_RTTIEXT($class,$base)"
- }
- SaveListToFile ${filename}.$ext $aNewFileContent $aEOL
-
- return "EXT"
- }
-
- logwarn "Warning in ${hxxfile}: cannot find corresponding source file,"
- logwarn " will use inline version of DEFINE_STANDARD_RTTI"
- return "_INLINE"
-}
-
-# Parse source files and:
-#
-# - add second argument to macro DEFINE_STANDARD_RTTI specifying first base
-# class found in the class declaration;
-# - replace includes of Standard_DefineHandle.hxx by Standard_Type.hxx;
-# - add #includes for all classes used as argument to macro
-# STANDARD_TYPE(), except of already included ones
-#
-# If theCompatibleMode is false, in addition:
-# - removes macros IMPLEMENT_DOWNCAST() and IMPLEMENT_STANDARD_*();
-proc ConvertRtti {theProcessedPath theIncPaths theCheckMode theCompatibleMode \
- theHeaderExtensions theSourceExtensions} {
-
- # iterate by header and source files
- foreach aProcessedFile [glob -nocomplain -type f -directory $theProcessedPath *.{$theHeaderExtensions,$theSourceExtensions}] {
- set aProcessedFileName [file tail $aProcessedFile]
-
- set aProcessedFileContent [ReadFileToRawText $aProcessedFile]
-
- # find all declarations of classes with public base in this header file;
- # the result is stored in array inherits(class)
- set index 0
- array unset inherits
- set pattern_class {^\s*class\s+([A-Za-z_0-9:]+)\s*:\s*public\s+([A-Za-z_0-9:]+)\s*([,]?)}
- while {[regexp -start $index -indices -lineanchor $pattern_class $aProcessedFileContent location class base comma]} {
- set index [lindex $location 1]
-
- set class [eval string range \$aProcessedFileContent $class]
- set base [eval string range \$aProcessedFileContent $base]
-
- if { [info exists inherits($class)] } {
- set inherits($class,multiple) "found multiple declarations of class $class"
- } else {
- if { [lindex $comma 0] <= [lindex $comma 1] } {
- set inherits($class,multiple) "class $class uses multiple inheritance"
- }
- set inherits($class) $base
- }
- }
-
- set change_flag 0
-
- # find all instances of DEFINE_STANDARD_RTTI with single or two arguments
- set index 0
- set pattern_rtti {^(\s*DEFINE_STANDARD_RTTI)([_A-Z]+)?\s*\(\s*([A-Za-z_0-9,\s]+)\s*\)}
- while { [regexp -start $index -indices -lineanchor $pattern_rtti \
- $aProcessedFileContent location start suffix clist] } {
- set index [lindex $location 1]
-
- set start [eval string range \$aProcessedFileContent $start]
- set suffix [eval string range \$aProcessedFileContent $suffix]
- set clist [split [eval string range \$aProcessedFileContent $clist] ,]
-
- if { [llength $clist] == 1 } {
- set class [string trim [lindex $clist 0]]
- if { [info exists inherits($class)] } {
- if { ! $theCheckMode } {
- if { [info exists inherits($class,multiple)] } {
- logwarn "Warning in $aProcessedFileName: $inherits($class,multiple);"
- logwarn "macro DEFINE_STANDARD_RTTI is changed assuming it inherits $inherits($class), please check!"
- }
- set change_flag 1
- ReplaceSubString aProcessedFileContent $location \
- "${start}EXT($class,$inherits($class))" index
- }
- } else {
- logwarn "Error in $aProcessedFile: Macro DEFINE_STANDARD_RTTI used for class $class whose declaration is not found in this file, cannot fix"
- }
- } elseif { [llength $clist] == 2 } {
- set class [string trim [lindex $clist 0]]
- set base [string trim [lindex $clist 1]]
- if { ! [info exists inherits($class)] } {
- logwarn "Warning in $aProcessedFile: Macro DEFINE_STANDARD_RTTI used for class $class whose declaration is not found in this file"
- } elseif { $base != $inherits($class) && ! [info exists inherits($class,multiple)] } {
- logwarn "Warning in $aProcessedFile: Second argument in macro DEFINE_STANDARD_RTTI for class $class is $base while $class seems to inherit from $inherits($class)"
- }
- # convert intermediate version of macro DEFINE_STANDARD_RTTI
- # with two arguments to either _INLINE or EXT variant
- if { ! $theCheckMode && "$suffix" == "" } {
- set change_flag 1
- # try to inject macro IMPLEMENT_STANDARD_RTTIEXT in the
- # corresponding source file (or check it already present),
- # and depending on this, use either inline or out-of-line variant
- set rtti_suffix [DefineExplicitRtti $aProcessedFile $class $base $theSourceExtensions]
- ReplaceSubString aProcessedFileContent $location \
- "${start}${rtti_suffix}($class,$base)" index
- }
- }
- }
-
- # replace includes of Standard_DefineHandle.hxx by Standard_Type.hxx
-# set index 0
-# set pattern_definehandle {\#\s*include\s*<\s*Standard_DefineHandle.hxx\s*>}
-# while { [regexp -start $index -indices -lineanchor $pattern_definehandle $aProcessedFileContent location] } {
-# set index [lindex $location 1]
-# if { ! $theCheckMode } {
-# set change_flag 1
-# ReplaceSubString aProcessedFileContent $location "\#include <Standard_Type.hxx>" index
-# incr index -1
-# } else {
-# logwarn "Warning: $aProcessedFile contains obsolete forward declarations of Handle classes"
-# break
-# }
-# }
-
- # remove macros IMPLEMENT_DOWNCAST() and IMPLEMENT_STANDARD_*();
- if { ! $theCompatibleMode } {
- set index 0
- set first_newline \n\n
- set pattern_implement {\\?\n\s*IMPLEMENT_(DOWNCAST|STANDARD_[A-Z_]+|HARRAY1|HARRAY2|HUBTREE|HEBTREE|HSEQUENCE)\s*\([A-Za-z0-9_ ,]*\)\s*;?}
- while { [regexp -start $index -indices -lineanchor $pattern_implement $aProcessedFileContent location macro] } {
- set index [lindex $location 1]
- # macro IMPLEMENT_STANDARD_RTTIEXT is retained
- if { [eval string range \$aProcessedFileContent $macro] == "STANDARD_RTTIEXT" } {
- continue
- }
- if { ! $theCheckMode } {
- set change_flag 1
- ReplaceSubString aProcessedFileContent $location $first_newline index
-# set first_newline ""
- incr index -1
- } else {
- logwarn "Warning: $aProcessedFile contains deprecated macros IMPLEMENT_*"
- break
- }
- }
- }
-
- # find all uses of macro STANDARD_TYPE and method DownCast and ensure that
- # argument class is explicitly included
- set pattern_incbeg {\s*#\s*include\s*[\"<]\s*([A-Za-z0-9_/]*/)?}
- set pattern_incend {[.][a-zA-Z]+\s*[\">]}
- set index 0
- set addtype {}
- set pattern_type1 {STANDARD_TYPE\s*\(\s*([A-Za-z0-9_]+)\s*\)}
- while { [regexp -start $index -indices $pattern_type1 $aProcessedFileContent location name] } {
- set index [lindex $location 1]
- set name [eval string range \$aProcessedFileContent $name]
- if { ! [regexp -lineanchor "^${pattern_incbeg}${name}${pattern_incend}" $aProcessedFileContent] &&
- [lsearch -exact $addtype $name] < 0 &&
- [SearchForFile $theIncPaths $name.hxx]} {
- lappend addtype $name
- }
- }
- set pattern_type2 {Handle\s*\(\s*([A-Za-z0-9_]+)\s*\)\s*::\s*DownCast}
- while { [regexp -start $index -indices $pattern_type2 $aProcessedFileContent location name] } {
- set index [lindex $location 1]
- set name [eval string range \$aProcessedFileContent $name]
- if { ! [regexp -lineanchor "^${pattern_incbeg}${name}${pattern_incend}" $aProcessedFileContent] &&
- [lsearch -exact $addtype $name] < 0 &&
- [SearchForFile $theIncPaths $name.hxx]} {
- lappend addtype $name
- }
- }
- if { [llength $addtype] > 0 } {
- if { ! $theCheckMode } {
- set addinc ""
- foreach type $addtype {
- if { "$aProcessedFileName" != "$type.hxx" } {
- append addinc "\n#include <$type.hxx>"
- }
- }
- if { [regexp -indices ".*\n${pattern_incbeg}\[A-Za-z0-9_/\]+${pattern_incend}" $aProcessedFileContent location] } {
- set change_flag 1
- ReplaceSubString aProcessedFileContent $location "[eval string range \$aProcessedFileContent $location]$addinc" index
- } else {
- logerr "Error: $aProcessedFile: Cannot find #include statement to add more includes..."
- }
- } else {
- logwarn "Warning: $aProcessedFile: The following class names are used as arguments of STANDARD_TYPE"
- logwarn " macro, but not included directly: $addtype"
- break
- }
- }
-
- # apply changes to the header file
- if { $change_flag } {
- SaveTextToFile $aProcessedFile $aProcessedFileContent
- }
- }
-}
-
-# replace all forward declarations of "class Handle(...)" with fwd of "class ..."
-proc ConvertHandle {theTargetPath theIncPaths theCheckMode theExtensions} {
-
- # iterate by header files
- foreach aHeader [glob -nocomplain -type f -directory $theTargetPath *.{$theExtensions}] {
- set aCurrentHeaderName [file tail $aHeader]
-
- # skip gxx files, as names Handle_xxx used there are in most cases
- # placeholders of the argument types substituted by #define
- if {[file extension $aHeader] == ".gxx"} {
- continue
- }
-
- # read the content of the header
- if { [catch {set fd [open $aHeader rb]}] } {
- logerr "Error: cannot open $aHeader"
- continue
- }
- close $fd
-
- set aHeaderContent [ReadFileToList $aHeader aHeaderRawContent aHeaderEOL]
-
- set anUpdateHeader false
-
- # if file contains "slots:" or "signals:", assume it defines some QObject
- # class(es).
- # In this case, type names "Handle_T" will not be replaced by Handle(T) to
- # prevent failure of compilation of MOC code if such types are used in
- # slots or signals (MOC does not expand macros).
- # Forward declaration of a Handle will be then replaced by #include of
- # corresponding class header (if such header is found), assuming that name
- # typedefed Handle_T is defined in corresponding header (as typedef).
- set isQObject [expr [regexp "Q_OBJECT" $aHeaderContent] && [regexp "(slots|signals)\s*:" $aHeaderContent]]
-
- # replace all IDs with prefix Handle_ by use of Handle() macro
- if { ! $isQObject } {
- set anUpdatedHeaderContent {}
- set pattern_handle {\mHandle_([A-Za-z0-9_]+)}
- foreach line $aHeaderContent {
- # do not touch typedefs, #include, and #if... statements
- if { [regexp {^\s*typedef} $line] ||
- [regexp {^\s*\#\s*include} $line] || [regexp {^\s*\#\s*if} $line] } {
- lappend anUpdatedHeaderContent $line
- continue
- }
-
- # in other preprocessor statements, skip first expression to avoid
- # replacements in #define Handle_... and similar cases
- set index 0
- if { [regexp -indices {\s*#\s*[A-Za-z]+\s+[^\s]+} $line location] } {
- set index [expr 1 + [lindex $location 1]]
- }
-
- # replace Handle_T by Handle(T)
- while { [regexp -start $index -indices $pattern_handle $line location class] } {
- set index [lindex $location 1]
-
- set class [eval string range \$line $class]
-# puts "Found: [eval string range \$line $location]"
-
- if { ! $theCheckMode } {
- set anUpdateHeader true
- ReplaceSubString line $location "Handle($class)" index
- } else {
- logwarn "Warning: $aHeader refers to IDs starting with \"Handle_\" which are likely"
- logwarn " instances of OCCT Handle classes (e.g. \"$class\"); these are to be "
- logwarn " replaced by template opencascade::handle<> or legacy macro Handle()"
- set index -1 ;# to break outer cycle
- break
- }
- }
- lappend anUpdatedHeaderContent $line
-
- if { $index < 0 } {
- set anUpdatedHeaderContent $aHeaderContent
- break
- }
- }
- set aHeaderContent $anUpdatedHeaderContent
- }
-
- # replace NS::Handle(A) by Handle(NS::A)
- set anUpdatedHeaderContent {}
- set pattern_nshandle {([A-Za-z0-9_]+)\s*::\s*Handle\s*\(\s*([A-Za-z0-9_]+)\s*\)}
- foreach line $aHeaderContent {
- set index 0
-
- while { [regexp -start $index -indices -lineanchor $pattern_nshandle $line location scope class]} {
- set index [lindex $location 1]
-
- set scope [eval string range \$line $scope]
- set class [eval string range \$line $class]
-
- if { ! $theCheckMode } {
- set anUpdateHeader true
- ReplaceSubString line $location "Handle(${scope}::${class})" index
- } else {
- logwarn "Warning in $aHeader: usage of Handle macro inside scope is incorrect: [eval string range \$line $location]"
- set index -1 ;# to break outer cycle
- break
- }
- }
- lappend anUpdatedHeaderContent $line
-
- if { $index < 0 } {
- set anUpdatedHeaderContent $aHeaderContent
- break
- }
- }
- set aHeaderContent $anUpdatedHeaderContent
-
- # remove all forward declarations of Handle classes
- set anUpdatedHeaderContent {}
- set aFwdHandlePattern {^\s*class\s+Handle[_\(]([A-Za-z0-9_]+)[\)]?\s*\;\s*$}
- foreach aHeaderContentLine $aHeaderContent {
- if {[regexp $aFwdHandlePattern $aHeaderContentLine dummy aForwardDeclHandledClass]} {
- if {$theCheckMode} {
- loginfo "Info: $aHeader contains statement involving forward decl of Handle_$aForwardDeclHandledClass"
- } else {
- # replace by forward declaration of a class or its include unless
- # it is already declared or included
- if { ! [regexp "\#\\s*include\\s*\[\<\"\]\\s*(\[A-Za-z0-9_/\]*/)?$aForwardDeclHandledClass\[.\]hxx\\s*\[\>\"\]" $aHeaderContent] } {
- if { $isQObject && "$aCurrentHeaderName" != "${aForwardDeclHandledClass}.hxx" } {
- lappend anUpdatedHeaderContent "#include <${aForwardDeclHandledClass}.hxx>"
- if { ! [SearchForFile $theIncPaths ${aForwardDeclHandledClass}.hxx] } {
- loginfo "Warning: include ${aForwardDeclHandledClass}.hxx added in $aHeader, assuming it exists and defines Handle_$aForwardDeclHandledClass"
- }
- } elseif { ! [regexp "^\s*class\s+$aForwardDeclHandledClass\s*;" $aHeaderContent] } {
- lappend anUpdatedHeaderContent "class $aForwardDeclHandledClass;"
- }
- }
- set anUpdateHeader true
- continue
- }
- }
- lappend anUpdatedHeaderContent $aHeaderContentLine
- }
- set aHeaderContent $anUpdatedHeaderContent
-
- # remove all typedefs using Handle() macro to generate typedefed name
- set anUpdatedHeaderContent {}
- set aTypedefHandlePattern {^\s*typedef\s+[_A-Za-z\<\>, \s]+\s+Handle\([A-Za-z0-9_]+\)\s*\;\s*$}
- foreach aHeaderContentLine $aHeaderContent {
- if {[regexp $aTypedefHandlePattern $aHeaderContentLine aFoundPattern]} {
- if {$theCheckMode} {
- loginfo "Info: $aHeader contains typedef using Handle macro to generate name: $aFoundPattern"
- } else {
- set anUpdateHeader true
- continue
- }
- }
- lappend anUpdatedHeaderContent $aHeaderContentLine
- }
- set aHeaderContent $anUpdatedHeaderContent
-
- # remove all #include statements for files starting with "Handle_"
- set anUpdatedHeaderContent {}
- set anIncHandlePattern {^\s*\#\s*include\s+[\<\"]\s*(Handle[\(_][A-Za-z0-9_.]+[\)]?)\s*[\>\"]\s*$}
- foreach aHeaderContentLine $aHeaderContent {
- if {[regexp $anIncHandlePattern $aHeaderContentLine aFoundPattern anHxxName] &&
- ! [SearchForFile $theIncPaths $anHxxName]} {
- if {$theCheckMode} {
- loginfo "Info: $aHeader includes missing header: $anHxxName"
- } else {
- set anUpdateHeader true
- continue
- }
- }
- lappend anUpdatedHeaderContent $aHeaderContentLine
- }
-
- # save result
- if {$anUpdateHeader} {
- SaveListToFile $aHeader $anUpdatedHeaderContent $aHeaderEOL
- }
- }
-}
-
-# Replaces C-style casts of Handle object to Handle to derived type
-# by call to DownCast() method
-proc ConvertCStyleHandleCast {pkpath theExtensions theCheckMode} {
-
- # iterate by header files
- foreach afile [glob -nocomplain -type f -directory $pkpath *.\{$theExtensions\}] {
- set hxx [ReadFileToRawText $afile]
-
- set change_flag 0
-
- # replace ((Handle(A)&)b) by Handle(A)::DownCast(b)
- set index 0
- set pattern_refcast1 {\(\(\s*Handle\s*\(\s*([A-Za-z0-9_]+)\s*\)\s*[&]\s*\)\s*([A-Za-z0-9_]+)\)}
- while { [regexp -start $index -indices -lineanchor $pattern_refcast1 $hxx location class var]} {
- set index [lindex $location 1]
-
- set class [eval string range \$hxx $class]
- set var [eval string range \$hxx $var]
-
- if { ! $theCheckMode } {
- set change_flag 1
- ReplaceSubString hxx $location "Handle($class)::DownCast ($var)" index
- } else {
- logwarn "Warning in $afile: C-style cast: [eval string range \$hxx $location]"
- }
- }
-
- # replace (Handle(A)&)b, by Handle(A)::DownCast(b),
- # replace (Handle(A)&)b; by Handle(A)::DownCast(b);
- # replace (Handle(A)&)b) by Handle(A)::DownCast(b))
- set index 0
- set pattern_refcast2 {\(\s*Handle\s*\(\s*([A-Za-z0-9_]+)\s*\)\s*[&]\s*\)\s*([A-Za-z0-9_]+)(\s*[,;\)])}
- while { [regexp -start $index -indices -lineanchor $pattern_refcast2 $hxx location class var end]} {
- set index [lindex $location 1]
-
- set class [eval string range \$hxx $class]
- set var [eval string range \$hxx $var]
- set end [eval string range \$hxx $end]
-
- if { ! $theCheckMode } {
- set change_flag 1
- ReplaceSubString hxx $location "Handle($class)::DownCast ($var)$end" index
- } else {
- logwarn "Warning in $afile: C-style cast: [eval string range \$hxx $location]"
- }
- }
-
- # replace (*((Handle(A)*)&b)) by Handle(A)::DownCast(b)
- set index 0
- set pattern_ptrcast1 {([^A-Za-z0-9_]\s*)\(\s*[*]\s*\(\(Handle\s*\(\s*([A-Za-z0-9_]+)\s*\)\s*[*]\s*\)\s*[&]\s*([A-Za-z0-9_]+)\s*\)\s*\)}
- while { [regexp -start $index -indices -lineanchor $pattern_ptrcast1 $hxx location start class var] } {
- set index [lindex $location 1]
-
- set start [eval string range \$hxx $start]
- set class [eval string range \$hxx $class]
- set var [eval string range \$hxx $var]
-
- if { ! $theCheckMode } {
- set change_flag 1
- ReplaceSubString hxx $location "${start}Handle($class)::DownCast ($var)" index
- } else {
- logwarn "Warning in $afile: C-style cast: [eval string range \$hxx $location]"
- }
- }
-
- # replace *((Handle(A)*)&b) by Handle(A)::DownCast(b)
- set index 0
- set pattern_ptrcast2 {[*]\s*\(\(Handle\s*\(\s*([A-Za-z0-9_]+)\s*\)\s*[*]\s*\)\s*[&]\s*([A-Za-z0-9_]+)\s*\)}
- while { [regexp -start $index -indices -lineanchor $pattern_ptrcast2 $hxx location class var] } {
- set index [lindex $location 1]
-
- set class [eval string range \$hxx $class]
- set var [eval string range \$hxx $var]
-
- if { ! $theCheckMode } {
- set change_flag 1
- ReplaceSubString hxx $location "Handle($class)::DownCast ($var)" index
- } else {
- logwarn "Warning in $afile: C-style cast: [eval string range \$hxx $location]"
- }
- }
-
- # replace (*(Handle(A)*)&b) by Handle(A)::DownCast(b)
- set index 0
- set pattern_ptrcast3 {([^A-Za-z0-9_]\s*)\(\s*[*]\s*\(Handle\s*\(\s*([A-Za-z0-9_]+)\s*\)\s*[*]\s*\)\s*[&]\s*([A-Za-z0-9_]+)\s*\)}
- while { [regexp -start $index -indices -lineanchor $pattern_ptrcast3 $hxx location start class var] } {
- set index [lindex $location 1]
-
- set start [eval string range \$hxx $start]
- set class [eval string range \$hxx $class]
- set var [eval string range \$hxx $var]
-
- if { ! $theCheckMode } {
- set change_flag 1
- ReplaceSubString hxx $location "${start}Handle($class)::DownCast ($var)" index
- } else {
- logwarn "Warning in $afile: C-style cast: [eval string range \$hxx $location]"
- }
- }
-
- # replace *(Handle(A)*)&b, by Handle(A)::DownCast(b),
- # replace *(Handle(A)*)&b; by Handle(A)::DownCast(b);
- # replace *(Handle(A)*)&b) by Handle(A)::DownCast(b))
- set index 0
- set pattern_ptrcast4 {[*]\s*\(Handle\s*\(\s*([A-Za-z0-9_]+)\s*\)\s*[*]\s*\)\s*[&]\s*([A-Za-z0-9_]+)(\s*[,;\)])}
- while { [regexp -start $index -indices -lineanchor $pattern_ptrcast4 $hxx location class var end] } {
- set index [lindex $location 1]
-
- set class [eval string range \$hxx $class]
- set var [eval string range \$hxx $var]
- set end [eval string range \$hxx $end]
-
- if { ! $theCheckMode } {
- set change_flag 1
- ReplaceSubString hxx $location "Handle($class)::DownCast ($var)$end" index
- } else {
- logwarn "Warning in $afile: C-style cast: [eval string range \$hxx $location]"
- }
- }
-
- # just warn if some casts to & are still there
- set index 0
- set pattern_refcast0 {\(\s*Handle\s*\(\s*([A-Za-z0-9_]+)\s*\)\s*[&]\s*\)\s*([A-Za-z0-9_]+)}
- while { [regexp -start $index -indices -lineanchor $pattern_refcast0 $hxx location class var] } {
- set index [lindex $location 1]
-
- set var [eval string range \$hxx $var]
- if { "$var" != "const" && "$var" != "Standard_OVERRIDE" } {
- logwarn "Warning in $afile: C-style cast: [eval string range \$hxx $location]"
- }
- }
-
- # replace const Handle(A)& a = Handle(B)::DownCast (b); by
- # Handle(A) a ( Handle(B)::DownCast (b) );
- set index 0
- set pattern_refvar {\mconst\s+Handle\s*\(\s*([A-Za-z0-9_]+)\s*\)\s*[&]\s*([A-Za-z0-9_]+)\s*=\s*(Handle\s*\(\s*[A-Za-z0-9_]+\s*\)\s*::\s*DownCast\s*\([^;]+);}
- while { [regexp -start $index -indices -lineanchor $pattern_refvar $hxx location class var hexpr] } {
- set index [lindex $location 1]
-
- set class [eval string range \$hxx $class]
- set var [eval string range \$hxx $var]
- set hexpr [eval string range \$hxx $hexpr]
-
- if { ! $theCheckMode } {
- set change_flag 1
- ReplaceSubString hxx $location "Handle($class) $var ($hexpr);" index
- } else {
- logwarn "Warning in $afile: C-style cast: [eval string range \$hxx $location]"
- }
- }
-
- # apply changes to the header file
- if { $change_flag } {
- SaveTextToFile $afile $hxx
- }
- }
-}
-
-# Remove unnecessary forward declaration of a class if found immediately before
-# its use in DEFINE_STANDARD_HANDLE
-proc RemoveFwdClassForDefineStandardHandle {pkpath theCheckMode} {
-
- # iterate by header files
- foreach afile [glob -nocomplain -type f -directory $pkpath *.?xx] {
-
- # load a file
- if { [catch {set fd [open $afile rb]}] } {
- logerr "Error: cannot open $afile"
- continue
- }
- set hxx [read $fd]
- close $fd
-
- set change_flag 0
-
- # replace
- set index 0
- set pattern_fwddef {class\s+([A-Za-z0-9_]+)\s*;\s*DEFINE_STANDARD_HANDLE\s*\(\s*([A-Za-z0-9_]+)\s*,\s*([A-Za-z0-9_]+)\s*\)[ \t]*}
- while { [regexp -start $index -indices -lineanchor $pattern_fwddef $aProcessedFileContent location fwdclass class1 class2] } {
- set index [lindex $location 1]
-
- set fwdclass [eval string range \$aProcessedFileContent $fwdclass]
- set class1 [eval string range \$aProcessedFileContent $class1]
- set class2 [eval string range \$aProcessedFileContent $class2]
-
- if { $fwdclass != $class1 } {
- continue
- }
-
- if { ! $theCheckMode } {
- set change_flag 1
- ReplaceSubString aProcessedFileContent $location "DEFINE_STANDARD_HANDLE($class1, $class2)" index
- incr index -1
- } else {
- logwarn "Warning: $aProcessedFile contains unnecessary forward declarations of class $fwdclass"
- break
- }
- }
-
- # apply changes to the header file
- if { $change_flag } {
- SaveTextToFile $afile $hxx
- }
- }
-}
-
-# auxiliary: modifies variable text_var replacing part defined by two indices
-# given in location by string str, and updates index_var variable to point to
-# the end of the replaced string. Variable flag_var is set to 1.
-proc ReplaceSubString {theSource theLocation theSubstitute theEndIndex} {
-
- upvar $theSource aSource
- upvar $theEndIndex anEndIndex
-
- set aStartIndex [lindex $theLocation 0]
- set anEndIndex [lindex $theLocation 1]
- set aSource [string replace "$aSource" $aStartIndex $anEndIndex "$theSubstitute"]
- set anEndIndex [expr $aStartIndex + [string length $theSubstitute]]
-}
-
-# Save theFileContent some text to theFilePath file
-proc SaveTextToFile {theFilePath theFileContent} {
- if { [catch {set aFile [open ${theFilePath} w];} aReason] } {
- logerr "Error: cannot open file \"${theFilePath}\" for writing: $aReason"
- return
- }
-
- fconfigure $aFile -translation binary
- puts -nonewline $aFile "$theFileContent"
- close $aFile
-
- loginfo "File $theFilePath modified"
-}
-
-# read content from theFilePath to list, theFileContent is a raw content of the file
-proc ReadFileToList {theFilePath theFileContent theFileEOL} {
- upvar $theFileContent aFileContent
- upvar $theFileEOL aFileEOL
-
- if {"$theFilePath" == "" || ![file exists $theFilePath]} {
- return
- }
-
- if { [catch {set aFile [open ${theFilePath} r]} aReason] } {
- logerr "Error: cannot open file \"${theFilePath}\" for reading: $aReason"
- return
- }
-
- fconfigure $aFile -translation binary
- set aFileContent [read $aFile]
- close $aFile
-
- # detect DOS end-of-lines
- if { [regexp "\r\n" $aFileContent] } {
- set aFileEOL "\r\n"
- set aList [split [regsub -all "\r\n" $aFileContent "\n"] "\r\n"]
- } else {
- # standard UNIX end-of-lines
- set aFileEOL "\n"
- set aList [split $aFileContent "\n"]
- }
-
- return $aList
-}
-
-# read content from theFilePath to raw text (with unix eol)
-proc ReadFileToRawText {theFilePath} {
- if {"$theFilePath" == "" || ![file exists $theFilePath]} {
- return
- }
-
- if { [catch {set aFile [open ${theFilePath} r]} aReason] } {
- logerr "Error: cannot open file \"${theFilePath}\" for reading: $aReason"
- return
- }
-
- fconfigure $aFile -translation binary
- set aFileContent [read $aFile]
- close $aFile
-
- set aFileEOL "\r"
- if [regexp "\r\n" $aFileContent] {
- set aFileEOL "\r\n"
- } elseif [regexp "\n" $aFileContent] {
- set aFileEOL "\n"
- }
-
- # convert to unix eol
- if {"$aFileEOL" != "\n"} {
- regsub -all {$aFileEOL} $aFileContent "\n" aFileContent
- }
-
- return $aFileContent
-}
-
-# auxiliary: saves content of "theData" list to "theFilePath"
-proc SaveListToFile {theFilePath theData {theEOL "auto"}} {
- set anUsedEol $theEOL
-
- if {"$anUsedEol" == ""} {
- set anUsedEol "auto"
- }
-
- # if the file exists and "eol choice" is "auto", detect the file eol
- if {$anUsedEol == "auto" && [file exists $theFilePath]} {
- if { [catch {set aFile [open ${theFilePath} r]} aReason] } {
- logerr "Error: cannot open file \"${theFilePath}\" for reading: $aReason"
- } else {
- fconfigure $aFile -translation binary
- set aFileContent [read $aFile]
- close $aFile
-
- set anUsedEol "\r"
- if [regexp "\r\n" $aFileContent] {
- set anUsedEol "\r\n"
- } elseif [regexp "\n" $aFileContent] {
- set anUsedEol "\n"
- }
- }
- }
-
- # write
- if { [catch {set aFile [open ${theFilePath} w];} aReason] } {
- logerr "Error: cannot open file \"${theFilePath}\" for writing: $aReason"
- return
- }
-
- fconfigure $aFile -translation binary
- puts -nonewline $aFile [join $theData $anUsedEol]
- close $aFile
-
- loginfo "File $theFilePath modified"
-}
-
-# collect all subdirs of theBaseDir
-proc CollectDirStructure {theBaseDir} {
- set aDirs [glob -nocomplain -directory $theBaseDir -type d *]
-
- set aSubDirs {}
- foreach aDir $aDirs {
- foreach aSubDir [CollectDirStructure $aDir] {
- lappend aSubDirs $aSubDir
- }
- }
-
- foreach aSubDir $aSubDirs {
- lappend aDirs $aSubDir
- }
-
- return $aDirs
-}
-
-# check existence of theFileName file in several folders (theIncPaths)
-proc SearchForFile {theIncPaths theFileName} {
- foreach aPath $theIncPaths {
- if {[file exists "${aPath}/${theFileName}"]} {
- return true
- }
- }
-
- return false
-}
-
-# auxiliary: parse the string to comment and not comment parts
-# variable "_cmnt" should be created before using the operation, it will save comment part of line
-# variable "_isMulti" should be created before the loop, equal to "false" if first line in the loop is not multi-comment line
-proc _check_line { line } {
- upvar _isMulti _isMulti
- upvar _cmnt _cmnt
-
- set string_length [string length $line]
- set c_b $string_length
- set mc_b $string_length
- set mc_e $string_length
- regexp -indices {//} $line c_b
- regexp -indices {/\*} $line mc_b
- regexp -indices {\*/} $line mc_e
- if {!${_isMulti}} {
- if {[lindex $c_b 0] < [lindex $mc_b 0] && [lindex $c_b 0] < [lindex $mc_e 0]} {
- set notComment_c [string range $line 0 [expr [lindex $c_b 0]-1]]
- set Comment_c [string range $line [lindex $c_b 0] end]
- set _cmnt $_cmnt$Comment_c
- return $notComment_c
- } elseif {[lindex $mc_b 0] < [lindex $c_b 0] && [lindex $mc_b 0] < [lindex $mc_e 0]} {
- set _isMulti true
- set _cmnt "${_cmnt}/*"
- set notComment_mc [string range $line 0 [expr [lindex $mc_b 0]-1]]
- set Comment_mc [string range $line [expr [lindex $mc_b 1]+1] end]
- return [_check_line "${notComment_mc}[_check_line ${Comment_mc}]"]
- } elseif {[lindex $mc_e 0] < [lindex $c_b 0] && [lindex $mc_e 0] < [lindex $mc_b 0]} {
- set notComment_mc [string range $line [expr [lindex $mc_e 1]+1] end]
- set Comment_mc [string range $line 0 [expr [lindex $mc_e 0]-1]]
- set _cmnt "${_cmnt}${Comment_mc}*/"
- set chk [_check_line ${notComment_mc}]
- set _isMulti true
- return $chk
- }
- } else {
- if {[lindex $mc_e 0] < [lindex $mc_b 0]} {
- set _isMulti false
- set Comment_mc [string range $line 0 [lindex $mc_e 1]]
- set notComment_mc [string range $line [expr [lindex $mc_e 1]+1] end]
- set _cmnt $_cmnt$Comment_mc
- return [_check_line $notComment_mc]
- } elseif {[lindex $mc_b 0] < [lindex $mc_e 0] } {
- set notComment_mc [string range $line 0 [expr [lindex $mc_b 0]-1]]
- set Comment_mc [string range $line [expr [lindex $mc_b 1]+1] end]
- set _cmnt "${_cmnt}/*"
- set chk [_check_line "${notComment_mc}[_check_line ${Comment_mc}]"]
- set _isMulti false
- return $chk
- } else {
- set _cmnt $_cmnt$line
- return ""
- }
- }
- return $line
-}
-
-# Create Tk-based logger which allows convenient consulting the upgrade process.
-proc _create_logger {} {
- if { [catch {winfo exists .h}] } {
- logerr "Error: Tk commands are not available, cannot create UI!"
- return
- }
-
- if { ![winfo exists .h ] } {
- toplevel .h
- wm title .h "Conversion log"
- wm geometry .h +320+200
- wm resizable .h 0 0
-
- text .h.t -yscrollcommand {.h.sbar set}
- scrollbar .h.sbar -orient vertical -command {.h.t yview}
-
- pack .h.sbar -side right -fill y
- pack .h.t
- }
-}
-
-set LogFilePath ""
-
-# Puts the passed string into Tk-based logger highlighting it with the
-# given color for better view. If no logger exists (-wlog option was not
-# activated), the standard output is used.
-proc _logcommon {theLogMessage {theMessageColor ""}} {
- global LogFilePath
-
- if {"$LogFilePath" != ""} {
- if { ! [catch {set aLogFile [open ${LogFilePath} a];} aReason] } {
- set t [clock milliseconds]
- set aTimeAndMessage [format "\[%s\] %s" \
- [clock format [expr {$t / 1000}] -format %T] \
- $theLogMessage \
- ]
-
-
- puts $aLogFile $aTimeAndMessage
- close $aLogFile
- } else {
- logerr "Error: cannot open $LogFilePath log file due to $aReason"
- }
- }
-
- if { ! [catch {winfo exists .h} res] && $res } {
- .h.t insert end "$theLogMessage\n"
-
- if {$theLogMessage != ""} {
- # We use the current number of lines to generate unique tag in the text
- set aLineNb [lindex [split [.h.t index "end - 1 line"] "."] 0]
-
- .h.t tag add my_tag_$aLineNb end-2l end-1l
- .h.t tag configure my_tag_$aLineNb -background $theMessageColor
- }
-
- update
- } else {
- puts $theLogMessage
- }
-}
-
-# Puts information message to logger.
-proc loginfo {a} {
- _logcommon $a
-}
-
-# Puts warning message to logger.
-proc logwarn {a} {
- _logcommon $a "pink"
-}
-
-# Puts error message to logger.
-proc logerr {a} {
- _logcommon $a "red"
-}
+++ /dev/null
-// This is sample C++ file intended for testing and verifyig automatic upgrade
-// script. Copy it with extension .cxx and apply upgrade procedure to see
-// the result, as follows:
-// > upgrade.bat -src=./adm -inc=./src -recurse -all
-
-// Include of Geom_Line.hxx and Geom_Plane.hxx should be added below
-#include <gp.hxx>
-
-//========================================================================
-// OCCT 7.0
-//========================================================================
-
-//------------------------------------------------------------------------
-// Option -rtti
-//------------------------------------------------------------------------
-
-// Should be replaced by <Standard_Type.hxx>
-#include <Standard_DefineHandle.hxx>
-
-class A_0
-{
-}
-
-class B_1 :
-public A_0
-{
- // second argument "A_0" should be added
- DEFINE_STANDARD_RTTI(B_1)
-};
-
-class C_2 : public Standard_Transient, B_1
-{
- // second argument "Standard_Transient" should be added
- DEFINE_STANDARD_RTTI(C_2)
-};
-
-void for_rtti ()
-{
- Handle(Geom_Curve) aCurve = new Geom_Line (gp::Origin(), gp::DZ());
- Handle(Geom_Line) aLine = Handle(Geom_Line)::DownCast (aCurve);
-}
-
-// should be removed
-IMPLEMENT_DOWNCAST(A)
-IMPLEMENT_STANDARD_RTTIEXT(A, B)
-
-//------------------------------------------------------------------------
-// Option -fwd
-//------------------------------------------------------------------------
-
-// force safe mode used for Qt objects
-Q_OBJECT
-slots:
-
-// these includes should be recognized as corresponding to forward declarations
-#include <occt/TColStd_HArray1OfReal.hxx>
-
-// these declarations should be just removed
-class Handle(TColStd_HArray1OfReal);
-
-// should be replaced by include of corresponding header
-class TColStd_Array1OfReal;
-class Handle(Geom_Curve);
-
-// check that trailing spaces at the following line are preserved
-void ff();
-
> mingw32-make install
or
> make install
-
-@section build_occt_genproj Building with Genproj tool
-
-**genproj** is a legacy tool (originated from command "wgenproj" in WOK) for generation of Visual Studio, Code::Blocks, Qt Creator (qmake), and XCode project files for building Open CASCADE Technology.
-These project files are placed inside OCCT directory (in *adm* subfolder) and use relative paths, thus can be moved together with sources.
-The project files included in official distribution of OCCT are generated by this tool.
-
-@note If you have official distribution with project files included, you can use them directly without a need to call **genproj**.
-
-**genproj** is a less flexible alternative to use of CMake build system (see @ref build_occt_win_cmake), but still has some small features useful for OCCT development.
-
-@subsection build_genproj Configuration process
-
-The environment is defined in the file *custom.sh* (on Linux and macOS) or *custom.bat* (on Windows) which can be edited directly:
-
-* `ARCH` -- architecture (32 or 64), affects only `PATH` variable for execution
-* `HAVE_*` -- flags to enable or disable use of optional third-party products
-* `CSF_OPT_*` -- paths to search for includes and binaries of all used third-party products
-* `SHORTCUT_HEADERS` -- defines method for population of folder *inc* by header files. Supported methods are:
- * *Copy* - headers will be copied from *src*;
- * *ShortCut* - short-cut header files will be created, redirecting to same-named header located in *src*;
- * *HardLink* - hard links to headers located in *src* will be created.
-* `VCVER` -- specification of format of project files, defining also version of Visual Studio to be used, and default name of the sub-folder for binaries:
-* Add paths to includes of used third-party libraries in variable `CSF_OPT_INC`.
-* Add paths to their binary libraries in variable `CSF_OPT_LIB64`.
-* For optional third-party libraries, set corresponding environment variable `HAVE_<LIBRARY_NAME>` to either *false*, e.g. `export HAVE_FREEIMAGE=false`.
-
-| VCVER | Visual Studio version | Windows Platform | Binaries folder name |
-|-----------|-----------------------|----------------------------------|----------------------|
-| vc10 | 2010 (10) | Desktop (Windows API) | vc10 |
-| vc11 | 2012 (11) | Desktop (Windows API) | vc11 |
-| vc12 | 2013 (12) | Desktop (Windows API) | vc12 |
-| vc14 | 2015 (14) | Desktop (Windows API) | vc14 |
-| vc14-uwp | 2015 (14) | UWP (Universal Windows Platform) | vc14-uwp |
-| vc141 | 2017 (15) | Desktop (Windows API) | vc14 |
-| vc141-uwp | 2017 (15) | UWP (Universal Windows Platform) | vc14-uwp |
-| vc142 | 2019 (16) | Desktop (Windows API) | vc14 |
-| vc142-uwp | 2019 (16) | UWP (Universal Windows Platform) | vc14-uwp |
-| vc143 | 2022 (17) | Desktop (Windows API) | vc14 |
-
-Alternatively, you can launch **genconf**, a GUI tool allowing to configure build options interactively.
-That tool will analyze your environment and propose you to choose available options:
-
-* Type and version of project files to generate (from the list of installed ones, detected by presence of environment variables like `VS100COMNTOOLS` on Windows platform).
-* Method to populate folder *inc* (short-cuts by default).
-* Location of third-party libraries (usually downloaded from OCCT web site, see above).
-* Path to common directory where third-party libraries are located (optional).
-* Paths to headers and binaries of the third-party libraries (found automatically basing on previous options; click button "Reset" to update).
-* Generation of PDB files within Release build ("Release with Debug info", false by default).
-
-Below are screenshots of **genconf** tool on various platforms (Windows and Linux):
-@figure{/build/build_occt/images/genconf_windows.png}
-@figure{/build/build_occt/images/genconf_linux.png}
-
-Click "Save" to store the specified configuration in *custom.bat* (Windows) or *custom.sh* (other systems) file.
-
-@subsection build_genproj_generate Projects generation
-
-Launch **genproj** to update content of *inc* folder and generate project files after changes in OCCT code affecting layout or composition of source files.
-
-@note To use **genproj** and **genconf** tools you need to have Tcl installed and accessible by `PATH`.
-If Tcl is not found, the tool may prompt you to enter the path to directory where Tcl can be found.
-
-~~~~
- $ genproj.bat
-~~~~
-
-Note that if *custom.bat* is not present, **genproj** will start **genconf** to configure environment.
-
-@subsection build_genproj_build Building
-
-@subsubsection build_msvc_build Visual Studio
-
-Launch *msvc.bat* to start Visual Studio with all necessary environment variables defined, and build the whole solution or required toolkits.
-
-The MSVC project files are located in folders <i>adm\\msvc\\vc...</i>.
-Binaries are produced in *win32* or *win64* folders.
-
-To start DRAW, launch *draw.bat*.
-
-@subsubsection build_codeblocks_build Code::Blocks
-
-Code::Blocks is a cross-platform IDE which can be used for building OCCT on Linux, macOS and Windows platforms.
-The generated Code::Blocks project could be found within subfolder *adm/<OS>/cbp*.
-
-To start **Code::Blocks**, launch script *codeblocks.sh*.
-To build all toolkits, click **Build->Build workspace** in the menu bar.
-
-To start *DRAWEXE*, which has been built with **Code::Blocks** on Mac OS X, run the script
-~~~~
- ./draw.sh cbp [d]
-~~~~
-Option *d* is used if OCCT has been built in **Debug** mode.
-
-@subsubsection build_occt_macos_xcode XCode
-
-XCode is an IDE for development on macOS platform and targeting macOS and iOS platforms.
-**genproj** tool comes with a legacy XCode project files generator, but CMake is a preferred way for building OCCT on macOS platform.
-
-To start **XCode**, launch script *xcode.sh*.
-To build a certain toolkit, select it in **Scheme** drop-down list in XCode toolbar, press **Product** in the menu and click **Build** button.
-
-To build the entire OCCT:
-* Create a new empty project (select **File -> New -> Project -> Empty project** in the menu; input the project name, e.g. *OCCT*; then click **Next** and **Create**).
-* Drag and drop the *OCCT* folder in the created *OCCT* project in the Project navigator.
-* Select **File -> New -> Target -> Aggregate** in the menu.
-* Enter the project name (e.g. *OCCT*) and click **Finish**. The **Build Phases** tab will open.
-* Click "+" button to add the necessary toolkits to the target project. It is possible to select all toolkits by pressing **Command+A** combination.
-
-To start *DRAWEXE*, which has been built with XCode on Mac OS X, perform the following steps:
-
-1.Open Terminal application
-2.Enter `<OCCT_ROOT_DIR>`:
-~~~~
- cd \<OCCT_ROOT_DIR\>
-~~~~
-3.Run the script
-~~~~
- ./draw.sh xcd [d]
-~~~~
-
-Option *d* is used if OCCT has been built in **Debug** mode.
+++ /dev/null
-#!/bin/bash
-
-# Helper script to configure environment for genproj tool.
-# Running it requires that Tcl should be in the PATH
-
-# initialize environment
-aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
-if [ ! -e "${aScriptPath}/env.sh" ]; then
- cat ${aScriptPath}/adm/templates/env.sh | sed -e '/__CASROOT__/d' > ${aScriptPath}/env.sh
-fi
-
-if [ -e "${aScriptPath}/custom.sh" ]; then source "${aScriptPath}/custom.sh"; fi
-
-# run GUI tool
-tclsh "${aScriptPath}/adm/genconf.tcl"
+++ /dev/null
-@echo off
-
-rem Helper script to configure environment for building with genproj tool.
-rem Running it requires that Tcl should be in the PATH
-
-SET "OLD_PATH=%PATH%"
-
-rem create env.bat if it does not exist yet
-if not exist "%~dp0env.bat" (
- type "%~dp0adm\templates\env.bat" | findstr /i /v "__CASROOT__" > "%~dp0env.bat"
-)
-call "%~dp0env.bat"
-
-rem find Tcl
-set "TCL_EXEC=tclsh.exe"
-for %%X in (%TCL_EXEC%) do (set TCL_FOUND=%%~$PATH:X)
-
-set "TCL_EXEC2=tclsh86.exe"
-if not defined TCL_FOUND (
- for %%X in (%TCL_EXEC2%) do (
- set TCL_FOUND=%%~$PATH:X
- set TCL_EXEC=%TCL_EXEC2%
- )
-)
-
-rem Prompt the user to specify location of Tcl if not found in PATH
-if not defined TCL_FOUND (
- set /P TCL_PATH=This script requires Tcl, but tclsh.exe cannot be found in PATH.^
-
-Please enter path to folder containing tclsh.exe^
-
-^:
- rem NOTE: KEEP LINE AFTER "set" ABOVE EMPTY !
-)
-
-if exist %TCL_PATH%\tclsh.exe (
- set "TCL_FOUND=%TCL_PATH%\tclsh.exe"
-) else if exist %TCL_PATH%\tclsh86.exe (
- set "TCL_FOUND=%TCL_PATH%\tclsh86.exe"
-) else (
- set "TCL_EXEC=%TCL_PATH%\tclsh.exe"
-)
-
-rem Initialize custom.bat if it does not exist yet
-rem if not exist %%dp0custom.bat (
-rem echo set "PATH=%%PATH%%;%TCL_PATH%" >%~dp0custom.bat
-rem )
-
-rem fail if Tcl is not found
-if not defined TCL_FOUND (
- echo Error: "%TCL_EXEC%" is not found. Please update PATH variable ^(use custom.bat^)
- goto :eof
-)
-
-rem run GUI tool
-"%TCL_FOUND%" %~dp0adm/genconf.tcl
-
-SET "PATH=%OLD_PATH%"
+++ /dev/null
-#!/bin/bash
-
-# Helper script to run generation of CBP/XCode projects on Linux / OS X.
-# Running it requires that Tcl should be in the PATH
-
-anOldPath="$PATH"
-anOldLd="$LD_LIBRARY_PATH"
-anOldDyLd="$DYLD_LIBRARY_PATH"
-
-# go to the script directory
-aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
-if [ ! -e "${aScriptPath}/env.sh" ]; then
-cat ${aScriptPath}/adm/templates/env.sh | sed -e '/__CASROOT__/d' > ${aScriptPath}/env.sh
-fi
-
-aSystem=`uname -s`
-aTarget="$1"
-anOpt2=$2
-anOpt3=$3
-anOpt4=$4
-anOpt5=$5
-
-if [ ! -e "${aScriptPath}/custom.sh" ]; then
- tclsh "${aScriptPath}/adm/genconf.tcl"
-fi
-
-if [ ! -e "${aScriptPath}/custom.sh" ]; then
- echo "Error: custom.sh is not present."
- echo "Run the script again to generate custom.sh, or create it manually"
- exit 1
-fi
-source "${aScriptPath}/custom.sh"
-
-if [ -e "${aScriptPath}/env.sh" ]; then source "${aScriptPath}/env.sh"; fi
-
-if [ "$aTarget" == "" ]; then aTarget=$PRJFMT; fi;
-if [ "$aTarget" == "" ]; then
- aTarget="cbp"
- if [ "$aSystem" == "Darwin" ]; then aTarget="xcd"; fi;
-fi
-
-cd $aScriptPath
-tclsh "./adm/start.tcl" genproj ${aTarget} -solution "OCCT" $anOpt2 $anOpt3 $anOpt4 $anOpt5
-
-export PATH="$anOldPath"
-export LD_LIBRARY_PATH="$anOldLd"
-export DYLD_LIBRARY_PATH="$anOldDyLd"
+++ /dev/null
-@echo off
-
-rem Helper script to run generation of VS projects on Windows.
-rem Running it requires that Tcl should be in the PATH
-rem Optional arguments: Format OS
-rem Format can be vc10, vc11, vc12, vc14, vc141, cbp, or xcd
-rem OS can be wnt, uwp, mac, or lin
-
-SET "OLD_PATH=%PATH%"
-
-rem run GUI configurator if custom.bat is missing
-if not exist "%~dp0custom.bat" (
- call %~dp0genconf.bat
-)
-
-if not exist "%~dp0custom.bat" (
- echo Error: custom.bat is not present.
- echo Run the script again to generate custom.bat, or create it manually
- goto :eof
-)
-
-if exist "%~dp0env.bat" (
- call "%~dp0env.bat" %1
-)
-
-rem find Tcl
-set "TCL_EXEC=tclsh.exe"
-for %%X in (%TCL_EXEC%) do (set TCL_FOUND=%%~$PATH:X)
-
-set "TCL_EXEC2=tclsh86.exe"
-if not defined TCL_FOUND (
- for %%X in (%TCL_EXEC2%) do (
- set TCL_FOUND=%%~$PATH:X
- set TCL_EXEC=%TCL_EXEC2%
- )
-)
-
-rem fail if Tcl is not found
-if not defined TCL_FOUND (
- echo Error: "%TCL_EXEC%" is not found. Please update PATH variable ^(use custom.bat^)
- goto :eof
-)
-
-set aPlatform=%2
-if "%aPlatform%" == "" (
- set aPlatform=wnt
- if "%VCPROP%" == "Universal" (
- set aPlatform=uwp
- )
-)
-
-set aPrjFmt=%PRJFMT%
-if "%aPrjFmt%" == "" ( set "aPrjFmt=vcxproj" )
-if "%aPrjFmt%" == "vcxproj" ( set "aPrjFmt=%VCFMT%" )
-
-cd %~dp0
-%TCL_EXEC% %~dp0adm/start.tcl genproj %aPrjFmt% %aPlatform% -solution "OCCT" %3 %4 %5
-SET "PATH=%OLD_PATH%"
+++ /dev/null
-@echo off
-
-rem Helper script to run procedure of automatic upgrade of application code
-rem on newer version of OCCT on Windows.
-rem Running it requires that Tcl should be in the PATH
-
-SET "OLD_PATH=%PATH%"
-
-if exist "%~dp0env.bat" (
- call "%~dp0env.bat"
-)
-
-set "TCL_EXEC=tclsh.exe"
-
-for %%X in (%TCL_EXEC%) do (set TCL_FOUND=%%~$PATH:X)
-
-if defined TCL_FOUND (
- %TCL_EXEC% %~dp0adm/start.tcl upgrade %*
-) else (
- echo "Error. %TCL_EXEC% is not found. Please update PATH variable"
-)
-
-SET "PATH=%OLD_PATH%"