]> OCCT Git - occt-wok.git/commitdiff
0023485: The WOK should generate cmake metafiles of the OpenCascade
authoribs <ibs@opencascade.com>
Tue, 15 Jan 2013 11:28:31 +0000 (15:28 +0400)
committeribs <ibs@opencascade.com>
Tue, 15 Jan 2013 11:28:31 +0000 (15:28 +0400)
added for lin and win:
1. wgenproj generates cross-platform OCCT cmake meta-projects;
2. OCCT cmake meta-project settings do not depend on WOK settings;
3. choice of modules and toolkits, that are included into OCCT project
4. possibility to create standalone OCCT install folder that contains all required libs and resourced to run Draw;
5. possibility copy required 3rdparty libraries to install standalone OCCT folder
6. copy of the OCCTProductsDocumentation.tcl added to scripts
7. 3rdparty library search refactored
8. templates, mam and mamx, are needed for lib wprocess placed to lib folder;
9. template.cmake placed to lib/template folder (on linux)
10. copy the whole template folder added (for linux)

collect_binary.sh
collect_binary_without_libs.bat [new file with mode: 0644]
collect_binary_without_libs.sh [new file with mode: 0644]
src/WOKTclLib/OS.tcl
src/WOKTclLib/osutils.tcl
src/WOKTclLib/templates/env.bat.in [new file with mode: 0644]
src/WOKTclLib/templates/env.sh.in [new file with mode: 0644]
src/WOKTclLib/templates/template.cmake [new file with mode: 0644]
src/WOKsite/wok_env.bat
src/WOKsite/wok_tclshrc.tcl

index 5cfda3071acd7ac0b40b7973b66816cecab3f7a6..f7e67d99b11108e361ef681ba243dfc3588dd439 100644 (file)
@@ -24,8 +24,6 @@ mkdir -p $installRelatePath/doc
 mkdir -p $installRelatePath/lib/lin
 mkdir -p $installRelatePath/lib/templates
 mkdir -p $installRelatePath/home
-#mkdir -p $installRelatePath/site/WokConfig.app/
-#mkdir -p $installRelatePath/site/WokEmacs.app/
 mkdir -p $installRelatePath/site/public_el/
 mkdir -p $installRelatePath/wok_entities
 
@@ -53,9 +51,9 @@ else
   echo "$preWOKLibPath folder DOES NOT exist! "
 fi
 
-cp -f src/WOKsite/tclshrc.tcl    $installRelatePath/home/
-cp -f src/WOKsite/.emacs    $installRelatePath/home/
-cp -f src/WOKsite/.emacs    $installRelatePath/home/
+cp -f src/WOKsite/tclshrc.tcl     $installRelatePath/home/
+cp -f src/WOKsite/.emacs          $installRelatePath/home/
+cp -f src/WOKsite/.tclshrc        $installRelatePath/home/
 
 cp -f -R src/WOKsite/public_el/* $installRelatePath/site/public_el/
 cp -f custom.sh $installRelatePath/site/
@@ -212,15 +210,10 @@ cp -f src/WOKBuilderDef/STUBS.edl $installRelatePath/lib/
 cp -f src/WOKBuilderDef/TCPP.edl $installRelatePath/lib/
 cp -f src/WOKBuilderDef/USECONFIG.edl $installRelatePath/lib/
 
-cp -f src/WOKTclLib/templates/env.sh $installRelatePath/lib/templates/
-cp -f src/WOKTclLib/templates/draw.sh $installRelatePath/lib/templates/
-cp -f src/WOKTclLib/templates/codeblocks.sh $installRelatePath/lib/templates/
-cp -f src/WOKTclLib/templates/build_configure $installRelatePath/lib/templates/
-cp -f src/WOKTclLib/templates/custom.sh.in $installRelatePath/lib/templates/
-cp -f src/WOKTclLib/templates/acinclude.m4 $installRelatePath/lib/templates/
-cp -f src/WOKTclLib/templates/template.mam $installRelatePath/lib/templates/
-cp -f src/WOKTclLib/templates/template.mamx $installRelatePath/lib/templates/
-cp -f src/WOKTclLib/templates/template.ac $installRelatePath/lib/templates/
+cp -f src/WOKTclLib/templates/template.mam $installRelatePath/lib/
+cp -f src/WOKTclLib/templates/template.mamx $installRelatePath/lib/
+
+cp -r src/WOKTclLib/templates/*.* $installRelatePath/lib/templates/
 
 cp -f src/WOKTclLib/tclIndex $installRelatePath/lib/
 cp -f src/WOKTclLib/abstract.xpm $installRelatePath/lib/
diff --git a/collect_binary_without_libs.bat b/collect_binary_without_libs.bat
new file mode 100644 (file)
index 0000000..daf3b6d
--- /dev/null
@@ -0,0 +1,331 @@
+@echo off
+
+set COPYCMD=/Y
+
+set "installPath=package"
+
+mkdir "%installPath%\wok_entities\"
+
+mkdir "%installPath%\3rdparty\"
+mkdir "%installPath%\3rdparty\win32\"
+mkdir "%installPath%\3rdparty\win32\codegen\"
+mkdir "%installPath%\3rdparty\win32\Emacs\"
+mkdir "%installPath%\3rdparty\win32\tcltk\"
+mkdir "%installPath%\3rdparty\win32\utils\"
+
+xcopy "src\WOKsite\tclshrc.tcl"    "%installPath%\home\"
+xcopy "src\WOKsite\.emacs"    "%installPath%\home\"
+
+xcopy "src\WOKsite\public_el" "%installPath%\site\public_el\" /S
+xcopy "custom.bat" "%installPath%\site\"
+
+xcopy "src\CPPJini\CPPJini_General.edl" "%installPath%\lib\"
+xcopy "src\CPPJini\CPPJini_Template.edl" "%installPath%\lib\"
+
+xcopy "src\WOKOBJS\OBJS.edl" "%installPath%\lib\"
+xcopy "src\WOKOBJS\OBJSSCHEMA.edl" "%installPath%\lib\"
+
+xcopy "src\WOKLibs\pkgIndex.tcl" "%installPath%\lib\"
+
+xcopy "src\TCPPExt\TCPPExt_MethodTemplate.edl" "%installPath%\lib\"
+
+xcopy "src\WOKDeliv\WOKDeliv_DelivExecSource.tcl" "%installPath%\lib\"
+xcopy "src\WOKDeliv\WOKDeliv_FRONTALSCRIPT.edl" "%installPath%\lib\"
+xcopy "src\WOKDeliv\WOKDeliv_LDSCRIPT.edl" "%installPath%\lib\"
+
+xcopy "src\CSFDBSchema\CSFDBSchema_Template.edl" "%installPath%\lib\"
+
+xcopy "src\WOKUtils\EDL.edl" "%installPath%\lib\"
+
+xcopy "src\CPPIntExt\Engine_Template.edl" "%installPath%\lib\"
+xcopy "src\CPPIntExt\Interface_Template.edl" "%installPath%\lib\"
+
+xcopy "src\WOKTclTools\ENV.edl" "%installPath%\lib\"
+
+xcopy "src\WOKEntityDef\FILENAME.edl" "%installPath%\lib\"
+
+xcopy "src\CPPExt\CPPExt_Standard.edl" "%installPath%\lib\"
+xcopy "src\CPPExt\CPPExt_Template.edl" "%installPath%\lib\"
+xcopy "src\CPPExt\CPPExt_TemplateCSFDB.edl" "%installPath%\lib\"
+xcopy "src\CPPExt\CPPExt_TemplateOBJS.edl" "%installPath%\lib\"
+xcopy "src\CPPExt\CPPExt_TemplateOBJY.edl" "%installPath%\lib\"
+
+
+xcopy "src\WOKOrbix\IDLFRONT.edl" "%installPath%\lib\"
+xcopy "src\WOKOrbix\ORBIX.edl" "%installPath%\lib\"
+xcopy "src\WOKOrbix\WOKOrbix_ClientObjects.tcl" "%installPath%\lib\"
+xcopy "src\WOKOrbix\WOKOrbix_ServerObjects.tcl" "%installPath%\lib\"
+
+xcopy "src\WOKEntityDef\WOKEntity.edl" "%installPath%\lib\"
+xcopy "src\WOKEntityDef\WOKEntity_Factory.edl" "%installPath%\lib\"
+xcopy "src\WOKEntityDef\WOKEntity_Parcel.edl" "%installPath%\lib\"
+xcopy "src\WOKEntityDef\WOKEntity_ParcelUnit.edl" "%installPath%\lib\"
+xcopy "src\WOKEntityDef\WOKEntity_Unit.edl" "%installPath%\lib\"
+xcopy "src\WOKEntityDef\WOKEntity_UnitTypes.edl" "%installPath%\lib\"
+xcopy "src\WOKEntityDef\WOKEntity_Warehouse.edl" "%installPath%\lib\"
+xcopy "src\WOKEntityDef\WOKEntity_Workbench.edl" "%installPath%\lib\"
+xcopy "src\WOKEntityDef\WOKEntity_WorkbenchUnit.edl" "%installPath%\lib\"
+xcopy "src\WOKEntityDef\WOKEntity_Workshop.edl" "%installPath%\lib\"
+
+xcopy "src\WOKStep\WOKStep_frontal.tcl" "%installPath%\lib\"
+xcopy "src\WOKStep\WOKStep_JavaCompile.tcl" "%installPath%\lib\"
+xcopy "src\WOKStep\WOKStep_JavaHeader.tcl" "%installPath%\lib\"
+xcopy "src\WOKStep\WOKStep_LibRename.tcl" "%installPath%\lib\"
+xcopy "src\WOKStep\WOKStep_ManifestEmbed.tcl" "%installPath%\lib\"
+xcopy "src\WOKStep\WOKStep_TclLibIdep.tcl" "%installPath%\lib\"
+
+
+xcopy "src\WOKStepsDef\FRONTAL.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_ccl.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_client.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_client_wnt.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_Del.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_delivery.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_documentation.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_engine.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_engine_wnt.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_executable.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_executable_wnt.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_frontal.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_idl.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_interface.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_interface_wnt.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_jini.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_nocdlpack.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_nocdlpack_wnt.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_package.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_package_wnt.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_resource.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_schema.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_schema_DFLT.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_schema_OBJS.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_schema_OBJY.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_server.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_toolkit.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKSteps_toolkit_wnt.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKStepsDeliv.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKStepsDFLT.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKStepsOBJS.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKStepsOBJY.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKStepsOrbix.edl" "%installPath%\lib\"
+xcopy "src\WOKStepsDef\WOKStepsStep.edl" "%installPath%\lib\"
+
+xcopy "src\WOKsite\wok.csh" "%installPath%\site\"
+xcopy "src\WOKsite\wokinit.csh" "%installPath%\site\"
+xcopy "src\WOKsite\DEFAULT.edl" "%installPath%\site\"
+xcopy "src\WOKsite\WOKSESSION.edl" "%installPath%\site\"
+xcopy "src\WOKsite\CreateFactory.tcl" "%installPath%\site\"
+xcopy "src\WOKsite\interp.tcl" "%installPath%\site\"
+xcopy "src\WOKsite\tclshrc.tcl" "%installPath%\site\"
+xcopy "src\WOKsite\wok_deps.tcl" "%installPath%\site\"
+xcopy "src\WOKsite\wok_depsgui.tcl" "%installPath%\site\"
+xcopy "src\WOKsite\wok_tclshrc.tcl" "%installPath%\site\"
+xcopy "src\WOKsite\wok.bat" "%installPath%\site\"
+xcopy "src\WOKsite\wok_confgui.bat" "%installPath%\site\"
+xcopy "src\WOKsite\wok_emacs.bat" "%installPath%\site\"
+xcopy "src\WOKsite\wok_env.bat" "%installPath%\site\"
+xcopy "src\WOKsite\wok_init.bat" "%installPath%\site\"
+xcopy "src\WOKsite\wok_tclsh.bat" "%installPath%\site\"
+xcopy "src\WOKsite\wokinit.bat" "%installPath%\site\"
+
+xcopy "src\CPPClient\CPPClient_General.edl" "%installPath%\lib\"
+xcopy "src\CPPClient\CPPClient_Template.edl" "%installPath%\lib\"
+
+
+rem from WOKBuilderDef to lib folder
+xcopy "src\WOKBuilderDef\ARX.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CDLTranslate.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CMPLRS.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CMPLRS_AIX.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CMPLRS_BSD.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CMPLRS_HP.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CMPLRS_LIN.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CMPLRS_MAC.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CMPLRS_SIL.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CMPLRS_SUN.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CMPLRS_WNT.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CODEGEN.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\COMMAND.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CPP.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CPPCLIENT.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CPPENG.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CPPINT.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CPPJINI.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CSF.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CSF_AIX.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CSF_AO1.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CSF_BSD.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CSF_HP.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CSF_LIN.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CSF_MAC.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CSF_SIL.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CSF_SUN.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CSF_WNT.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\CSFDBSCHEMA.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\JAVA.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\LD.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\LDAR.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\LDEXE.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\LDSHR.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\LIB.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\LINK.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\LINKSHR.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\STUBS.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\TCPP.edl" "%installPath%\lib\"
+xcopy "src\WOKBuilderDef\USECONFIG.edl" "%installPath%\lib\"
+
+rem WOKTclLib to lib
+xcopy "src\WOKTclLib\templates" "%installPath%\lib\templates" /i
+xcopy "src\WOKTclLib\abstract.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\admin.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\arb.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\back.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\Browser.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\browser.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\BrowserOMT.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\BrowserSearch.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\bycol.xbm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\bylast.xbm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\bylong.xbm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\byrow.xbm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\caution.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\cback.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\ccl.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\ccl_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\cell.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\cfrwd.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\client.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\client_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\config.h" "%installPath%\lib\"
+xcopy "src\WOKTclLib\create.xpm" "%installPath%\site\"
+xcopy "src\WOKTclLib\danger.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\delete.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\delivery.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\delivery_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\dep.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\documentation.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\documentation_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\engine.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\engine_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\envir.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\envir_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\executable.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\executable_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\factory.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\factory_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\file.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\FILES" "%installPath%\lib\"
+xcopy "src\WOKTclLib\frontal.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\frontal_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\gettable.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\idl.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\idl_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\interface.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\interface_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\jini.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\jini_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\journal.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\MkBuild.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\news_cpwb.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\nocdlpack.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\nocdlpack_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\notes.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\OCCTDocumentation.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\OCCTProductsDocumentation.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\OCCTDocumentationProcedures.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\OCCTGetVersion.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\opencascade.gif" "%installPath%\lib\"
+xcopy "src\WOKTclLib\OS.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\osutils.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\package.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\package_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\params.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\parcel.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\parcel_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\patch.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\patches.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\path.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\persistent.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\pqueue.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\prepare.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\private.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\queue.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\README" "%installPath%\lib\"
+xcopy "src\WOKTclLib\reposit.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\resource.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\resource_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\rotate.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\scheck.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\schema.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\schema_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\see.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\see_closed.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\server.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\server_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\source.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\storable.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\tclx.nt" "%installPath%\lib\"
+xcopy "src\WOKTclLib\tclIndex" "%installPath%\lib\"
+xcopy "src\WOKTclLib\textfile_adm.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\textfile_rdonly.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\toolkit.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\toolkit_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\transient.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\ud2cvs_unix" "%installPath%\lib\"
+xcopy "src\WOKTclLib\unit.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\unit_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\unit_rdonly.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\upack.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\VC.example" "%installPath%\lib\"
+xcopy "src\WOKTclLib\warehouse.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wbuild.hlp" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wbuild.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wbuild.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wcheck.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wcompare.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\WCOMPATIBLE.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wnews.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wnews_trigger.example" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wok.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wok-comm.el" "%installPath%\lib\"
+xcopy "src\WOKTclLib\Wok_Init.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokcd.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokclient.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokCOO.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokCreations.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokcvs.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokDeletions.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokEDF.hlp" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokEDF.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokemacs.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokinit.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokinterp.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokMainHelp.hlp" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokNAV.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokPrepareHelp.hlp" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokPRM.hlp" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokPRM.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokprocs.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokPROP.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokQUE.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokRPR.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokRPRHelp.hlp" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokSEA.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\woksh.el" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokStuff.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\WOKVC.NOBASE" "%installPath%\lib\"
+xcopy "src\WOKTclLib\WOKVC.RCS" "%installPath%\lib\"
+xcopy "src\WOKTclLib\WOKVC.SCCS" "%installPath%\lib\"
+xcopy "src\WOKTclLib\WOKVC.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wokWaffQueueHelp.hlp" "%installPath%\lib\"
+xcopy "src\WOKTclLib\work.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\workbench.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\workbench_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\workbenchq.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\workshop.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\workshop_open.xpm" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wprepare.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wstore.tcl" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wstore_trigger.example" "%installPath%\lib\"
+xcopy "src\WOKTclLib\wutils.tcl" "%installPath%\lib\"
diff --git a/collect_binary_without_libs.sh b/collect_binary_without_libs.sh
new file mode 100644 (file)
index 0000000..4e4857f
--- /dev/null
@@ -0,0 +1,333 @@
+#!/bin/bash
+
+installRelatePath="package"
+
+mkdir -p $installRelatePath/doc
+mkdir -p $installRelatePath/lib/lin
+mkdir -p $installRelatePath/lib/templates
+mkdir -p $installRelatePath/home
+mkdir -p $installRelatePath/site/public_el/
+mkdir -p $installRelatePath/wok_entities
+
+cp -f src/WOKsite/tclshrc.tcl     $installRelatePath/home/
+cp -f src/WOKsite/.emacs          $installRelatePath/home/
+cp -f src/WOKsite/.tclshrc        $installRelatePath/home/
+
+cp -f -R src/WOKsite/public_el/* $installRelatePath/site/public_el/
+
+cp -f src/CPPJini/CPPJini_General.edl $installRelatePath/lib/
+cp -f src/CPPJini/CPPJini_Template.edl $installRelatePath/lib/
+
+cp -f src/WOKOBJS/OBJS.edl $installRelatePath/lib/
+cp -f src/WOKOBJS/OBJSSCHEMA.edl $installRelatePath/lib/
+
+cp -f src/WOKLibs/pkgIndex.tcl $installRelatePath/lib/
+
+cp -f src/TCPPExt/TCPPExt_MethodTemplate.edl $installRelatePath/lib/
+
+cp -f src/WOKDeliv/WOKDeliv_DelivExecSource.tcl $installRelatePath/lib/
+cp -f src/WOKDeliv/WOKDeliv_FRONTALSCRIPT.edl $installRelatePath/lib/
+cp -f src/WOKDeliv/WOKDeliv_LDSCRIPT.edl $installRelatePath/lib/
+
+cp -f src/CSFDBSchema/CSFDBSchema_Template.edl $installRelatePath/lib/
+
+cp -f src/WOKUtils/EDL.edl $installRelatePath/lib/
+
+cp -f src/CPPIntExt/Engine_Template.edl $installRelatePath/lib/
+cp -f src/CPPIntExt/Interface_Template.edl $installRelatePath/lib/
+
+cp -f src/WOKTclTools/ENV.edl $installRelatePath/lib/
+
+cp -f src/WOKEntityDef/FILENAME.edl $installRelatePath/lib/
+
+cp -f src/CPPExt/CPPExt_Standard.edl $installRelatePath/lib/
+cp -f src/CPPExt/CPPExt_Template.edl $installRelatePath/lib/
+cp -f src/CPPExt/CPPExt_TemplateCSFDB.edl $installRelatePath/lib/
+cp -f src/CPPExt/CPPExt_TemplateOBJS.edl $installRelatePath/lib/
+cp -f src/CPPExt/CPPExt_TemplateOBJY.edl $installRelatePath/lib/
+
+cp -f src/WOKOrbix/IDLFRONT.edl $installRelatePath/lib/
+cp -f src/WOKOrbix/ORBIX.edl $installRelatePath/lib/
+cp -f src/WOKOrbix/WOKOrbix_ClientObjects.tcl $installRelatePath/lib/
+cp -f src/WOKOrbix/WOKOrbix_ServerObjects.tcl $installRelatePath/lib/
+
+cp -f src/WOKEntityDef/WOKEntity.edl $installRelatePath/lib/
+cp -f src/WOKEntityDef/WOKEntity_Factory.edl $installRelatePath/lib/
+cp -f src/WOKEntityDef/WOKEntity_Parcel.edl $installRelatePath/lib/
+cp -f src/WOKEntityDef/WOKEntity_ParcelUnit.edl $installRelatePath/lib/
+cp -f src/WOKEntityDef/WOKEntity_Unit.edl $installRelatePath/lib/
+cp -f src/WOKEntityDef/WOKEntity_UnitTypes.edl $installRelatePath/lib/
+cp -f src/WOKEntityDef/WOKEntity_Warehouse.edl $installRelatePath/lib/
+cp -f src/WOKEntityDef/WOKEntity_Workbench.edl $installRelatePath/lib/
+cp -f src/WOKEntityDef/WOKEntity_WorkbenchUnit.edl $installRelatePath/lib/
+cp -f src/WOKEntityDef/WOKEntity_Workshop.edl $installRelatePath/lib/
+
+cp -f src/WOKStep/WOKStep_frontal.tcl $installRelatePath/lib/
+cp -f src/WOKStep/WOKStep_JavaCompile.tcl $installRelatePath/lib/
+cp -f src/WOKStep/WOKStep_JavaHeader.tcl $installRelatePath/lib/
+cp -f src/WOKStep/WOKStep_LibRename.tcl $installRelatePath/lib/
+cp -f src/WOKStep/WOKStep_ManifestEmbed.tcl $installRelatePath/lib/
+cp -f src/WOKStep/WOKStep_TclLibIdep.tcl $installRelatePath/lib/
+
+cp -f src/WOKStepsDef/FRONTAL.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_ccl.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_client.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_client_wnt.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_Del.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_delivery.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_documentation.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_engine.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_engine_wnt.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_executable.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_executable_wnt.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_frontal.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_idl.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_interface.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_interface_wnt.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_jini.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_nocdlpack.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_nocdlpack_wnt.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_package.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_package_wnt.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_resource.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_schema.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_schema_DFLT.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_schema_OBJS.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_schema_OBJY.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_server.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_toolkit.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKSteps_toolkit_wnt.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKStepsDeliv.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKStepsDFLT.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKStepsOBJS.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKStepsOBJY.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKStepsOrbix.edl $installRelatePath/lib/
+cp -f src/WOKStepsDef/WOKStepsStep.edl $installRelatePath/lib/
+
+cp -f src/WOKsite/wok.csh $installRelatePath/site/
+cp -f src/WOKsite/wokinit.csh $installRelatePath/site/
+cp -f src/WOKsite/DEFAULT.edl $installRelatePath/site/
+cp -f src/WOKsite/WOKSESSION.edl $installRelatePath/site/
+cp -f src/WOKsite/CreateFactory.tcl $installRelatePath/site/
+cp -f src/WOKsite/interp.tcl $installRelatePath/site/
+cp -f src/WOKsite/tclshrc.tcl $installRelatePath/site/
+cp -f src/WOKsite/wok_deps.tcl $installRelatePath/site/
+cp -f src/WOKsite/wok_depsgui.tcl $installRelatePath/site/
+cp -f src/WOKsite/wok_tclshrc.tcl $installRelatePath/site/
+cp -f src/WOKsite/wok_confgui.sh $installRelatePath/site/
+cp -f src/WOKsite/wok_emacs.sh $installRelatePath/site/
+cp -f src/WOKsite/wok_env.sh $installRelatePath/site/
+cp -f src/WOKsite/wok_init.sh $installRelatePath/site/
+cp -f src/WOKsite/wok_tclsh.sh $installRelatePath/site/
+cp -f src/WOKsite/tclshrc_Wok $installRelatePath/site/
+
+cp -f src/CPPClient/CPPClient_General.edl $installRelatePath/lib/
+cp -f src/CPPClient/CPPClient_Template.edl $installRelatePath/lib/
+
+# from WOKBuilderDef to lib folder
+cp -f src/WOKBuilderDef/ARX.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CDLTranslate.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CMPLRS.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CMPLRS_AIX.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CMPLRS_BSD.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CMPLRS_HP.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CMPLRS_LIN.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CMPLRS_MAC.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CMPLRS_SIL.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CMPLRS_SUN.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CMPLRS_WNT.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CODEGEN.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/COMMAND.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CPP.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CPPCLIENT.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CPPENG.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CPPINT.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CPPJINI.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CSF.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CSF_AIX.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CSF_AO1.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CSF_BSD.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CSF_HP.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CSF_LIN.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CSF_MAC.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CSF_SIL.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CSF_SUN.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CSF_WNT.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/CSFDBSCHEMA.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/JAVA.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/LD.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/LDAR.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/LDEXE.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/LDSHR.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/LIB.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/LINK.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/LINKSHR.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/STUBS.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/TCPP.edl $installRelatePath/lib/
+cp -f src/WOKBuilderDef/USECONFIG.edl $installRelatePath/lib/
+
+cp -f src/WOKTclLib/templates/template.mam $installRelatePath/lib/
+cp -f src/WOKTclLib/templates/template.mamx $installRelatePath/lib/
+
+cp -r src/WOKTclLib/templates/*.* $installRelatePath/lib/templates/
+
+cp -f src/WOKTclLib/tclIndex $installRelatePath/lib/
+cp -f src/WOKTclLib/abstract.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/admin.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/arb.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/back.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/Browser.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/browser.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/BrowserOMT.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/BrowserSearch.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/bycol.xbm $installRelatePath/lib/
+cp -f src/WOKTclLib/bylast.xbm $installRelatePath/lib/
+cp -f src/WOKTclLib/bylong.xbm $installRelatePath/lib/
+cp -f src/WOKTclLib/byrow.xbm $installRelatePath/lib/
+cp -f src/WOKTclLib/caution.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/cback.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/ccl.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/ccl_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/cell.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/cfrwd.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/client.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/client_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/config.h $installRelatePath/lib/
+cp -f src/WOKTclLib/create.xpm $installRelatePath/site/
+cp -f src/WOKTclLib/danger.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/delete.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/delivery.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/delivery_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/dep.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/documentation.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/documentation_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/engine.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/engine_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/envir.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/envir_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/executable.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/executable_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/factory.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/factory_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/file.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/FILES $installRelatePath/lib/
+cp -f src/WOKTclLib/frontal.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/frontal_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/gettable.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/idl.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/idl_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/interface.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/interface_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/jini.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/jini_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/journal.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/MkBuild.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/news_cpwb.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/nocdlpack.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/nocdlpack_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/notes.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/OCCTDocumentation.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/OCCTProductsDocumentation.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/OCCTDocumentationProcedures.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/OCCTGetVersion.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/opencascade.gif $installRelatePath/lib/
+cp -f src/WOKTclLib/OS.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/osutils.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/package.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/package_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/params.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/parcel.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/parcel_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/patch.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/patches.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/path.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/persistent.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/pqueue.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/prepare.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/private.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/queue.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/README $installRelatePath/lib/
+cp -f src/WOKTclLib/reposit.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/resource.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/resource_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/rotate.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/scheck.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/schema.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/schema_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/see.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/see_closed.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/server.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/server_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/source.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/storable.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/tclx.nt $installRelatePath/lib/
+cp -f src/WOKTclLib/textfile_adm.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/textfile_rdonly.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/toolkit.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/toolkit_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/transient.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/ud2cvs_unix $installRelatePath/lib/
+cp -f src/WOKTclLib/unit.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/unit_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/unit_rdonly.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/upack.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/VC.example $installRelatePath/lib/
+cp -f src/WOKTclLib/warehouse.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/wbuild.hlp $installRelatePath/lib/
+cp -f src/WOKTclLib/wbuild.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wbuild.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/wcheck.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wcompare.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/WCOMPATIBLE.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wnews.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wnews_trigger.example $installRelatePath/lib/
+cp -f src/WOKTclLib/wok.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wok-comm.el $installRelatePath/lib/
+cp -f src/WOKTclLib/Wok_Init.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokcd.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/wokclient.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokCOO.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokCreations.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokcvs.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokDeletions.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokEDF.hlp $installRelatePath/lib/
+cp -f src/WOKTclLib/wokEDF.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokemacs.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokinit.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokinterp.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokMainHelp.hlp $installRelatePath/lib/
+cp -f src/WOKTclLib/wokNAV.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokPrepareHelp.hlp $installRelatePath/lib/
+cp -f src/WOKTclLib/wokPRM.hlp $installRelatePath/lib/
+cp -f src/WOKTclLib/wokPRM.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokprocs.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokPROP.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokQUE.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokRPR.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokRPRHelp.hlp $installRelatePath/lib/
+cp -f src/WOKTclLib/wokSEA.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/woksh.el $installRelatePath/lib/
+cp -f src/WOKTclLib/wokStuff.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/WOKVC.NOBASE $installRelatePath/lib/
+cp -f src/WOKTclLib/WOKVC.RCS $installRelatePath/lib/
+cp -f src/WOKTclLib/WOKVC.SCCS $installRelatePath/lib/
+cp -f src/WOKTclLib/WOKVC.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wokWaffQueueHelp.hlp $installRelatePath/lib/
+cp -f src/WOKTclLib/work.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/workbench.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/workbench_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/workbenchq.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/workshop.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/workshop_open.xpm $installRelatePath/lib/
+cp -f src/WOKTclLib/wprepare.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wstore.tcl $installRelatePath/lib/
+cp -f src/WOKTclLib/wstore_trigger.example $installRelatePath/lib/
+cp -f src/WOKTclLib/wutils.tcl $installRelatePath/lib/
+
+# echo.
+# echo =========end operation===========
+# if not "%doNotCopyForeignFileList%" == "" (
+  # echo "%doNotCopyForeignFileList% files has not been copied"
+# )
+# echo.
index 08c50ce9ce9b7f98c0e5673fab361f84e371f85a..c0d2357e549432e9853b8b9e88ebc392caad9075 100644 (file)
@@ -2979,92 +2979,54 @@ proc OS:MKCMK { theOutDir {theModules {}} {theAllSolution ""} } {
   set anOutFileName "CMakeLists.txt"
   set aProjectName $theAllSolution
   
-  set aFileBuff [list]
+  set theProjTmpl [osutils:readtemplate cmake "CMake main meta-project"]
   
-  #add to cmake meta file "cap" information
-  lappend aFileBuff "cmake_minimum_required ( VERSION 2.6)"
-  lappend aFileBuff "project(${aProjectName})"
-  lappend aFileBuff ""
-  lappend aFileBuff "set(BUILD_SHARED_LIBS ON)"
-  lappend aFileBuff "if (NOT DEFINED CMAKE_INSTALL_PREFIX)"
-  lappend aFileBuff " set(CMAKE_INSTALL_PREFIX \"[OS:casroot]\")"
-  lappend aFileBuff "endif()"
-  lappend aFileBuff ""
-  lappend aFileBuff "set(BITNESS $::env(ARCH))"
-  lappend aFileBuff ""
-  lappend aFileBuff "if (NOT DEFINED CMAKE_BUILD_TYPE)"
-  lappend aFileBuff " set(CMAKE_BUILD_TYPE \"Release\")"
-  lappend aFileBuff "endif()"
-  lappend aFileBuff ""
-  lappend aFileBuff "set (USED_TOOLKITS \"\")"
-  lappend aFileBuff ""
-  lappend aFileBuff "if (\$\{BITNESS\} STREQUAL 64)"
-  lappend aFileBuff " add_definitions(-D_OCC64)"
-  lappend aFileBuff "endif()"
-  lappend aFileBuff ""
-  lappend aFileBuff "add_definitions(-DHAVE_CONFIG_H)"
-  lappend aFileBuff ""
-  lappend aFileBuff "if (WIN32)"
-  lappend aFileBuff " set(SYSTEM win)"
-  lappend aFileBuff "else()"
-  lappend aFileBuff " set(SYSTEM lin)"
-  lappend aFileBuff " add_definitions(-DOCC_CONVERT_SIGNALS)"
-  lappend aFileBuff "endif()"
-  lappend aFileBuff ""
-  lappend aFileBuff "if (MINGW)"
-  lappend aFileBuff " SET(CMAKE_CXX_FLAGS \$\{CMAKE_CXX_FLAGS\} -mthreads)"
-  lappend aFileBuff " SET(CMAKE_C_FLAGS \$\{CMAKE_C_FLAGS\} -mthreads)"
-  lappend aFileBuff " SET(CMAKE_EXE_LINKER_FLAGS \$\{CMAKE_EXE_LINKER_FLAGS\} -mthreads -Wl,--export-all-symbols)"
-  lappend aFileBuff " SET(CMAKE_SHARED_LINKER_FLAGS \$\{CMAKE_SHARED_LINKER_FLAGS\} -mthreads -Wl,--export-all-symbols)"
-  lappend aFileBuff "endif()"
-  lappend aFileBuff ""
-  if {"$::env(WOKSTATION)" == "wnt"} {
-    lappend aFileBuff "set(CMAKE_CXX_FLAGS_RELEASE \$\{CMAKE_CXX_FLAGS_RELEASE\} No_Exception)"
-  }
-  #lappend aFileBuff "SET ( CMAKE_CXX_FLAGS \$\{CMAKE_CXX_FLAGS_RELEASE\} -Wall -fexceptions -fPIC)"
-  lappend aFileBuff ""
-  lappend aFileBuff "include_directories([join $::CSF_OPT_INC ";"])"
+  regsub -all -- {__PROJECT_NAME__} $theProjTmpl $aProjectName theProjTmpl
+  regsub -all -- {__BITNESS__}      $theProjTmpl $::env(ARCH) theProjTmpl
+  regsub -all -- {__WOK_LIB_PATH__} $theProjTmpl [file normalize $::env(WOK_LIBRARY)] theProjTmpl  
+  regsub -all -- {__CASROOT_DIR__} $theProjTmpl "[OS:casroot]" theProjTmpl
   
-  if {$::ARCH == 32} {
-    lappend aFileBuff "link_directories([join $::CSF_OPT_LIB32 ";"])"
-  } else {
-    lappend aFileBuff "link_directories([join $::CSF_OPT_LIB64 ";"])"
+  
+  set aBuff [list]
+  foreach aModule $theModules {
+    lappend aBuff "SET(BUILD_${aModule} ON CACHE BOOL \"include ${aModule}\"  )"
   }
-  lappend aFileBuff ""
-  lappend aFileBuff "if (DEFINED MSVC70)"
-  lappend aFileBuff " SET(COMPILER vc7)"
-  lappend aFileBuff "elseif (DEFINED MSVC80)"
-  lappend aFileBuff " SET(COMPILER vc8)"
-  lappend aFileBuff "elseif (DEFINED MSVC90)"
-  lappend aFileBuff " SET(COMPILER vc9)"
-  lappend aFileBuff "elseif (DEFINED MSVC10)"
-  lappend aFileBuff " SET(COMPILER vc10)"
-  lappend aFileBuff "elseif (DEFINED MSVC11)"
-  lappend aFileBuff " SET(COMPILER vc11)"
-  lappend aFileBuff "else()"
-  lappend aFileBuff " SET(COMPILER \$\{CMAKE_GENERATOR\})"
-  lappend aFileBuff "endif()"
-  lappend aFileBuff ""
+  regsub -all -- {__MODULE_LIST__}  $theProjTmpl  [join $aBuff "\n"] theProjTmpl
   
+  set aBuff [list]
   foreach aModule $theModules {
     foreach aToolKit [${aModule}:toolkits] {
       set aDepToolkits [join [LibToLink [woklocate -u $aToolKit]] ";"]
-      lappend aFileBuff "set(${aToolKit}_DEPS \"${aDepToolkits}\")"
+      lappend aBuff "set(${aToolKit}_DEPS \"${aDepToolkits}\")"
     }
     foreach anExecutable [OS:executable ${aModule}] {
       set aDepToolkits [join [LibToLink [woklocate -u $anExecutable]] ";"]
-      lappend aFileBuff "set(${anExecutable}_DEPS \"${aDepToolkits}\")"
+      lappend aBuff "set(${anExecutable}_DEPS \"${aDepToolkits}\")"
+    }
+  }
+  regsub -all -- {__TOOLKIT_DEPS__} $theProjTmpl  [join $aBuff "\n"] theProjTmpl
+  
+  set aBuff [list]
+  foreach aModule $theModules {
+    lappend aBuff ""
+    lappend aBuff "if (BUILD_${aModule})"
+    foreach aToolKit [${aModule}:toolkits] {
+      lappend aBuff " LIST(APPEND USED_TOOLKITS ${aToolKit} )"
+      lappend aBuff " foreach( TK \$\{${aToolKit}_DEPS\})"
+      lappend aBuff "    LIST(APPEND USED_TOOLKITS \$\{TK\} )" 
+      lappend aBuff " endforeach()"
+    }
+    foreach anExecutable [OS:executable ${aModule}] {
+      lappend aBuff " LIST(APPEND USED_TOOLKITS ${anExecutable} )"
+      lappend aBuff " foreach( TK \$\{${anExecutable}_DEPS\})"
+      lappend aBuff "    LIST(APPEND USED_TOOLKITS \$\{TK\} )" 
+      lappend aBuff " endforeach()"
     }
+    lappend aBuff "endif()"
   }
-  lappend aFileBuff ""
-  lappend aFileBuff "separate_arguments(USED_TOOLKITS)"
-  lappend aFileBuff "foreach( TOOLKIT \$\{USED_TOOLKITS\} )"
-  lappend aFileBuff " set(TurnONthe\$\{TOOLKIT\} ON)"
-  lappend aFileBuff " foreach( TK \$\{\$\{TOOLKIT\}_DEPS\})"
-  lappend aFileBuff "   set(TurnONthe\$\{TK\} ON)" 
-  lappend aFileBuff " endforeach()"
-  lappend aFileBuff "endforeach()"
-  lappend aFileBuff ""
+  regsub -all -- {__MODULE_DEPS__}  $theProjTmpl  [join $aBuff "\n"] theProjTmpl
+
+  set aBuff [list]
   foreach aModule $theModules {
     foreach aToolKit [${aModule}:toolkits] {
       #create directory
@@ -3073,10 +3035,10 @@ proc OS:MKCMK { theOutDir {theModules {}} {theAllSolution ""} } {
       }
       
       #add directory to main cmake metafile
-      lappend aFileBuff "subdirs(${aToolKit})"
+      lappend aBuff "subdirs(${aToolKit})"
       
       # create cmake metafile into target subdir
-      osutils:cmktk $theOutDir $aToolKit false
+      osutils:cmktk $theOutDir $aToolKit false ${aModule}
     }
     foreach anExecutable [OS:executable ${aModule}] {
       #create directory
@@ -3085,25 +3047,18 @@ proc OS:MKCMK { theOutDir {theModules {}} {theAllSolution ""} } {
       }
       
       #add directory to main cmake metafile
-      lappend aFileBuff "subdirs(${anExecutable})"
+      lappend aBuff "subdirs(${anExecutable})"
       
       # create cmake metafile into target subdir
-      osutils:cmktk $theOutDir $anExecutable true
+      osutils:cmktk $theOutDir $anExecutable true ${aModule}
     }
   }  
-  
-  # install toolkits and execs and other files
-  lappend aFileBuff ""
-  lappend aFileBuff "install( TARGETS \$\{${aProjectName}_TOOLKITS\} CONFIGURATIONS Debug DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/bind )"
-  lappend aFileBuff "install( TARGETS \$\{${aProjectName}_TOOLKITS\} CONFIGURATIONS Release DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/bin )"
-  lappend aFileBuff ""
-  lappend aFileBuff "install( TARGETS \$\{${aProjectName}_EXECUTABLES\} CONFIGURATIONS Debug DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/bind )"
-  lappend aFileBuff "install( TARGETS \$\{${aProjectName}_EXECUTABLES\} CONFIGURATIONS Release DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/bin )"
+  regsub -all -- {__INCLUDE_TOOLKITS__} $theProjTmpl  [join $aBuff "\n"] theProjTmpl
 
   #generate cmake meta file
   set aFile [open [set fdsw [file join $theOutDir $anOutFileName]] w]
   fconfigure $aFile -translation crlf
-  puts $aFile [join $aFileBuff "\n"]
+  puts $aFile $theProjTmpl
   close $aFile
   
   puts "The Cmake meta-files are stored in the $theOutDir directory"
@@ -3280,6 +3235,11 @@ proc OS:MKPRC { {theOutDir {}} {theProjectType {}} {theIDE ""} } {
   }
   
   set anOutDir "${anOutRoot}/${aWokStation}/${theIDE}"
+  
+  if { "$theIDE" == "cmake" } {
+    set anOutDir "${anOutRoot}/${theIDE}"
+  }
+
   OS:mkdir $anOutDir
   if { ! [file exists $anOutDir] } {
     puts stderr "Error: Could not create output directory \"$anOutDir\""
@@ -3294,7 +3254,7 @@ proc OS:MKPRC { {theOutDir {}} {theProjectType {}} {theIDE ""} } {
     "vc10"   -
     "vc11"  { OS:MKVC  $anOutDir $aModules $anAllSolution $theIDE }
     "cbp"   { OS:MKCBP $anOutDir $aModules $anAllSolution }
-    "cmake"   { OS:MKCMK $anOutDir $aModules $anAllSolution }
+    "cmake" { OS:MKCMK "${anOutRoot}/${theIDE}" $aModules $anAllSolution }
     "amk"   { OS:MKAMK $anOutDir $aModules "adm/${aWokStation}/${theIDE}"}
   }
   
index 09cbcd562086a5b7df95b482a52501b63bbc91db..a9d99533ee9a17de4f4aa8acd1c8e80ade6a5e5b 100755 (executable)
@@ -1705,6 +1705,7 @@ proc osutils:mkCollectScript { theOutCfgFileName theProjectRootPath theIDE theBi
 # @param theTKDefines    - compiler macro definitions
 # @param theTKSrcFiles   - list of source files
 proc osutils:tkinfo { theRelativePath theToolKit theUsedLib theFrameworks theIncPaths theTKDefines theTKSrcFiles } {
+  set aRelatedPathPart [relativePath "$theOutDir" [pwd]] 
   set aWokStation "$::env(WOKSTATION)"
 
   set aRelatedPathPart "$theRelativePath"
@@ -1806,75 +1807,262 @@ proc osutils:tkinfo { theRelativePath theToolKit theUsedLib theFrameworks theInc
   }
 }
 
-proc osutils:cmktk { theOutDir theToolKit {theIsExec false} } {
-  set anOutFileName "CMakeLists.txt"
-
-  set aFileBuff [list]
-
+proc osutils:commonUsedTK { theToolKit } {
   set anUsedToolKits [list]
-  set aFrameworks    [list]
-  set anIncPaths     [list]
-  set aTKDefines     [list]
-  set aTKSrcFiles    [list]
-
-  osutils:tkinfo "../../../.." $theToolKit anUsedToolKits aFrameworks anIncPaths aTKDefines aTKSrcFiles
+  set aDepToolkits [LibToLink [woklocate -u $theToolKit]]
+  foreach tkx $aDepToolkits {
+    if {[uinfo -t [woklocate -u $tkx]] == "toolkit"} {
+      lappend anUsedToolKits "${tkx}"
+    }
+  }
+  
+  return $anUsedToolKits
+}
 
-  lappend aFileBuff "project(${theToolKit})\n"
+proc osutils:usedwntlibs { theToolKit } {
+  set anUsedLibs [list]
+  
+  lappend anUsedLibs "advapi32.lib"
+  lappend anUsedLibs "gdi32.lib"
+  lappend anUsedLibs "user32.lib"
+  lappend anUsedLibs "kernel32.lib"
+  
+  lappend anUsedLibs "opengl32.lib"
+  lappend anUsedLibs "glu32.lib"
+  lappend anUsedLibs "ws2_32.lib"
+  lappend anUsedLibs "vfw32.lib"
+  
+  lappend anUsedLibs "tcl85.lib"
+  lappend anUsedLibs "tk85.lib"
 
-  foreach aMacro $aTKDefines {
-    lappend aFileBuff "list( APPEND ${theToolKit}_PRECOMPILED_DEFS \"-D${aMacro}\" )"
-  }
+  return $anUsedLibs
+}
 
-  lappend aFileBuff "\nstring( REGEX REPLACE \";\" \" \" ${theToolKit}_PRECOMPILED_DEFS \"\$\{${theToolKit}_PRECOMPILED_DEFS\}\")"
+proc osutils:usedunixlibs { theToolKit } {
+  set anUsedLibs [list]
+  
+  lappend anUsedLibs "dl"
+  lappend anUsedLibs "pthread"
+  lappend anUsedLibs "rt"
+  
+  lappend anUsedLibs "X11"
+  lappend anUsedLibs "Xext"
+  lappend anUsedLibs "Xmu"
+  lappend anUsedLibs "Xi"
+  
+  lappend anUsedLibs "tcl8.5"
+  lappend anUsedLibs "tk8.5"
+  
+  #if tbb
+  lappend anUsedLibs "tbb"
+  lappend anUsedLibs "tbbmalloc"
+  
+  #if freeimage
+  lappend anUsedLibs "freeimage"
+  
+  #if gl2ps
+  lappend anUsedLibs "gl2ps"
 
-  # common compiler options
-  #lappend aFileBuff "list( APPEND ${theToolKit}_COMPILER_OPTION \"-Wall\" \"-fexceptions\" \"-fPIC\" )\n"
+  return $anUsedLibs
+}
 
-  # compiler directories
-  lappend aFileBuff "\nlist( APPEND ${theToolKit}_COMPILER_DIRECTORIES \"$::env(WOK_LIBRARY)\" )"
-  foreach anIncPath $anIncPaths {
-    lappend aFileBuff "list( APPEND ${theToolKit}_COMPILER_DIRECTORIES \"$anIncPath\" )"
+proc osutils:incpaths { theUnits theRelatedPath } {
+  set anIncPaths [list]
+  
+  foreach anUnit $theUnits {
+    lappend anIncPaths "${theRelatedPath}/drv/${anUnit}"
+    lappend anIncPaths "${theRelatedPath}/src/${anUnit}"
   }
+  
+  return $anIncPaths
+}
 
-  # common linker options.
-  lappend aFileBuff ""
-  foreach aLibName $anUsedToolKits {
-    if { $aLibName != "" } {
-      lappend aFileBuff "list( APPEND ${theToolKit}_USED_LIBS ${aLibName} )"
+proc osutils:tksrcfiles { theUnits  theRelatedPath } {
+  set aTKSrcFiles [list]
+  
+  if [array exists written] { unset written }
+  foreach anUnit $theUnits {
+    set xlo       [wokinfo -n $anUnit]
+    set aSrcFiles [osutils:tk:files $xlo osutils:compilable 0]
+    foreach aSrcFile [lsort $aSrcFiles] {
+      if { ![info exists written([file tail $aSrcFile])] } {
+        set written([file tail $aSrcFile]) 1
+        lappend aTKSrcFiles "${theRelatedPath}/[wokUtils:FILES:wtail $aSrcFile 3]"
+      } else {
+        puts "Warning : more than one occurences for [file tail $aSrcFile]"
+      }
     }
   }
+  
+  return $aTKSrcFiles
+}
 
-  if { "$::env(WOKSTATION)" == "wnt" && $theToolKit == "TKOpenGl" } {
-    lappend aFileBuff "list( APPEND ${theToolKit}_USED_LIBS vfw32 )"
+proc osutils:tkdefs { theUnits } {
+  set aTKDefines [list]
+  
+  foreach anUnit $theUnits {
+    lappend aTKDefines "__${anUnit}_DLL"
   }
+  
+  return $aTKDefines
+}
 
-  lappend aFileBuff ""
-  foreach aTKSrcFile $aTKSrcFiles {
-    regsub -all "\\\\" ${aTKSrcFile} "/" aTKSrcFile
-    lappend aFileBuff "list( APPEND ${theToolKit}_USED_SRCFILES ${aTKSrcFile} )"
-    if {[string equal -nocase [file extension $aTKSrcFile] ".c"]} {
-      #lappend aFileBuff "set_source_files_properties(${aTKSrcFile} PROPERTIES COMPILE_FLAGS \"CC\")"
-    }
+proc osutils:fileGroupName { theSrcFile } {
+  set path [file dirname [file normalize ${theSrcFile}]]
+  regsub -all [file normalize "${path}/.."] ${path} "" aGroupName
+  
+  return $aGroupName
+}
+
+proc osutils:cmktk { theOutDir theToolKit {theIsExec false} theModule} { 
+  set anOutFileName "CMakeLists.txt"  
+
+  set anCommonUsedToolKits [osutils:commonUsedTK $theToolKit]
+  set anUsedWntLibs        [osutils:usedwntlibs $theToolKit]
+  set anUsedUnixLibs       [osutils:usedunixlibs $theToolKit]
+
+  set anUnits [list]
+  foreach anUnitWithPath [osutils:tk:units [woklocate -u $theToolKit]] {
+    lappend anUnits [wokinfo -n $anUnitWithPath]
+  }
+  
+  if { [llength $anUnits] == 0 } {
+    set anUnits [wokinfo -n [woklocate -u $theToolKit]]
   }
+  
+  set anCommonUnits [list]
+  set aWntUnits     [osutils:justwnt  $anUnits]
+  set anUnixUnits   [osutils:justunix  $anUnits]
 
+  
+  #remove duplicates from wntUnits and unixUnits and collect these duplicates in commonUnits variable
+  foreach aWntUnit $aWntUnits {
+    if { [set anIndex [lsearch -exact $anUnixUnits $aWntUnit]] != -1 } {
+      #add to common list
+      lappend anCommonUnits $aWntUnit
+      
+      #remove from wnt list
+      set anUnixUnits [lreplace $anUnixUnits $anIndex $anIndex]
+      
+      #remove from unix list
+      set anIndex [lsearch -exact $aWntUnits $aWntUnit]
+      set aWntUnits [lreplace $aWntUnits $anIndex $anIndex]
+    }
+  }
+
+  set aRelatedPath [relativePath "$theOutDir/$theToolKit" [pwd]] 
+
+  set anCommonIncPaths  [osutils:incpaths $anCommonUnits $aRelatedPath]
+  set anWntIncPaths     [osutils:incpaths $aWntUnits $aRelatedPath]
+  set anUnixIncPaths    [osutils:incpaths $anUnixUnits $aRelatedPath]
+  
+  set aCommonTKSrcFiles [osutils:tksrcfiles $anCommonUnits $aRelatedPath]
+  set aWntTKSrcFiles    [osutils:tksrcfiles $aWntUnits  $aRelatedPath]
+  set aUnixTKSrcFiles   [osutils:tksrcfiles $anUnixUnits $aRelatedPath]
+  
+  set aFileBuff [list "project(${theToolKit})\n"]
+  
+  # macros for wnt
+  lappend aFileBuff "if (WIN32)"
+  foreach aMacro [osutils:tkdefs [concat $anCommonUnits $aWntUnits]] {
+    lappend aFileBuff "  list( APPEND ${theToolKit}_PRECOMPILED_DEFS \"-D${aMacro}\" )"
+  } 
+  lappend aFileBuff "  string( REGEX REPLACE \";\" \" \" ${theToolKit}_PRECOMPILED_DEFS \"\$\{${theToolKit}_PRECOMPILED_DEFS\}\")"
+  lappend aFileBuff "endif()"
+  lappend aFileBuff ""
+
+  # compiler directories
+  lappend aFileBuff "  list( APPEND ${theToolKit}_COMPILER_DIRECTORIES \"\$\{WOK_LIB_PATH\}\" )"
+  lappend aFileBuff "  list( APPEND ${theToolKit}_COMPILER_DIRECTORIES \"$aRelatedPath/inc\" )"
+  foreach anCommonIncPath $anCommonIncPaths {
+    lappend aFileBuff "  list( APPEND ${theToolKit}_COMPILER_DIRECTORIES \"$anCommonIncPath\" )"
+  }
+    lappend aFileBuff ""
+  lappend aFileBuff "if (WIN32)"
+  foreach anWntIncPath $anWntIncPaths {
+    lappend aFileBuff "  list( APPEND ${theToolKit}_COMPILER_DIRECTORIES \"$anWntIncPath\" )"
+  }
+  lappend aFileBuff "else()"
+  foreach anUnixIncPath $anUnixIncPaths {
+    lappend aFileBuff "  list( APPEND ${theToolKit}_COMPILER_DIRECTORIES \"$anUnixIncPath\" )"
+  }
+  lappend aFileBuff "endif()"
   lappend aFileBuff ""
+  
+  # used libs
+  foreach anCommonUsedToolKit $anCommonUsedToolKits {
+    if { $anCommonUsedToolKit != "" } {
+      lappend aFileBuff "  list( APPEND ${theToolKit}_USED_LIBS ${anCommonUsedToolKit} )"
+    }
+  }
+
+  lappend aFileBuff "\nif (WIN32)"
+  foreach anUsedWntLib $anUsedWntLibs {
+    if { $anUsedWntLib != "" } {
+      lappend aFileBuff "  list( APPEND ${theToolKit}_USED_LIBS ${anUsedWntLib} )"
+    }
+  }
+  lappend aFileBuff "else()"
+  foreach anUsedUnixLib $anUsedUnixLibs {
+    if { $anUsedUnixLib == "tbb" || $anUsedUnixLib == "tbbmalloc" } {
+      lappend aFileBuff "  if(3RDPARTY_USE_TBB)"
+      lappend aFileBuff "    list( APPEND ${theToolKit}_USED_LIBS ${anUsedUnixLib} )"
+      lappend aFileBuff "  endif()"
+    } elseif { $anUsedUnixLib == "freeimage" } {
+      lappend aFileBuff "  if(3RDPARTY_USE_FREEIMAGE)"
+      lappend aFileBuff "    list( APPEND ${theToolKit}_USED_LIBS ${anUsedUnixLib} )"
+      lappend aFileBuff "  endif()"
+    } elseif { $anUsedUnixLib == "gl2ps" } {
+      lappend aFileBuff "  if(3RDPARTY_USE_GL2PS)"
+      lappend aFileBuff "    list( APPEND ${theToolKit}_USED_LIBS ${anUsedUnixLib} )"
+      lappend aFileBuff "  endif()"
+    } elseif { $anUsedUnixLib != "" } {
+      lappend aFileBuff "  list( APPEND ${theToolKit}_USED_LIBS ${anUsedUnixLib} )"
+    }
+  }
+  lappend aFileBuff "endif()\n"
+  
+  #used source files
+  foreach aCommonTKSrcFile $aCommonTKSrcFiles {
+    lappend aFileBuff "  list( APPEND ${theToolKit}_USED_SRCFILES \"${aCommonTKSrcFile}\" )"
+    lappend aFileBuff "  SOURCE_GROUP ([string range [osutils:fileGroupName $aCommonTKSrcFile] 1 end] FILES \"${aCommonTKSrcFile}\")\n"
+  }
+  
+  lappend aFileBuff "if (WIN32)"
+  foreach aWntTKSrcFile $aWntTKSrcFiles {
+    lappend aFileBuff "  list( APPEND ${theToolKit}_USED_SRCFILES \"${aWntTKSrcFile}\" )"
+    lappend aFileBuff "  SOURCE_GROUP ([string range [osutils:fileGroupName $aWntTKSrcFile] 1 end] FILES \"${aWntTKSrcFile}\")\n"
+  }
+  lappend aFileBuff "else()\n"
+  foreach aUnixTKSrcFile $aUnixTKSrcFiles {
+    lappend aFileBuff "  list( APPEND ${theToolKit}_USED_SRCFILES \"${aUnixTKSrcFile}\" )"
+    lappend aFileBuff "  SOURCE_GROUP ([string range [osutils:fileGroupName $aUnixTKSrcFile] 1 end] FILES \"${aUnixTKSrcFile}\")\n"
+  }
+  lappend aFileBuff "endif()\n"
+  
+  #install instrutions
   lappend aFileBuff "if (\"\$\{USED_TOOLKITS\}\" STREQUAL \"\" OR DEFINED TurnONthe${theToolKit})"
   if { $theIsExec == true } {
     lappend aFileBuff " add_executable( ${theToolKit} \$\{${theToolKit}_USED_SRCFILES\} )"
     lappend aFileBuff ""
-    lappend aFileBuff " install( TARGETS ${theToolKit} CONFIGURATIONS Debug DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/bind )"
-    lappend aFileBuff " install( TARGETS ${theToolKit} CONFIGURATIONS Release DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/bin )"
+    lappend aFileBuff " set_property(TARGET ${theToolKit} PROPERTY FOLDER ${theModule})"
+    lappend aFileBuff ""
+    lappend aFileBuff " install( TARGETS ${theToolKit} DESTINATION \"\$\{INSTALL_DIR\}/bin\" )"
   } else {
     lappend aFileBuff " add_library( ${theToolKit} SHARED \$\{${theToolKit}_USED_SRCFILES\} )"
     lappend aFileBuff ""
-    lappend aFileBuff " install( TARGETS ${theToolKit} CONFIGURATIONS Debug
-                                 RUNTIME DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/bind
-                                 ARCHIVE DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/libd
-                                 LIBRARY DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/libd)"
-    lappend aFileBuff " install( TARGETS ${theToolKit} CONFIGURATIONS Release
-                                 RUNTIME DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/bin
-                                 ARCHIVE DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/lib
-                                 LIBRARY DESTINATION \$\{CMAKE_INSTALL_PREFIX\}/\$\{SYSTEM\}\$\{BITNESS\}/\$\{COMPILER\}/lib)"
+    lappend aFileBuff " set_property(TARGET ${theToolKit} PROPERTY FOLDER ${theModule})"
+    lappend aFileBuff ""
+    lappend aFileBuff " install( TARGETS ${theToolKit}
+                                 RUNTIME DESTINATION \"\$\{INSTALL_DIR\}/bin\" 
+                                 ARCHIVE DESTINATION \"\$\{INSTALL_DIR\}/lib\"
+                                 LIBRARY DESTINATION \"\$\{INSTALL_DIR\}/lib\")"
+    lappend aFileBuff ""
+    lappend aFileBuff " if (MSVC)"
+    lappend aFileBuff "  install( FILES  \$\{CMAKE_BINARY_DIR\}/out/bin/Debug/${theToolKit}.pdb CONFIGURATIONS Debug
+                                  DESTINATION \"\$\{INSTALL_DIR\}/bin\")"
+    lappend aFileBuff " endif()"
+    lappend aFileBuff ""
   }
   lappend aFileBuff ""
   lappend aFileBuff " set_target_properties( ${theToolKit} PROPERTIES COMPILE_FLAGS \"\$\{${theToolKit}_PRECOMPILED_DEFS\}\" )"
@@ -2175,3 +2363,36 @@ proc osutils:cbp { theOutDir theProjName theSrcFiles theLibsList theFrameworks t
 
   return $aCbpFilePath
 }
+
+# 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
+}
diff --git a/src/WOKTclLib/templates/env.bat.in b/src/WOKTclLib/templates/env.bat.in
new file mode 100644 (file)
index 0000000..f88cf75
--- /dev/null
@@ -0,0 +1,58 @@
+echo off
+
+set "SCRIPTROOT=%~dp0"
+set "SCRIPTROOT=%SCRIPTROOT:~0,-1%"
+
+@CASROOT_DEFINITION@
+
+set "FREETYPE_DIR=@3RDPARTY_FREETYPE_DLL_DIR@"
+set "FTGL_DIR=@3RDPARTY_FTGL_DLL_DIR@"
+set "GL2PS_DIR=@3RDPARTY_GL2PS_DLL_DIR@"
+
+set "TBB_DIR=@3RDPARTY_TBB_DLL_DIR@"
+set "FREEIMAGE_DIR=@3RDPARTY_FREEIMAGE_DLL_DIR@"
+
+set "TCL_DIR=@3RDPARTY_TCL_DLL_DIR@"
+
+set "PATH=%FREETYPE_DIR%;%FTGL_DIR%;%GL2PS_DIR%;%FREEIMAGE_DIR%;%TBB_DIR%;%TCL_DIR%;%PATH%"
+
+rem ----- Set path to 3rd party and OCCT libraries -----
+set "PATH=%SCRIPTROOT%\@BIN_DIR_POSTFIX@;%PATH%"
+
+rem ----- Set envoronment variables used by OCCT -----
+set "CSF_MDTVFontDirectory=@RESOURCE_DIR_PREFIX@\FontMFT"
+set  CSF_LANGUAGE=us
+set  MMGT_CLEAR=1
+set  CSF_EXCEPTION_PROMPT=1
+set "CSF_SHMessage=@RESOURCE_DIR_PREFIX@\SHMessage"
+set "CSF_MDTVTexturesDirectory=@RESOURCE_DIR_PREFIX@\Textures"
+set "CSF_XSMessage=@RESOURCE_DIR_PREFIX@\XSMessage"
+set "CSF_TObjMessage=@RESOURCE_DIR_PREFIX@\TObj"
+set "CSF_StandardDefaults=@RESOURCE_DIR_PREFIX@\StdResource"
+set "CSF_PluginDefaults=@RESOURCE_DIR_PREFIX@\StdResource"
+set "CSF_XCAFDefaults=@RESOURCE_DIR_PREFIX@\StdResource"
+set "CSF_TObjDefaults=@RESOURCE_DIR_PREFIX@\StdResource"
+set "CSF_StandardLiteDefaults=@RESOURCE_DIR_PREFIX@\StdResource"
+set "CSF_GraphicShr=TKOpenGl.dll"
+set "CSF_UnitsLexicon=@RESOURCE_DIR_PREFIX@\UnitsAPI\Lexi_Expr.dat"
+set "CSF_UnitsDefinition=@RESOURCE_DIR_PREFIX@\UnitsAPI\Units.dat"
+set "CSF_IGESDefaults=@RESOURCE_DIR_PREFIX@\XSTEPResource"
+set "CSF_STEPDefaults=@RESOURCE_DIR_PREFIX@\XSTEPResource"
+set "CSF_XmlOcafResource=@RESOURCE_DIR_PREFIX@\XmlOcafResource"
+set "CSF_MIGRATION_TYPES=@RESOURCE_DIR_PREFIX@\StdResource\MigrationSheet.txt"
+
+rem Draw Harness special stuff
+if exist "@RESOURCE_DIR_PREFIX@\DrawResources" (
+  set "DRAWHOME=@RESOURCE_DIR_PREFIX@\DrawResources"
+  set "CSF_DrawPluginDefaults=@RESOURCE_DIR_PREFIX@\DrawResources"
+  
+  if exist "@RESOURCE_DIR_PREFIX@\DrawResources\DrawDefault" (
+    set "DRAWDEFAULT=@RESOURCE_DIR_PREFIX@\DrawResources\DrawDefault"
+  )
+)
+
+if exist "@RESOURCE_DIR_PREFIX@\DrawResourcesProducts" (
+  set "CSF_DrawPluginProductsDefaults=@RESOURCE_DIR_PREFIX@\DrawResourcesProducts"
+)
+
+@RUN_PROJECT@
\ No newline at end of file
diff --git a/src/WOKTclLib/templates/env.sh.in b/src/WOKTclLib/templates/env.sh.in
new file mode 100644 (file)
index 0000000..157c08e
--- /dev/null
@@ -0,0 +1,74 @@
+echo off
+
+aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
+
+FREETYPE_DIR="@3RDPARTY_FREETYPE_DLL_DIR@"
+FTGL_DIR="@3RDPARTY_FTGL_DLL_DIR@"
+GL2PS_DIR="@3RDPARTY_GL2PS_DLL_DIR@"
+
+TBB_DIR="@3RDPARTY_TBB_DLL_DIR@"
+FREEIMAGE_DIR="@3RDPARTY_FREEIMAGE_DLL_DIR@"
+
+TCL_DIR="@3RDPARTY_TCL_DLL_DIR@"
+
+LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$FREETYPE_DIR:$FTGL_DIR:$GL2PS_DIR:$FREEIMAGE_DIR:$TBB_DIR:$TCL_DIR:$aScriptPath/lib"
+
+# ----- Set path to 3rd party and OCCT libraries -----
+PATH="${PATH}:$aScriptPath/bin"
+
+
+# ----- Setup Environment Variables -----
+anArch=`uname -m`
+if [ "$anArch" != "x86_64" ] && [ "$anArch" != "ia64" ]; then
+  export ARCH="32";
+else
+  export ARCH="64";
+fi
+
+aSystem=`uname -s`
+if [ "$aSystem" == "Darwin" ]; then
+  export WOKSTATION="mac";
+  export ARCH="64";
+else
+  export WOKSTATION="lin";
+fi
+
+# ----- Set envoronment variables used by OCCT -----
+export CSF_MDTVFontDirectory="${aScriptPath}/res/FontMFT"
+export CSF_LANGUAGE=us
+export MMGT_CLEAR=1
+export CSF_EXCEPTION_PROMPT=1
+export CSF_SHMessage="${aScriptPath}/res/SHMessage"
+export CSF_MDTVTexturesDirectory="${aScriptPath}/res/Textures"
+export CSF_XSMessage="SCRIPTROOT/res/XSMessage"
+export CSF_TObjMessage="SCRIPTROOT/res/TObj"
+export CSF_StandardDefaults="${aScriptPath}/res/StdResource"
+export CSF_PluginDefaults="${aScriptPath}/res/StdResource"
+export CSF_XCAFDefaults="${aScriptPath}/res/StdResource"
+export CSF_TObjDefaults="${aScriptPath}/res/StdResource"
+export CSF_StandardLiteDefaults="${aScriptPath}/res/StdResource"
+if [ "$WOKSTATION" == "mac" ]; then
+  export CSF_GraphicShr="libTKOpenGl.dylib"
+else
+  export CSF_GraphicShr="libTKOpenGl.so"
+fi
+export CSF_UnitsLexicon="${aScriptPath}/res/UnitsAPI/Lexi_Expr.dat"
+export CSF_UnitsDefinition="${aScriptPath}/res/UnitsAPI/Units.dat"
+export CSF_IGESDefaults="${aScriptPath}/res/XSTEPResource"
+export CSF_STEPDefaults="${aScriptPath}/res/XSTEPResource"
+export CSF_XmlOcafResource="${aScriptPath}/res/XmlOcafResource"
+export CSF_MIGRATION_TYPES="${aScriptPath}/res/StdResource/MigrationSheet.txt"
+
+# Draw Harness special stuff
+if [ -e "${aScriptPath}/res/DrawResources" ]; then
+  export DRAWHOME="${aScriptPath}/res/DrawResources"
+  export CSF_DrawPluginDefaults="${aScriptPath}/res/DrawResources"
+    
+  if [ -e "${aScriptPath}/res/DrawResources/DrawDefault" ]; then
+    export DRAWDEFAULT="${aScriptPath}/res/DrawResources/DrawDefault"
+  fi
+fi
+
+if [ -e "${aScriptPath}/res/DrawResourcesProducts" ]; then
+  export CSF_DrawPluginProductsDefaults="${aScriptPath}/res/DrawResourcesProducts"
+fi
\ No newline at end of file
diff --git a/src/WOKTclLib/templates/template.cmake b/src/WOKTclLib/templates/template.cmake
new file mode 100644 (file)
index 0000000..08e5ee0
--- /dev/null
@@ -0,0 +1,456 @@
+cmake_minimum_required ( VERSION 2.6)
+
+if (NOT BUILD_TYPE)
+  set(BUILD_TYPE "Release" CACHE STRING "Build type of the __PROJECT_NAME__" FORCE)
+  SET_PROPERTY(CACHE BUILD_TYPE PROPERTY STRINGS Release Debug)
+endif()
+
+set(CMAKE_CONFIGURATION_TYPES ${BUILD_TYPE} CACHE INTERNAL "" FORCE)
+
+project(__PROJECT_NAME__)
+
+set_property(GLOBAL PROPERTY 3RDPARTY_USE_FOLDERS ON)
+
+set(BUILD_SHARED_LIBS ON)
+
+IF("${BUILD_TYPE}" STREQUAL "${CMAKE_BUILD_TYPE}" AND "${BUILD_BITNESS}" STREQUAL "${BUILD_BITNESS1}")
+  SET(CHANGES_ARE_NEEDED OFF)
+ELSE()
+  SET(CHANGES_ARE_NEEDED ON)
+ENDIF()
+
+set(BUILD_BITNESS __BITNESS__ CACHE STRING "Bitness of the __PROJECT_NAME__ project")
+SET_PROPERTY(CACHE BUILD_BITNESS PROPERTY STRINGS 32 64)
+
+SET(BUILD_BITNESS1 ${BUILD_BITNESS} CACHE INTERNAL "Temporary bitness is created to check whether change 3rdparty paths or not" FORCE)
+
+SET( CMAKE_BUILD_TYPE ${BUILD_TYPE} CACHE INTERNAL "Build type of the __PROJECT_NAME__" FORCE )
+
+SET( INSTALL_DIR "" CACHE PATH "Directory contains install files of the __PROJECT_NAME__" )
+SET( CMAKE_INSTALL_PREFIX "${INSTALL_DIR}" CACHE INTERNAL "" FORCE )
+
+set (BUILD_TOOLKITS "" CACHE STRING "Toolkits are included in __PROJECT_NAME__")
+separate_arguments(BUILD_TOOLKITS)
+
+__MODULE_LIST__
+
+if (WIN32)
+  set(SYSTEM win)
+  set(SCRIPT_EXT bat)
+else()
+  set(SYSTEM lin)
+  set(SCRIPT_EXT sh)
+endif()
+
+if (DEFINED MSVC70)
+  SET(COMPILER vc7)
+elseif (DEFINED MSVC80)
+  SET(COMPILER vc8)
+elseif (DEFINED MSVC90)
+  SET(COMPILER vc9)
+elseif (DEFINED MSVC10)
+  SET(COMPILER vc10)
+elseif (DEFINED MSVC11)
+  SET(COMPILER vc11)
+else()
+  SET(COMPILER ${CMAKE_GENERATOR})
+endif()
+
+if (${BUILD_BITNESS} STREQUAL 64)
+  add_definitions(-D_OCC64)
+endif()
+
+add_definitions(-DCSFDB -DHAVE_WOK_CONFIG_H -DHAVE_CONFIG_H)
+if(WIN32)
+  add_definitions(/DWNT -wd4996)
+else()
+  add_definitions(-fexceptions -fPIC -DOCC_CONVERT_SIGNALS)
+  if(UNIX)
+    add_definitions(-DLIN)
+  endif()
+endif()
+
+string(REGEX MATCH "EHsc" ISFLAG "${CMAKE_CXX_FLAGS}")
+IF(ISFLAG)
+  STRING(REGEX REPLACE "EHsc" "EHa" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ELSEIF(WIN32)
+  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -EHa")
+ENDIF()
+
+SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
+SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
+
+SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEB")
+SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEB")
+
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out/lib)
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out/lib)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out/bin)
+
+# RESOURCES
+install(DIRECTORY "__CASROOT_DIR__/src/DrawResources" DESTINATION  "${INSTALL_DIR}/res" )
+install(DIRECTORY "__CASROOT_DIR__/src/StdResource" DESTINATION  "${INSTALL_DIR}/res" )
+install(DIRECTORY "__CASROOT_DIR__/src/FontMFT" DESTINATION  "${INSTALL_DIR}/res" )
+install(DIRECTORY "__CASROOT_DIR__/src/SHMessage" DESTINATION  "${INSTALL_DIR}/res" )
+install(DIRECTORY "__CASROOT_DIR__/src/Textures" DESTINATION  "${INSTALL_DIR}/res" )
+install(DIRECTORY "__CASROOT_DIR__/src/XSMessage" DESTINATION  "${INSTALL_DIR}/res" )
+install(DIRECTORY "__CASROOT_DIR__/src/TObj" DESTINATION  "${INSTALL_DIR}/res" )
+install(DIRECTORY "__CASROOT_DIR__/src/XSTEPResource" DESTINATION  "${INSTALL_DIR}/res" )
+install(DIRECTORY "__CASROOT_DIR__/src/XmlOcafResource" DESTINATION  "${INSTALL_DIR}/res" )
+
+install(FILES "__CASROOT_DIR__/src/UnitsAPI/Lexi_Expr.dat" DESTINATION  "${INSTALL_DIR}/res/UnitsAPI" )
+install(FILES "__CASROOT_DIR__/src/UnitsAPI/Units.dat"     DESTINATION  "${INSTALL_DIR}/res/UnitsAPI" )
+
+IF("${BUILD_TYPE}" STREQUAL "Release") 
+  SET(BUILD_SUFFIX "")
+ELSE()
+  SET(BUILD_SUFFIX "d")
+ENDIF()
+
+FUNCTION(SUBDIRECTORY_NAMES MAIN_DIRECTORY RESULT)
+  file(GLOB SUB_ITEMS "${MAIN_DIRECTORY}/*")
+  
+  foreach(ITEM ${SUB_ITEMS})
+    if(IS_DIRECTORY "${ITEM}")
+      GET_FILENAME_COMPONENT(ITEM_NAME "${ITEM}" NAME)
+      LIST(APPEND LOCAL_RESULT "${ITEM_NAME}")
+    endif()
+  endforeach()
+  set (${RESULT} ${LOCAL_RESULT} PARENT_SCOPE)
+ENDFUNCTION()
+
+FUNCTION(FIND_PRODUCT_DIR ROOT_DIR PRODUCT_NAME RESULT)
+  string( TOLOWER "${PRODUCT_NAME}" lower_PRODUCT_NAME )
+  
+  LIST(APPEND SEARCH_TEMPLATES "${lower_PRODUCT_NAME}.*${COMPILER}.*${BUILD_BITNESS}")
+  LIST(APPEND SEARCH_TEMPLATES "${lower_PRODUCT_NAME}.*[0-9.]+.*${COMPILER}.*${BUILD_BITNESS}")
+  LIST(APPEND SEARCH_TEMPLATES "${lower_PRODUCT_NAME}.*[0-9.]+.*${BUILD_BITNESS}")
+  LIST(APPEND SEARCH_TEMPLATES "${lower_PRODUCT_NAME}.*[0-9.]+")
+  LIST(APPEND SEARCH_TEMPLATES "${lower_PRODUCT_NAME}")
+  
+  SUBDIRECTORY_NAMES( "${ROOT_DIR}" SUBDIR_NAME_LIST)
+  
+  FOREACH( SEARCH_TEMPLATE ${SEARCH_TEMPLATES})
+    IF(LOCAL_RESULT)
+      BREAK()
+    ENDIF()
+    
+    FOREACH(SUBDIR_NAME ${SUBDIR_NAME_LIST})
+      string( TOLOWER "${SUBDIR_NAME}" lower_SUBDIR_NAME )
+      
+      STRING(REGEX MATCH "${SEARCH_TEMPLATE}" DUMMY_VAR "${lower_SUBDIR_NAME}")
+      IF(DUMMY_VAR)
+        LIST(APPEND LOCAL_RESULT ${SUBDIR_NAME})
+      ENDIF()
+    ENDFOREACH()
+  ENDFOREACH()
+  
+  IF(LOCAL_RESULT)
+    LIST(LENGTH "${LOCAL_RESULT}" LOC_LEN)
+    MATH(EXPR LAST_ELEMENT_INDEX "${LOC_LEN}-1")
+    LIST(GET LOCAL_RESULT ${LAST_ELEMENT_INDEX} DUMMY)
+    SET(${RESULT} ${DUMMY} PARENT_SCOPE)
+  ENDIF()  
+ENDFUNCTION()
+
+IF(WIN32)
+  SET(DLL_SO "dll")
+  SET(DLL_SO_FOLDER "bin")
+  SET(DLL_SO_PREFIX "")
+ELSE()
+  SET(DLL_SO "so")
+  SET(DLL_SO_FOLDER "lib")
+  SET(DLL_SO_PREFIX "lib")
+ENDIF()
+
+SET(3RDPARTY_DIR "" CACHE PATH "Directory contains required 3rdparty products")
+SET(3RDPARTY_INCLUDE_DIRS "")
+SET(3RDPARTY_NOT_INCLUDED)
+
+SET(3RDPARTY_USE_GL2PS OFF CACHE BOOL "whether use or not gl2ps product")
+SET(3RDPARTY_USE_FREEIMAGE OFF CACHE BOOL "whether use or not freeimage product")
+SET(3RDPARTY_USE_TBB OFF CACHE BOOL "whether use or not tbb product")
+
+MACRO(THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME)
+  IF(NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DIR)
+    SET(3RDPARTY_${PRODUCT_NAME}_DIR "" CACHE PATH "Directory contains ${PRODUCT_NAME} product")
+  ENDIF()
+  
+  IF(3RDPARTY_DIR AND ("${3RDPARTY_${PRODUCT_NAME}_DIR}" STREQUAL "" OR CHANGES_ARE_NEEDED))
+    FIND_PRODUCT_DIR("${3RDPARTY_DIR}" ${PRODUCT_NAME} ${PRODUCT_NAME}_DIR_NAME)
+    IF("${${PRODUCT_NAME}_DIR_NAME}" STREQUAL "")
+      MESSAGE(STATUS "${PRODUCT_NAME} DON'T FIND")
+    ELSE()
+      SET(3RDPARTY_${PRODUCT_NAME}_DIR "${3RDPARTY_DIR}/${${PRODUCT_NAME}_DIR_NAME}" CACHE PATH "Directory contains ${PRODUCT_NAME} product" FORCE)
+    ENDIF()
+  ENDIF()
+  
+  SET(INSTALL_${PRODUCT_NAME} OFF CACHE BOOL "Is ${PRODUCT_NAME} lib copy to install directory")
+
+  IF(3RDPARTY_${PRODUCT_NAME}_DIR)    
+    IF("${3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR}" STREQUAL "" OR CHANGES_ARE_NEEDED)
+      SET(3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR "3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR-NOTFOUND" CACHE FILEPATH "Directory contains headers of the ${PRODUCT_NAME} product" FORCE)
+      FIND_PATH(3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR ${HEADER_NAME} PATHS "${3RDPARTY_${PRODUCT_NAME}_DIR}/include")    
+    ENDIF()
+    
+    IF("${3RDPARTY_${PRODUCT_NAME}_LIBRARY}" STREQUAL "" OR CHANGES_ARE_NEEDED OR "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}" STREQUAL "3RDPARTY_${PRODUCT_NAME}_LIBRARY-NOTFOUND")
+      SET(3RDPARTY_${PRODUCT_NAME}_LIBRARY "3RDPARTY_${PRODUCT_NAME}_LIBRARY-NOTFOUND" CACHE FILEPATH "Directory contains library of the ${PRODUCT_NAME} product" FORCE)
+      FIND_LIBRARY(3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME}  PATHS "${3RDPARTY_${PRODUCT_NAME}_DIR}/lib" NO_DEFAULT_PATH)
+    ENDIF()
+    
+    IF("${3RDPARTY_${PRODUCT_NAME}_DLL}" STREQUAL "" OR CHANGES_ARE_NEEDED)
+      SET(3RDPARTY_${PRODUCT_NAME}_DLL "3RDPARTY_${PRODUCT_NAME}_DLL-NOTFOUND" CACHE FILEPATH "Directory contains shared library of the ${PRODUCT_NAME} product" FORCE)
+      FIND_FILE(3RDPARTY_${PRODUCT_NAME}_DLL "${DLL_SO_PREFIX}${LIBRARY_NAME}.${DLL_SO}"  PATHS "${3RDPARTY_${PRODUCT_NAME}_DIR}/${DLL_SO_FOLDER}")
+    ENDIF()
+    MARK_AS_ADVANCED(3RDPARTY_${PRODUCT_NAME}_DIR)
+  ENDIF()
+  
+  # check default path for library search
+  IF("${3RDPARTY_${PRODUCT_NAME}_LIBRARY}" STREQUAL "" OR "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}" STREQUAL "3RDPARTY_${PRODUCT_NAME}_LIBRARY-NOTFOUND")
+    SET(3RDPARTY_${PRODUCT_NAME}_LIBRARY "3RDPARTY_${PRODUCT_NAME}_LIBRARY-NOTFOUND" CACHE FILEPATH "Directory contains library of the ${PRODUCT_NAME} product" FORCE)
+    FIND_LIBRARY(3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME})
+  ENDIF()
+
+  IF(3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR)
+    SET(3RDPARTY_INCLUDE_DIRS "${3RDPARTY_INCLUDE_DIRS};${3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR}")
+  ELSE()
+    LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR)
+  ENDIF()
+
+  IF(3RDPARTY_${PRODUCT_NAME}_LIBRARY)
+    GET_FILENAME_COMPONENT(3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}" PATH)
+    SET(3RDPARTY_LIBRARY_DIRS "${3RDPARTY_LIBRARY_DIRS};${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}")
+  ELSE()
+    LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_${PRODUCT_NAME}_LIBRARY)
+  ENDIF()
+  
+  IF(3RDPARTY_${PRODUCT_NAME}_DLL)
+    #
+  ELSE()
+    LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_${PRODUCT_NAME}_DLL)
+  ENDIF()
+
+  IF(INSTALL_${PRODUCT_NAME})
+    INSTALL(FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}" DESTINATION "${INSTALL_DIR}/${DLL_SO_FOLDER}")
+    SET(3RDPARTY_${PRODUCT_NAME}_DLL_DIR "")
+  ELSE()
+    GET_FILENAME_COMPONENT(3RDPARTY_${PRODUCT_NAME}_DLL_DIR "${3RDPARTY_${PRODUCT_NAME}_DLL}" PATH)
+  ENDIF()
+ENDMACRO()
+
+# TCL
+
+#tcl85 - win; tcl8.5 - lin
+IF(WIN32)
+  SET(TCL_SEP "")
+ELSE()
+  SET(TCL_SEP ".")
+ENDIF()
+  
+THIRDPARTY_PRODUCT("TCL" "tcl.h" "tcl8${TCL_SEP}5")
+
+#install tk and libs
+IF(INSTALL_TCL)
+  GET_FILENAME_COMPONENT(3RDPARTY_TK_LIB_DIR "${3RDPARTY_TCL_LIBRARY}" PATH)
+  GET_FILENAME_COMPONENT(3RDPARTY_TK_DLL_DIR "${3RDPARTY_TCL_DLL}" PATH)
+  
+  INSTALL(FILES "${3RDPARTY_TK_DLL_DIR}/${DLL_SO_PREFIX}tk8${TCL_SEP}5.${DLL_SO}" DESTINATION "${INSTALL_DIR}/${DLL_SO_FOLDER}")
+  INSTALL(DIRECTORY "${3RDPARTY_TK_LIB_DIR}/tcl8.5" DESTINATION "${INSTALL_DIR}/lib")
+  INSTALL(DIRECTORY "${3RDPARTY_TK_LIB_DIR}/tk8.5" DESTINATION "${INSTALL_DIR}/lib")
+ENDIF()
+
+# FREETYPE
+THIRDPARTY_PRODUCT("FREETYPE" "freetype/freetype.h" "freetype${BUILD_SUFFIX}")
+
+# FTGL
+THIRDPARTY_PRODUCT("FTGL" "FTGL/ftgl.h" "ftgl${BUILD_SUFFIX}")
+
+# FREEIMAGE
+IF(3RDPARTY_USE_FREEIMAGE)
+  ADD_DEFINITIONS(-DHAVE_FREEIMAGE) 
+
+  THIRDPARTY_PRODUCT("FREEIMAGE" "FreeImage.h" "freeimage${BUILD_SUFFIX}")
+  IF(WIN32)
+    IF("${3RDPARTY_FREEIMAGE_DIR}" STREQUAL "")
+    ELSE()
+      SET (3RDPARTY_FREEIMAGEPLUS_DIR "${3RDPARTY_FREEIMAGE_DIR}")
+    ENDIF()
+    
+    THIRDPARTY_PRODUCT("FREEIMAGEPLUS" "FreeImagePlus.h" "freeimageplus${BUILD_SUFFIX}")
+    
+  ENDIF()
+ENDIF()
+
+
+# GL2PS
+IF(3RDPARTY_USE_GL2PS)
+  ADD_DEFINITIONS(-DHAVE_GL2PS)
+  THIRDPARTY_PRODUCT("GL2PS" "gl2ps.h" "gl2ps${BUILD_SUFFIX}")
+ENDIF()
+
+# TBB
+IF (3RDPARTY_USE_TBB)
+  ADD_DEFINITIONS(-DHAVE_TBB)
+
+  IF(${BUILD_BITNESS} STREQUAL 32)
+    SET (TBB_ARCH_NAME ia32)
+  ELSE()
+    SET (TBB_ARCH_NAME intel64)
+  ENDIF()
+  
+  IF(NOT DEFINED 3RDPARTY_TBB_DIR)
+    SET(3RDPARTY_TBB_DIR "" CACHE PATH "Directory contains tbb product")
+  ENDIF()
+  
+  SET(3RDPARTY_TBB_DIR_NAME "")
+  IF(3RDPARTY_DIR AND ("${3RDPARTY_TBB_DIR}" STREQUAL "" OR CHANGES_ARE_NEEDED))
+    FIND_PRODUCT_DIR("${3RDPARTY_DIR}" "TBB" 3RDPARTY_TBB_DIR_NAME)
+    IF("${3RDPARTY_TBB_DIR_NAME}" STREQUAL "")
+      MESSAGE(STATUS "TBB DON'T FIND")
+    ELSE()
+      SET(3RDPARTY_TBB_DIR "${3RDPARTY_DIR}/${3RDPARTY_TBB_DIR_NAME}" CACHE PATH "Directory contains tbb product" FORCE)
+    ENDIF()
+  ENDIF()
+  
+  SET(INSTALL_TBB OFF CACHE BOOL "Is tbb lib copy to install directory")
+
+  IF(3RDPARTY_TBB_DIR)
+    IF("${3RDPARTY_TBB_INCLUDE_DIR}" STREQUAL "" OR CHANGES_ARE_NEEDED)
+      SET(3RDPARTY_TBB_INCLUDE_DIR "3RDPARTY_TBB_INCLUDE_DIR-NOTFOUND" CACHE PATH "Directory contains headers of the tbb product" FORCE)
+      FIND_PATH(3RDPARTY_TBB_INCLUDE_DIR tbb/tbb.h PATHS "${3RDPARTY_TBB_DIR}/include")
+    ENDIF()
+
+    SET(TBB_DEBUG_POSTFIX "")
+    if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
+      SET(TBB_DEBUG_POSTFIX "_debug")
+    ENDIF()
+    
+    IF("${3RDPARTY_TBB_LIBRARY}" STREQUAL "" OR CHANGES_ARE_NEEDED)
+      SET(3RDPARTY_TBB_LIBRARY "3RDPARTY_TBB_LIBRARY-NOTFOUND" CACHE PATH "Directory contains library of the tbb product" FORCE)
+      FIND_LIBRARY(3RDPARTY_TBB_LIBRARY tbb${TBB_DEBUG_POSTFIX} PATHS "${3RDPARTY_TBB_DIR}/lib/${TBB_ARCH_NAME}/${COMPILER}")
+    ENDIF()
+    
+    IF("${3RDPARTY_TBB_MALLOC_LIBRARY}" STREQUAL "" OR CHANGES_ARE_NEEDED)
+      SET(3RDPARTY_TBB_MALLOC_LIBRARY "3RDPARTY_TBB_MALLOC_LIBRARY-NOTFOUND" CACHE PATH "Directory contains library of the tbb malloc product" FORCE)
+      FIND_LIBRARY(3RDPARTY_TBB_MALLOC_LIBRARY tbbmalloc${TBB_DEBUG_POSTFIX} PATHS "${3RDPARTY_TBB_DIR}/lib/${TBB_ARCH_NAME}/${COMPILER}")
+    ENDIF()
+    
+    IF("${3RDPARTY_TBB_DLL}" STREQUAL "" OR CHANGES_ARE_NEEDED)
+      SET(3RDPARTY_TBB_DLL "3RDPARTY_TBB_DLL-NOTFOUND" CACHE PATH "Directory contains shared library of the tbb product" FORCE)
+      FIND_FILE(3RDPARTY_TBB_DLL "${DLL_SO_PREFIX}tbb${TBB_DEBUG_POSTFIX}.${DLL_SO}" PATHS "${3RDPARTY_TBB_DIR}/${DLL_SO_FOLDER}/${TBB_ARCH_NAME}/${COMPILER}")
+    ENDIF()
+    
+    IF("${3RDPARTY_TBB_MALLOC_DLL}" STREQUAL "" OR CHANGES_ARE_NEEDED)
+      SET(3RDPARTY_TBB_MALLOC_DLL "3RDPARTY_TBB_MALLOC_DLL-NOTFOUND" CACHE PATH "Directory contains shared library of the tbb malloc product" FORCE)
+      FIND_FILE(3RDPARTY_TBB_MALLOC_DLL "${DLL_SO_PREFIX}tbbmalloc${TBB_DEBUG_POSTFIX}.${DLL_SO}" PATHS "${3RDPARTY_TBB_DIR}/${DLL_SO_FOLDER}/${TBB_ARCH_NAME}/${COMPILER}")
+    ENDIF()
+
+    MARK_AS_ADVANCED(3RDPARTY_TBB_DIR_NAME)
+  ELSE()
+    LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_DIR)
+  ENDIF()
+
+  IF(3RDPARTY_TBB_INCLUDE_DIR)
+    SET(3RDPARTY_INCLUDE_DIRS "${3RDPARTY_INCLUDE_DIRS};${3RDPARTY_TBB_INCLUDE_DIR}")
+  ELSE()
+    LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
+  ENDIF()
+
+  IF(3RDPARTY_TBB_LIBRARY)
+    GET_FILENAME_COMPONENT(3RDPARTY_TBB_LIBRARY_DIR "${3RDPARTY_TBB_LIBRARY}" PATH)
+    SET(3RDPARTY_LIBRARY_DIRS "${3RDPARTY_LIBRARY_DIRS};${3RDPARTY_TBB_LIBRARY_DIR}")
+  ELSE()
+    LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_LIBRARY)
+  ENDIF()
+  
+  IF(3RDPARTY_TBB_MALLOC_LIBRARY)
+    GET_FILENAME_COMPONENT(3RDPARTY_TBB_LIBRARY_DIR "${3RDPARTY_TBB_MALLOC_LIBRARY}" PATH)
+    SET(3RDPARTY_LIBRARY_DIRS "${3RDPARTY_LIBRARY_DIRS};${3RDPARTY_TBB_LIBRARY_DIR}")
+  ELSE()
+    LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_MALLOC_LIBRARY)
+  ENDIF()
+  
+  IF(3RDPARTY_TBB_DLL)
+    #
+  ELSE()
+    LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_DLL)
+  ENDIF()
+  
+  IF(3RDPARTY_TBB_MALLOC_DLL)
+    #
+  ELSE()
+    LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_MALLOC_DLL)
+  ENDIF()
+
+  IF(INSTALL_TBB)
+    INSTALL(FILES "${3RDPARTY_TBB_DLL}" "${3RDPARTY_TBB_MALLOC_DLL}" DESTINATION "${INSTALL_DIR}/${DLL_SO_FOLDER}")
+
+    SET(3RDPARTY_TBB_DLL_DIR "")
+    SET(3RDPARTY_TBB_MALLOC_DLL_DIR "")
+  ELSE()
+    GET_FILENAME_COMPONENT(3RDPARTY_TBB_DLL_DIR "${3RDPARTY_TBB_DLL}" PATH)
+    GET_FILENAME_COMPONENT(3RDPARTY_TBB_MALLOC_DLL_DIR "${3RDPARTY_TBB_MALLOC_DLL}" PATH)
+  ENDIF()
+ENDIF()
+
+string( REGEX REPLACE ";" " " 3RDPARTY_NOT_INCLUDED "${3RDPARTY_NOT_INCLUDED}")
+
+#CHECK ALL 3RDPARTY PATHS
+IF(3RDPARTY_NOT_INCLUDED)
+  MESSAGE(FATAL_ERROR "NOT FOUND: ${3RDPARTY_NOT_INCLUDED}" )
+ENDIF()
+
+list(REMOVE_DUPLICATES 3RDPARTY_INCLUDE_DIRS)
+string( REGEX REPLACE ";" "\n\t" 3RDPARTY_INCLUDE_DIRS_WITH_ENDS "${3RDPARTY_INCLUDE_DIRS}")
+MESSAGE(STATUS "3RDPARTY_INCLUDE_DIRS: ${3RDPARTY_INCLUDE_DIRS_WITH_ENDS}")
+  include_directories( ${3RDPARTY_INCLUDE_DIRS} )
+
+list(REMOVE_DUPLICATES 3RDPARTY_LIBRARY_DIRS)
+string( REGEX REPLACE ";" "\n\t" 3RDPARTY_LIBRARY_DIRS_WITH_ENDS "${3RDPARTY_LIBRARY_DIRS}")
+MESSAGE(STATUS "3RDPARTY_LIBRARY_DIRS: ${3RDPARTY_LIBRARY_DIRS_WITH_ENDS}")
+  link_directories( ${3RDPARTY_LIBRARY_DIRS} )
+#
+SET(RUN_PROJECT "")
+SET(CASROOT_DEFINITION "")
+SET(BIN_DIR_POSTFIX "bin")
+SET(RESOURCE_DIR_PREFIX "%SCRIPTROOT%\\res")
+
+IF("${INSTALL_DIR}" STREQUAL "")
+  MESSAGE(FATAL_ERROR "INSTALL_DIR is empty")
+ELSE()
+  # INC DIRECTORY
+  install(DIRECTORY __CASROOT_DIR__/inc DESTINATION  "${INSTALL_DIR}" )
+
+  # DRAW.BAT or DRAW.SH
+  install(FILES draw.${SCRIPT_EXT} DESTINATION  "${INSTALL_DIR}" PERMISSIONS  OWNER_READ OWNER_WRITE OWNER_EXECUTE 
+                                                                              GROUP_READ GROUP_WRITE GROUP_EXECUTE 
+                                                                              WORLD_READ WORLD_WRITE WORLD_EXECUTE)
+
+  configure_file(env.${SCRIPT_EXT}.in env.${SCRIPT_EXT} @ONLY)
+  install(FILES "${__PROJECT_NAME___BINARY_DIR}/env.${SCRIPT_EXT}" DESTINATION  "${INSTALL_DIR}" )
+ENDIF()
+
+IF(MSVC AND "${BUILD_TYPE}" STREQUAL "Debug")
+  SET(RUN_PROJECT "start __PROJECT_NAME__.sln")
+  SET(BIN_DIR_POSTFIX "out\\bin\\Debug")
+  SET(RESOURCE_DIR_PREFIX "%CASROOT%\\src")
+  SET(CASROOT_DEFINITION "set \"CASROOT=__CASROOT_DIR__\"")
+  
+  configure_file(env.bat.in __PROJECT_NAME__.bat @ONLY)
+ENDIF()
+  
+__TOOLKIT_DEPS__
+
+__MODULE_DEPS__
+
+list( APPEND USED_TOOLKITS ${BUILD_TOOLKITS})
+
+foreach( TOOLKIT ${USED_TOOLKITS} )
+ set(TurnONthe${TOOLKIT} ON)
+ foreach( TK ${${TOOLKIT}_DEPS})
+   set(TurnONthe${TK} ON)
+ endforeach()
+endforeach()
+
+__INCLUDE_TOOLKITS__
\ No newline at end of file
index b045d8701ef910dc77d35db848ef6177f0d6f99e..b14efd8bd8f388319ca065710d28f148bc2d07a2 100644 (file)
@@ -35,6 +35,9 @@ if ["%ARCH%"] == ["64"] set VCARCH=amd64
 
 if not ["%VCVARS%"] == [""] (
   call "%VCVARS%" %VCARCH%
+) else if ["%DevEnvDir%"] == [""] if not ["%VS110COMNTOOLS%"] == [""] (
+  call "%VS110COMNTOOLS%..\..\VC\vcvarsall.bat" %VCARCH%
+  set VCVER=vc11
 ) else if ["%DevEnvDir%"] == [""] if not ["%VS100COMNTOOLS%"] == [""] (
   call "%VS100COMNTOOLS%..\..\VC\vcvarsall.bat" %VCARCH%
   set VCVER=vc10
index a2a19ed357b0ae8b0d3d0e90af405c19a66b8a5d..03b90110365719ae6dcc7d8d9f9a65290b238498 100644 (file)
@@ -243,53 +243,51 @@ proc wgenprojbat {thePath theIDE} {
   wokcd -P Home
   set anOsRootPath [pwd]
   wokcd $aWokCD
-
-  set aBox [file normalize "$thePath/.."]
-
-  if { "$::tcl_platform(platform)" == "windows" } {
-    set anEnvTmplFile [open "$::env(WOKHOME)/lib/templates/env.bat" "r"]
-  } else {
-    set anEnvTmplFile [open "$::env(WOKHOME)/lib/templates/env.sh"  "r"]
-  }
-  set anEnvTmpl [read $anEnvTmplFile]
-  close $anEnvTmplFile
   
-  set aCasRoot ""
-  if { [file normalize "$anOsRootPath"] != "$aBox" } {
-    set aCasRoot [relativePath "$aBox" "$anOsRootPath"]
-  }
-  set anOsIncPath [relativePath "$aBox" "$anOsRootPath"]
-
-  regsub -all -- {__CASROOT__}     $anEnvTmpl "$aCasRoot"    anEnvTmpl
-  regsub -all -- {__CSF_OPT_INC__} $anEnvTmpl "$anOsIncPath" anEnvTmpl
-  if { "$::tcl_platform(platform)" != "windows" } {
-    if { "$::ARCH" == "32"} {
-      regsub -all -- {__CSF_OPT_LIB32__}  $anEnvTmpl "${anOsRootPath}/${::env(WOKSTATION)}/cbp/lib"  anEnvTmpl
-      regsub -all -- {__CSF_OPT_LIB32D__} $anEnvTmpl "${anOsRootPath}/${::env(WOKSTATION)}/cbp/libd" anEnvTmpl
-      regsub -all -- {__CSF_OPT_LIB64__}  $anEnvTmpl "" anEnvTmpl
-      regsub -all -- {__CSF_OPT_LIB64D__} $anEnvTmpl "" anEnvTmpl
-    } else {
-      regsub -all -- {__CSF_OPT_LIB32__}  $anEnvTmpl "" anEnvTmpl
-      regsub -all -- {__CSF_OPT_LIB32D__} $anEnvTmpl "" anEnvTmpl
-      regsub -all -- {__CSF_OPT_LIB64__}  $anEnvTmpl "${anOsRootPath}/${::env(WOKSTATION)}/cbp/lib"  anEnvTmpl
-      regsub -all -- {__CSF_OPT_LIB64D__} $anEnvTmpl "${anOsRootPath}/${::env(WOKSTATION)}/cbp/libd" anEnvTmpl
-    }
-  }
-
+  set aPlatformExt sh
   if { "$::tcl_platform(platform)" == "windows" } {
-    set anEnvFile [open "$aBox/env.bat" "w"]
-  } else {
-    set anEnvFile [open "$aBox/env.sh"  "w"]
+    set aPlatformExt bat    
   }
-  puts $anEnvFile $anEnvTmpl
-  close $anEnvFile
 
-  if { "$::tcl_platform(platform)" == "windows" } {
-    catch {file copy -- "$::env(WOKHOME)/site/custom.bat"        "$aBox/custom.bat"}
-    file copy -force -- "$::env(WOKHOME)/lib/templates/draw.bat" "$aBox/draw.bat"
+  set aBox [file normalize "$thePath/.."]
+
+  if {"$theIDE" == "cmake"} {
+    file copy -force -- "$::env(WOKHOME)/lib/templates/draw.${aPlatformExt}" "$aBox/adm/cmake/draw.${aPlatformExt}"
+    file copy -force -- "$::env(WOKHOME)/lib/templates/env.${aPlatformExt}.in" "$aBox/adm/cmake/env.${aPlatformExt}.in"
+    file copy -force -- "$::env(WOKHOME)/lib/config.h" "$aBox/inc/config.h"
   } else {
-    catch {file copy -- "$::env(WOKHOME)/site/custom.sh"              "$aBox/custom.sh"}
-    file copy -force -- "$::env(WOKHOME)/lib/templates/draw.sh"       "$aBox/draw.sh"
+    
+    set anEnvTmplFile [open "$::env(WOKHOME)/lib/templates/env.${aPlatformExt}" "r"]
+    set anEnvTmpl [read $anEnvTmplFile]
+    close $anEnvTmplFile
+    
+    set aCasRoot ""
+    if { [file normalize "$anOsRootPath"] != "$aBox" } {
+      set aCasRoot [relativePath "$aBox" "$anOsRootPath"]
+    }
+    set anOsIncPath [relativePath "$aBox" "$anOsRootPath"]
+    
+    regsub -all -- {__CASROOT__}     $anEnvTmpl "$aCasRoot"    anEnvTmpl
+    regsub -all -- {__CSF_OPT_INC__} $anEnvTmpl "$anOsIncPath" anEnvTmpl
+    if { "$::tcl_platform(platform)" != "windows" } {
+      if { "$::ARCH" == "32"} {
+        regsub -all -- {__CSF_OPT_LIB32__}  $anEnvTmpl "${anOsRootPath}/${::env(WOKSTATION)}/cbp/lib"  anEnvTmpl
+        regsub -all -- {__CSF_OPT_LIB32D__} $anEnvTmpl "${anOsRootPath}/${::env(WOKSTATION)}/cbp/libd" anEnvTmpl
+        regsub -all -- {__CSF_OPT_LIB64__}  $anEnvTmpl "" anEnvTmpl
+        regsub -all -- {__CSF_OPT_LIB64D__} $anEnvTmpl "" anEnvTmpl
+      } else {
+        regsub -all -- {__CSF_OPT_LIB32__}  $anEnvTmpl "" anEnvTmpl
+        regsub -all -- {__CSF_OPT_LIB32D__} $anEnvTmpl "" anEnvTmpl
+        regsub -all -- {__CSF_OPT_LIB64__}  $anEnvTmpl "${anOsRootPath}/${::env(WOKSTATION)}/cbp/lib"  anEnvTmpl
+        regsub -all -- {__CSF_OPT_LIB64D__} $anEnvTmpl "${anOsRootPath}/${::env(WOKSTATION)}/cbp/libd" anEnvTmpl
+      }
+    } 
+    set anEnvFile [open "$aBox/env.${aPlatformExt}" "w"]
+    puts $anEnvFile $anEnvTmpl
+    close $anEnvFile  
+  
+    catch {file copy -- "$::env(WOKHOME)/site/custom.${aPlatformExt}"        "$aBox/custom.${aPlatformExt}"}
+    file copy -force -- "$::env(WOKHOME)/lib/templates/draw.${aPlatformExt}" "$aBox/draw.${aPlatformExt}"
   }
 
   switch -exact -- "$theIDE" {