From: ibs Date: Tue, 15 Jan 2013 11:28:31 +0000 (+0400) Subject: 0023485: The WOK should generate cmake metafiles of the OpenCascade X-Git-Tag: V6_7_1~78 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=e8a2dd1c7f5a64082e39d1d0bf30f84334f25755;p=occt-wok.git 0023485: The WOK should generate cmake metafiles of the OpenCascade 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) --- diff --git a/collect_binary.sh b/collect_binary.sh index 5cfda30..f7e67d9 100644 --- a/collect_binary.sh +++ b/collect_binary.sh @@ -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 index 0000000..daf3b6d --- /dev/null +++ b/collect_binary_without_libs.bat @@ -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 index 0000000..4e4857f --- /dev/null +++ b/collect_binary_without_libs.sh @@ -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. diff --git a/src/WOKTclLib/OS.tcl b/src/WOKTclLib/OS.tcl index 08c50ce..c0d2357 100644 --- a/src/WOKTclLib/OS.tcl +++ b/src/WOKTclLib/OS.tcl @@ -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}"} } diff --git a/src/WOKTclLib/osutils.tcl b/src/WOKTclLib/osutils.tcl index 09cbcd5..a9d9953 100755 --- a/src/WOKTclLib/osutils.tcl +++ b/src/WOKTclLib/osutils.tcl @@ -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 index 0000000..f88cf75 --- /dev/null +++ b/src/WOKTclLib/templates/env.bat.in @@ -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 index 0000000..157c08e --- /dev/null +++ b/src/WOKTclLib/templates/env.sh.in @@ -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 index 0000000..08e5ee0 --- /dev/null +++ b/src/WOKTclLib/templates/template.cmake @@ -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 diff --git a/src/WOKsite/wok_env.bat b/src/WOKsite/wok_env.bat index b045d87..b14efd8 100644 --- a/src/WOKsite/wok_env.bat +++ b/src/WOKsite/wok_env.bat @@ -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 diff --git a/src/WOKsite/wok_tclshrc.tcl b/src/WOKsite/wok_tclshrc.tcl index a2a19ed..03b9011 100644 --- a/src/WOKsite/wok_tclshrc.tcl +++ b/src/WOKsite/wok_tclshrc.tcl @@ -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" {