FCM

Registered by poobarb

FCM: a modern Fortran build system + wrappers to Subversion for scientific software development

http://metomi.github.io/fcm/doc/

(C) British Crown Copyright 2006-14 Met Office.

The FCM system is designed to simplify the task of managing and building source code. It consists of the following components:

* Code Management

FCM uses Subversion for version control. For a summary of its main features please refer to the Version Control with Subversion book. Subversion is a generalised tool which can be used in lots of different ways. This makes some day-to-day tasks more complex than they need be. FCM defines a simplified process and appropriate naming conventions. It then adds a layer on top of Subversion to provide a natural interface which is specifically tailored to this process. Where appropriate it simply makes use of the command line tools provided by Subversion. However, in other cases it provides significant additional functionality, e.g.:

 - By making some assumptions about the repository layout (i.e. by imposing a standard working practice) FCM simplifies the task of creating branches and enforces a standard branch naming convention.
 - Having defined working practices and standard log messages allows FCM to greatly simplify the process of merging changes between branches.
 - FCM makes use of xxdiff (a graphical diff and merge tool) to allow users to easily examine changes they have made and to simplify the process of resolving any conflicts which result from a merge.

FCM uses Trac, a powerful web based tool, to manage software projects. Trac has the following features:

 - A flexible issue tracker which can be used to keep track of bugs, feature requests, etc. Each issue (known as a "ticket" within Trac) can be given a priority and assigned to a particular person. Changes made to your Subversion repository can easily be traced to the relevant ticket. Where appropriate, tickets can be used to record information about who has reviewed each change.
 - A "roadmap" feature which helps you to plan and manage project releases. Each ticket can be associated with a particular milestone. Trac can then easily show you what features or fixes went into a particular release or what work remains before a particular milestone is reached.
 - A "wiki" which can be used for project documentation.
 - A browser for viewing your Subversion repository which allows you to browse the project tree / files and examine revision logs and changesets.
 - A timeline view which summarises all the activity on a project (changes to the tickets, wiki pages or the Subversion repository).

* Build and Extract

FCM features a powerful build system, mainly aimed at building modern Fortran software applications. It has the following features:

 - Parallel build.
 - Efficient incremental build. Changes to the MD5 checksums of source files and/or the build configuration (e.g. changes to the compiler flags) trigger the appropriate re-compilation.
 - Inheritance of items from an existing build.
 - Build dependency analysis.
 - Automatic generation of include files to contain the calling interfaces of standalone functions and subroutinues in Fortran source files.
 - Extract of source files from multiple repositories and working copies.
 - Extract and merge of source files from different branches of development.
 - Minimal configuration.

FCM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

FCM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with FCM. If not, see http://www.gnu.org/licenses/.

FCM documentation is licensed under the British Open Government Licence. See doc/etc/fcm-terms-of-use.html and http://www.nationalarchives.gov.uk/doc/open-government-licence/

See http://metomi.github.io/fcm/doc/etc/fcm-terms-of-use.html

The FCM software and FCM Documentation are maintained by the FCM Team, Met Office, FitzRoy Road, Exeter, EX1 3PB, UK.
Contact fcm-team@metoffice.gov.uk

Project information

Maintainer:
poobarb
Driver:
poobarb
Licence:
GNU GPL v3, Other/Open Source
(FCM documentation is licensed under the British Open Government Licence. See doc/etc/fcm-terms-of-use.html and http://www.nationalarchives.gov.uk/doc/open-government-licence/)
This project’s licence has not been reviewed.

RDF metadata

View full history Series and milestones

trunk series is the current focus of development.

All code Code

Version control system:
Bazaar

Get Involved

  • warning
    Report a bug
  • warning
    Ask a question
  • warning
    Help translate

Downloads

FCM does not have any download files registered with Launchpad.