Changes between Initial Version and Version 1 of pm-switch

Oct 26, 2010 4:53:18 PM (11 years ago)



  • pm-switch

    v1 v1  
     1= Brief Tutorial on Switching to the New Buildtools =
     3This tutorial attempts to explain how to make the switch to the new stable version of the build tools. It is necessarily incomplete and
     5== What Needs to be Edited ==
     7For the purposes of illustration, we shall assume that the project to be switched is Xxx. The project has been checked out with externals in the directory {{{Root/}}} with project source code residing in the directory {{{Root/Xxx}}}. To make the switch, the following files need to be edited:
     8 * {{{Root/}}}
     9 * {{{Root/Xxx/}}}
     10 * {{{Root/Xxx/}}}
     11 * {{{Root/Xxx/src/}}}
     12 * {{{Root/Externals}}}
     13and the following files need to be created:
     14 * {{{Root/Xxx/}}}
     15 * {{{Root/Xxx/}}}
     16 * {{{Root/Dependencies}}}
     17There may also be changes needed in any examples that use installed versions of the COIN libraries, but these are a little less standardized, so it's difficult to say exactly what files would be affected.
     19== Externals ==
     21At the moment, one must use only "trunk" versions for externals, since only the trunk version are using the new build tools. Here is the current set of externals for !CoinAll:
     47Another change with the new setup is that it is now highly recommended to use release versions in your externals. To make this easy, there is a script called {{{set_externals}}} that is part of the build tools that will automatically set your externals. To use it, you maintain a "dependencies" file (usually called {{{Root/Dependencies}}}) as opposed to an "externals" file. The dependencies files will usually contain the stable versions on which a project depends in the same format as the current {{{Externals}}} file. When you run the command {{{set_externals Dependencies}}}, the dependencies files will be parsed and externals set to latest release versions automatically. Note that if your dependencies files contains trunk or specific release versions, these will be used instead, overriding the mechanism for using the latest release version. For example, here is the current Dependencies file for the trunk of Blis, which depends on the trunks of Alps and BiCePS.
     62== {{{Root/}}} ==