CMake:Module Maintainers: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
Line 11: Line 11:
# Subscribe to the [http://www.cmake.org/cgi-bin/mailman/listinfo/cmake-developers CMake Developers Mailing List] and introduce yourself and the module
# Subscribe to the [http://www.cmake.org/cgi-bin/mailman/listinfo/cmake-developers CMake Developers Mailing List] and introduce yourself and the module
# Create a [http://www.cdash.org/CDash/ CDash] account and subscribe to the CMake project to receive notification when your changes may have broken something
# Create a [http://www.cdash.org/CDash/ CDash] account and subscribe to the CMake project to receive notification when your changes may have broken something
# Read the [[CMake/Git|Git Workflow]] instructions
# Read the [[CMake/Git|Git Workflow]] instructions.  See the [[CMake/Git#Publishing|Publishing]] section to get Git push access.  See the [[CMake/Git#Topic_Stage|Topic Stage]] section for a workflow summary.


In addition backwards compatibility for all existing variables in the current set
== Compatibility ==
of modules must be maintained strictly.  
 
If you are taking over maintenance of an existing module, please ensure that all changes maintain compatibility:
 
* The set of documented output variables such as XXX_INCLUDE_DIRS must be maintained.  If you add new output variables that supersede existing ones please document the old names as for compatibility only but still provide them.
 
* The set of (un)documented input variables such as XXX_INCLUDE_DIR must be maintained.  These variables typically appear as the first argument to commands like find_path which save them in the cache and allow the user to set them on the command line or interactively.  Build scripts may set them to convince find modules to pick up the desired location for a package.  If you change the way a package is found such that a cache variable is no longer needed, check whether the value is set and use it as a hint for the new approach.


== Third-Party Modules ==
== Third-Party Modules ==

Revision as of 18:04, 31 March 2011

If you want to add a new module to CMake, then you must volunteer to maintain it, or find someone that will. See the Call for maintainers announcement on the mailing list. This page contains a list of Module maintainer volunteers, and instructions on how to become a maintainer.

Please DO NOT ADD a Bug Tracker entry for a new Module request. Instead, volunteer to become a module maintainer. Module maintainers get direct push access to CMake's next branch in Git.

New Maintainer

Please follow these steps to become a module maintainer:

  1. Read the Modules/readme.txt file documenting module conventions
  2. Subscribe to the CMake Developers Mailing List and introduce yourself and the module
  3. Create a CDash account and subscribe to the CMake project to receive notification when your changes may have broken something
  4. Read the Git Workflow instructions. See the Publishing section to get Git push access. See the Topic Stage section for a workflow summary.

Compatibility

If you are taking over maintenance of an existing module, please ensure that all changes maintain compatibility:

  • The set of documented output variables such as XXX_INCLUDE_DIRS must be maintained. If you add new output variables that supersede existing ones please document the old names as for compatibility only but still provide them.
  • The set of (un)documented input variables such as XXX_INCLUDE_DIR must be maintained. These variables typically appear as the first argument to commands like find_path which save them in the cache and allow the user to set them on the command line or interactively. Build scripts may set them to convince find modules to pick up the desired location for a package. If you change the way a package is found such that a cache variable is no longer needed, check whether the value is set and use it as a hint for the new approach.

Third-Party Modules

List

  • NOBODY!!! Please volunteer if you are able and willing. Need new maintainers for these modules:
    • Any Find*.cmake module distributed with CMake that is not already listed under a maintainer below.
  • Dave Partyka, dave dot partyka at kitware dot com
  • Alan W. Irwin, irwin at beluga dot phys dot uvic dot ca
    • Ada
  • Matt Leotta, matt.leotta at gmail dot com
  • Clinton Stimpson clinton at elemtech dot com
  • Petr Gotthard, petr dot gotthard at honeywell dot com
  • Kovarththanan Rajaratnam, kovarththanan.rajaratnam at gmail dot com
  • James Bigler, nvidia.com - jbigler or jamesbigler - gmail dot com