<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Build version numbers in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856841#M67706</link>
    <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/67496"&gt;rase&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;That's what I want for a long time. Could you be so kind and get more specific? What are you adding to the resource file? How is the preprocessing done? Thanks a lot, Wolf&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;BR /&gt;This is a frequently discussed topic in the context of Visual Studio Team System "Team Build" and MSBuild in general. I suggest you scan the forums for those products for ideas.&lt;/P&gt;
&lt;P&gt;Our FORTRAN is all compiled into static libraries and then linked with C++ into DLLs, the C++ projects manage the versioning. But my solution is to have the build script write an include file with #defines for the verion info which is then included by the ".rc2" files in each project. I thought about having the project files map the version number info into command-line preprocessor defines but I'd inherited the framework of the include-based solution so I kept it in place.&lt;/P&gt;
&lt;P&gt;Be forewared: a lot of the chatter on this subject is .NET oriented, you'll have to clean what you need from the noise. And there's no consensus on one right way to do it. Real policy variations and unfortunate "culture wars" seem to drive a lot of different solutions.&lt;/P&gt;
&lt;P&gt;-swn&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Sun, 02 Nov 2008 10:55:45 GMT</pubDate>
    <dc:creator>Steve_Nuchia</dc:creator>
    <dc:date>2008-11-02T10:55:45Z</dc:date>
    <item>
      <title>Build version numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856838#M67703</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;what is a good way to handle version numbers for builds of FortranSolutuonsin Visual Studio? Is there a tool that will automatically increment a version number each time?&lt;/P&gt;
&lt;P&gt;TIA,&lt;/P&gt;
&lt;P&gt;Bill&lt;/P&gt;</description>
      <pubDate>Thu, 30 Oct 2008 15:04:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856838#M67703</guid>
      <dc:creator>wgriggdraper_com</dc:creator>
      <dc:date>2008-10-30T15:04:24Z</dc:date>
    </item>
    <item>
      <title>Re: Build version numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856839#M67704</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/405840"&gt;wgriggdraper.com&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;Hi All,&lt;/P&gt;
&lt;P&gt;what is a good way to handle version numbers for builds of FortranSolutuonsin Visual Studio? Is there a tool that will automatically increment a version number each time?&lt;/P&gt;
&lt;P&gt;TIA,&lt;/P&gt;
&lt;P&gt;Bill&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;I have created my own app that edits the .rc file for the project. I set this up to run as a prebuild command whenever I build the release version of my project. I think I got the idea off the net somewhere, but not sure of all the details (documentation ;-/)&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;</description>
      <pubDate>Thu, 30 Oct 2008 23:59:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856839#M67704</guid>
      <dc:creator>DavidWhite</dc:creator>
      <dc:date>2008-10-30T23:59:15Z</dc:date>
    </item>
    <item>
      <title>Re: Build version numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856840#M67705</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;That's what I want for a long time. Could you be so kind and get more specific? What are you adding to the resource file? How is the preprocessing done? Thanks a lot, Wolf&lt;/P&gt;</description>
      <pubDate>Fri, 31 Oct 2008 10:52:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856840#M67705</guid>
      <dc:creator>rase</dc:creator>
      <dc:date>2008-10-31T10:52:15Z</dc:date>
    </item>
    <item>
      <title>Re: Build version numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856841#M67706</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/67496"&gt;rase&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;That's what I want for a long time. Could you be so kind and get more specific? What are you adding to the resource file? How is the preprocessing done? Thanks a lot, Wolf&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;BR /&gt;This is a frequently discussed topic in the context of Visual Studio Team System "Team Build" and MSBuild in general. I suggest you scan the forums for those products for ideas.&lt;/P&gt;
&lt;P&gt;Our FORTRAN is all compiled into static libraries and then linked with C++ into DLLs, the C++ projects manage the versioning. But my solution is to have the build script write an include file with #defines for the verion info which is then included by the ".rc2" files in each project. I thought about having the project files map the version number info into command-line preprocessor defines but I'd inherited the framework of the include-based solution so I kept it in place.&lt;/P&gt;
&lt;P&gt;Be forewared: a lot of the chatter on this subject is .NET oriented, you'll have to clean what you need from the noise. And there's no consensus on one right way to do it. Real policy variations and unfortunate "culture wars" seem to drive a lot of different solutions.&lt;/P&gt;
&lt;P&gt;-swn&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 02 Nov 2008 10:55:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856841#M67706</guid>
      <dc:creator>Steve_Nuchia</dc:creator>
      <dc:date>2008-11-02T10:55:45Z</dc:date>
    </item>
    <item>
      <title>Re: Build version numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856842#M67707</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/67496"&gt;rase&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;That's what I want for a long time. Could you be so kind and get more specific? What are you adding to the resource file? How is the preprocessing done? Thanks a lot, Wolf&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;I have uploaded my source file - not sure if it got added.&lt;/P&gt;
&lt;P&gt;Also, as stated previously, I don't know where this came from, so apologies if I have plagarised someone else's code.&lt;/P&gt;
&lt;P&gt;To use this in VS, I add a prebuild event, like c:DevBuildIncrReleaseBuildIncr.exe ..projectfolderproject.rc&lt;/P&gt;
&lt;P&gt;BuildIncr increments the 4th field in the version number.&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;</description>
      <pubDate>Mon, 03 Nov 2008 00:01:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856842#M67707</guid>
      <dc:creator>DavidWhite</dc:creator>
      <dc:date>2008-11-03T00:01:23Z</dc:date>
    </item>
    <item>
      <title>Re: Build version numbers</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856843#M67708</link>
      <description>&lt;DIV style="margin:0px;"&gt;Third try lucky!&lt;/DIV&gt;
&lt;DIV style="margin:0px;"&gt;Program BuildIncr&lt;/DIV&gt;
&lt;P&gt;USE IFPORT &lt;BR /&gt;IMPLICIT NONE&lt;BR /&gt;CHARACTER(LEN=255) :: COMMAND, FILE1, FILE2, STRING, FILE3&lt;BR /&gt;CHARACTER(LEN=20) :: VERSION, VER, VER2&lt;BR /&gt;CHARACTER(LEN=11) :: TODAY&lt;BR /&gt;INTEGER :: I,J,K, IERR, BUILD,V1,V2,V3,V4&lt;BR /&gt;LOGICAL ERROR&lt;BR /&gt;CALL GETARG(1,COMMAND)&lt;BR /&gt;FILE1=COMMAND&lt;BR /&gt;FILE2=TRIM(COMMAND)//"2"&lt;BR /&gt;ERROR = DELFILESQQ(TRIM(COMMAND)//"old")&lt;BR /&gt;I=INDEX(COMMAND,".",.TRUE.)&lt;BR /&gt;FILE3=COMMAND(1:I)//"inc"&lt;BR /&gt;OPEN(1,FILE=FILE1,STATUS="OLD",IOSTAT=IERR)&lt;BR /&gt;IF(IERR==0) THEN&lt;BR /&gt;OPEN(2,FILE=FILE2,IOSTAT=IERR)&lt;BR /&gt;IF(IERR==0) THEN&lt;BR /&gt;DO&lt;BR /&gt;READ(1,'(A)',IOSTAT=IERR) STRING&lt;BR /&gt;IF (IERR/=0) EXIT&lt;BR /&gt;I=INDEX(STRING," FILEVERSION ")&lt;BR /&gt;IF (I&amp;gt;0) THEN&lt;BR /&gt;VERSION=STRING(13+I:)&lt;BR /&gt;J=INDEX(VERSION,",",.TRUE.)&lt;BR /&gt;READ(VERSION(J+1:),*) BUILD&lt;BR /&gt;BUILD=BUILD+1&lt;BR /&gt;SELECT CASE(BUILD)&lt;BR /&gt;CASE(0:9)&lt;BR /&gt;WRITE(VERSION(J+1:J+1),'(I1)') BUILD&lt;BR /&gt;CASE(10:99)&lt;BR /&gt;WRITE(VERSION(J+1:J+2),'(I2)') BUILD&lt;BR /&gt;CASE(100:999)&lt;BR /&gt;WRITE(VERSION(J+1:J+3),'(I3)') BUILD&lt;BR /&gt;CASE(1000:)&lt;BR /&gt;WRITE(VERSION(J+1:J+4),'(I4)') BUILD&lt;BR /&gt;END SELECT&lt;BR /&gt;STRING(13+I:)=TRIM(VERSION)&lt;BR /&gt;READ(VERSION,*) V1,V2,V3,V4&lt;BR /&gt;J=0&lt;BR /&gt;SELECT CASE(V1)&lt;BR /&gt;CASE(0:9)&lt;BR /&gt;WRITE(VER(J+1:J+1),'(I1)') V1&lt;BR /&gt;J=J+1&lt;BR /&gt;CASE(10:99)&lt;BR /&gt;WRITE(VER(J+1:J+2),'(I2)') V1&lt;BR /&gt;J=J+2&lt;BR /&gt;CASE(100:999)&lt;BR /&gt;WRITE(VER(J+1:J+3),'(I3)') V1&lt;BR /&gt;J=J+3&lt;BR /&gt;CASE(1000:)&lt;BR /&gt;WRITE(VER(J+1:J+4),'(I4)') V1&lt;BR /&gt;J=J+4&lt;BR /&gt;END SELECT&lt;BR /&gt;VER(J+1:J+1)="."&lt;BR /&gt;J=J+1&lt;BR /&gt;SELECT CASE(V2)&lt;BR /&gt;CASE(0:9)&lt;BR /&gt;WRITE(VER(J+1:J+1),'(I1)') V2&lt;BR /&gt;J=J+1&lt;BR /&gt;CASE(10:99)&lt;BR /&gt;WRITE(VER(J+1:J+2),'(I2)') V2&lt;BR /&gt;J=J+2&lt;BR /&gt;CASE(100:999)&lt;BR /&gt;WRITE(VER(J+1:J+3),'(I3)') V2&lt;BR /&gt;J=J+3&lt;BR /&gt;CASE(1000:)&lt;BR /&gt;WRITE(VER(J+1:J+4),'(I4)') V2&lt;BR /&gt;J=J+4&lt;BR /&gt;END SELECT&lt;BR /&gt;VER(J+1:J+1)="."&lt;BR /&gt;J=J+1&lt;BR /&gt;SELECT CASE(V3)&lt;BR /&gt;CASE(0:9)&lt;BR /&gt;WRITE(VER(J+1:J+1),'(I1)') V3&lt;BR /&gt;J=J+1&lt;BR /&gt;CASE(10:99)&lt;BR /&gt;WRITE(VER(J+1:J+2),'(I2)') V3&lt;BR /&gt;J=J+2&lt;BR /&gt;CASE(100:999)&lt;BR /&gt;WRITE(VER(J+1:J+3),'(I3)') V3&lt;BR /&gt;J=J+3&lt;BR /&gt;CASE(1000:)&lt;BR /&gt;WRITE(VER(J+1:J+4),'(I4)') V3&lt;BR /&gt;J=J+4&lt;BR /&gt;END SELECT&lt;BR /&gt;OPEN(3,FILE=FILE3)&lt;BR /&gt;WRITE(3,'(A)') ' version = "'//TRIM(VER(1:J))//'"'&lt;BR /&gt;CALL DATE4 (TODAY)&lt;BR /&gt;WRITE(3,'(A)') ' CREATED = "'//TRIM(TODAY)//'"'&lt;BR /&gt;WRITE(3,'(A,I4)') ' BUILD = ', BUILD&lt;BR /&gt;CLOSE(3)&lt;BR /&gt;END IF&lt;BR /&gt;I=INDEX(STRING," PRODUCTVERSION ")&lt;BR /&gt;IF (I&amp;gt;0) THEN&lt;BR /&gt;STRING(16+I:)=TRIM(VERSION)&lt;BR /&gt;END IF&lt;BR /&gt;I=INDEX(STRING,'VALUE "FileVersion", "')&lt;BR /&gt;IF (I&amp;gt;0) THEN&lt;BR /&gt;STRING(22+I:)=TRIM(VERSION)//'"'&lt;BR /&gt;END IF&lt;BR /&gt;I=INDEX(STRING,'VALUE "ProductVersion", "')&lt;BR /&gt;IF (I&amp;gt;0) THEN&lt;BR /&gt;STRING(25+I:)=TRIM(VERSION)//'"'&lt;BR /&gt;END IF&lt;BR /&gt;WRITE(2,'(A)') TRIM(STRING)&lt;BR /&gt;END DO&lt;BR /&gt;CLOSE(1)&lt;BR /&gt;CLOSE(2)&lt;BR /&gt;ERROR = RENAMEFILEQQ(FILE1,TRIM(FILE1)//"old")&lt;BR /&gt;ERROR = RENAMEFILEQQ(FILE2,FILE1)&lt;BR /&gt;END IF&lt;BR /&gt;END IF&lt;BR /&gt;EndProgram BuildIncr&lt;/P&gt;
&lt;DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 03 Nov 2008 00:09:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Build-version-numbers/m-p/856843#M67708</guid>
      <dc:creator>DavidWhite</dc:creator>
      <dc:date>2008-11-03T00:09:43Z</dc:date>
    </item>
  </channel>
</rss>

