Changeset 11404


Ignore:
Timestamp:
02/13/12 11:18:03 (13 years ago)
Author:
Eric.Larour
Message:

New Synchronize script to handle Visual Studio 120 embedding limit of if then else statements

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/EnumDefinitions/Synchronize.sh

    r11225 r11404  
    9595int  StringToEnumx(const char* name){
    9696
     97   int  stage=1;
     98
    9799END
     100
    98101#core
    99 cat temp |  awk '{print "\t" ((NR==1)?"if":"else if") " (strcmp(name,\"" substr($2,1,length($2)-4) "\")==0) return " $2 ";"}' >> $ISSM_TIER//src/c/modules/StringToEnumx/StringToEnumx.cpp
    100 #Footer
     102#number of enums:
     103numenums=`wc -l temp | awk '{printf("%s\n",$1);}'`
     104i1=1;
     105i2=120;
     106for (( i=1 ; i<=100 ; i++ )); do
     107        echo "   if(stage==$i){" >> $ISSM_TIER//src/c/modules/StringToEnumx/StringToEnumx.cpp
     108        awk -vi1=$i1 -vi2=$i2 '{if(NR>=i1 && NR<=i2) print $0 }' temp > "temp_batch$i"
     109
     110        cat "temp_batch$i" |  awk '{print "\t" ((NR==1)?"      if":"      else if") " (strcmp(name,\"" substr($2,1,length($2)-4) "\")==0) return " $2 ";"}' >> $ISSM_TIER//src/c/modules/StringToEnumx/StringToEnumx.cpp
     111        echo "         else stage=$(($i+1));" >> $ISSM_TIER//src/c/modules/StringToEnumx/StringToEnumx.cpp
     112        echo "   }" >> $ISSM_TIER//src/c/modules/StringToEnumx/StringToEnumx.cpp
     113       
     114       
     115        if [ $i2 -ge $numenums ]; then break; fi
     116        i1=$(($i1+120));
     117        i2=$(($i2+120));
     118done
     119
    101120cat <<END >> $ISSM_TIER/src/c/modules/StringToEnumx/StringToEnumx.cpp
    102         else _error_("Enum %s not found",name);
    103 
     121   else _error_("Enum %s not found",name);
    104122}
    105123END
     
    155173
    156174#clean up{{{
    157 rm temp
     175rm temp temp_batch*
    158176#}}}
    159177#print info {{{
Note: See TracChangeset for help on using the changeset viewer.