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 ""
set SYS_EXE_SUFFIX ".exe"
set VCVER "vc10"
set VCVARS ""
+ set PRJFMT "vcxproj"
}
set SHORTCUT_HEADERS "ShortCut"
set HAVE_D3D ""
set HAVE_RelWithDebInfo ""
}
-foreach anEnvIter {ARCH VCVER VCVARS PRODUCTS_PATH} {
+foreach anEnvIter {ARCH VCVER VCVARS PRJFMT PRODUCTS_PATH} {
if { [info exists ::env(${anEnvIter})] } {
set ${anEnvIter} "$::env(${anEnvIter})"
}
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 This environment file was generated by wok_depsgui.tcl script at [clock format [clock seconds] -format "%Y.%m.%d %H:%M"]"
+ 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"
set aCustomFilePath "./custom.sh"
set aFile [open $aCustomFilePath "w"]
puts $aFile "#!/bin/bash"
- puts $aFile "# This environment file was generated by wok_depsgui.tcl script at [clock format [clock seconds] -format "%Y.%m.%d %H:%M"]"
+ puts $aFile "# $aGenInfo"
puts $aFile ""
+ puts $aFile "export PRJFMT=$::PRJFMT"
puts $aFile "export ARCH=$::ARCH"
puts $aFile "export SHORTCUT_HEADERS=$::SHORTCUT_HEADERS"
close $aFile
}
-
puts "Configuration saved to file '$aCustomFilePath'"
+
+ if { "$::PRJFMT" == "pro" } {
+ 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 {
+ puts $aFile "INCLUDEPATH += \"${anIncPath}\""
+ }
+
+ puts $aFile ""
+ puts $aFile "# Additional libraries search paths"
+ foreach aLibPath [set ::CSF_OPT_LIB$::ARCH] {
+ 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] {
+ puts $aFile "LIBS += -L\"${aDllPath}\""
+ }
+ }
+
+ puts $aFile ""
+ close $aFile
+ puts "Configuration saved to file '$aCustomFilePath'"
+ }
}