Boost logo

Boost-Commit :

From: dgregor_at_[hidden]
Date: 2008-05-22 23:55:25


Author: dgregor
Date: 2008-05-22 23:55:24 EDT (Thu, 22 May 2008)
New Revision: 45670
URL: http://svn.boost.org/trac/boost/changeset/45670

Log:
Provide descriptions for the component groups, which include a library-provided description and the names/e-mail addresses of its authors and maintainers. Use the Filesystem library as a guinea pig.
Text files modified:
   branches/CMake/release/CMakeLists.txt | 18 ++--
   branches/CMake/release/libs/filesystem/CMakeLists.txt | 2
   branches/CMake/release/tools/build/CMake/BoostCore.cmake | 138 ++++++++++++++++++++++++++++++++-------
   3 files changed, 122 insertions(+), 36 deletions(-)

Modified: branches/CMake/release/CMakeLists.txt
==============================================================================
--- branches/CMake/release/CMakeLists.txt (original)
+++ branches/CMake/release/CMakeLists.txt 2008-05-22 23:55:24 EDT (Thu, 22 May 2008)
@@ -143,7 +143,7 @@
 ##########################################################################
 set(CPACK_PACKAGE_NAME "Boost")
 set(CPACK_PACKAGE_VENDOR "Boost.org")
-set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Boost")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Boost ${BOOST_VERSION}")
 set(CPACK_PACKAGE_DESCRIPTION_FILE "${Boost_SOURCE_DIR}/README.txt")
 set(CPACK_RESOURCE_FILE_README "${Boost_SOURCE_DIR}/README.txt")
 set(CPACK_RESOURCE_FILE_LICENSE "${Boost_SOURCE_DIR}/LICENSE_1_0.txt")
@@ -152,20 +152,20 @@
 set(CPACK_PACKAGE_VERSION_MAJOR "${BOOST_VERSION_MAJOR}")
 set(CPACK_PACKAGE_VERSION_MINOR "${BOOST_VERSION_MINOR}")
 set(CPACK_PACKAGE_VERSION_PATCH "${BOOST_VERSION_SUBMINOR}")
-set(CPACK_PACKAGE_INSTALL_DIRECTORY "Boost")
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "Boost-${BOOST_VERSION}")
 
 # Setup "core" component
-set(CPACK_COMPONENT_BOOST_CORE_REQUIRED ON)
-set(CPACK_COMPONENT_BOOST_CORE_DISPLAY_NAME "Core library headers")
+set(CPACK_COMPONENT_CORE_REQUIRED ON)
+set(CPACK_COMPONENT_CORE_DISPLAY_NAME "Core library headers")
 
 # Set the variable containing the list of all components.
-get_property(CPACK_COMPONENTS_BOOST_ALL
- GLOBAL PROPERTY CPACK_COMPONENTS_BOOST_ALL)
-set(CPACK_COMPONENTS_BOOST_ALL "Core" ${CPACK_COMPONENTS_BOOST_ALL})
+get_property(CPACK_COMPONENTS_ALL
+ GLOBAL PROPERTY CPACK_COMPONENTS_ALL)
+set(CPACK_COMPONENTS_ALL "Core" ${CPACK_COMPONENTS_ALL})
 
 # Set the variable containing the list of all components.
-get_property(CPACK_COMPONENT_GROUPS_BOOST_ALL
- GLOBAL PROPERTY CPACK_COMPONENT_GROUPS_BOOST_ALL)
+get_property(CPACK_COMPONENT_GROUPS_ALL
+ GLOBAL PROPERTY CPACK_COMPONENT_GROUPS_ALL)
 
 get_property(BOOST_CPACK_EXPORTS GLOBAL PROPERTY BOOST_CPACK_EXPORTS)
 foreach(MACRO ${BOOST_CPACK_EXPORTS})

Modified: branches/CMake/release/libs/filesystem/CMakeLists.txt
==============================================================================
--- branches/CMake/release/libs/filesystem/CMakeLists.txt (original)
+++ branches/CMake/release/libs/filesystem/CMakeLists.txt 2008-05-22 23:55:24 EDT (Thu, 22 May 2008)
@@ -3,6 +3,8 @@
   SRCDIRS src
   TESTDIRS test
   MODULAR
+ DESCRIPTION "Provides portable facilities to query and manipulate paths, files, and directories."
+ AUTHORS "Beman Dawes <bdawes -at- acm.org>"
   )
 
 

Modified: branches/CMake/release/tools/build/CMake/BoostCore.cmake
==============================================================================
--- branches/CMake/release/tools/build/CMake/BoostCore.cmake (original)
+++ branches/CMake/release/tools/build/CMake/BoostCore.cmake 2008-05-22 23:55:24 EDT (Thu, 22 May 2008)
@@ -25,6 +25,9 @@
 # [SRCDIRS srcdir1 srcdir2 ...]
 # [TESTDIRS testdir1 testdir2 ...]
 # [DEPENDS lib1 lib2 ...]
+# [DESCRIPTION description]
+# [AUTHORS author1 author2 ...]
+# [MAINTAINERS maint1 maint2 ...]
 # [MODULAR])
 #
 # where libname is the name of the library (e.g., Python, or
@@ -34,13 +37,22 @@
 # containing regression tests. DEPENDS lists the names of the other
 # Boost libraries that this library depends on. If the dependencies
 # are not satisfied (e.g., because the library isn't present or its
-# build is turned off), this library won't be built.
+# build is turned off), this library won't be built.
 #
 # A library marked MODULAR has all of its header files in its own
 # subdirectory include/boost rather than the "global" boost
 # subdirectory. These libraries can be added or removed from the tree
 # freely; they do not need to be a part of the main repository.
 #
+# DESCRIPTION provides a brief description of the library, which can
+# be used to summarize the behavior of the library for a user. AUTHORS
+# lists the authors of the library, while MAINTAINERS lists the active
+# maintainers. If MAINTAINERS is left empty, it is assumed that the
+# authors are still maintaining the library. Both authors and maintainers
+# should have their name followed by their current e-mail address in
+# angle brackets, with -at- instead of the at sign, e.g.,
+# Douglas Gregor <doug.gregor -at- gmail.com>
+#
 # For libraries that build actual library binaries, this macro adds a
 # option BUILD_BOOST_LIBNAME (which defaults to ON). When the option
 # is ON, this macro will include the source subdirectories, and
@@ -60,7 +72,7 @@
 # )
 macro(boost_library_project LIBNAME)
   parse_arguments(THIS_PROJECT
- "SRCDIRS;TESTDIRS"
+ "SRCDIRS;TESTDIRS;DESCRIPTION;AUTHORS;MAINTAINERS"
     "MODULAR"
     ${ARGN}
     )
@@ -110,14 +122,60 @@
     if(THIS_PROJECT_MODULAR OR THIS_PROJECT_SRCDIRS)
       # Add this library to the list of library components to install
       set_property(GLOBAL APPEND
- PROPERTY CPACK_COMPONENT_GROUPS_BOOST_ALL
+ PROPERTY CPACK_COMPONENT_GROUPS_ALL
         ${ULIBNAME})
       set_property(GLOBAL
- PROPERTY CPACK_COMPONENT_GROUP_BOOST_${ULIBNAME}_DISPLAY_NAME
+ PROPERTY CPACK_COMPONENT_GROUP_${ULIBNAME}_DISPLAY_NAME
         ${LIBNAME})
       set_property(GLOBAL APPEND
         PROPERTY BOOST_CPACK_EXPORTS
- CPACK_COMPONENT_GROUP_BOOST_${ULIBNAME}_DISPLAY_NAME)
+ CPACK_COMPONENT_GROUP_${ULIBNAME}_DISPLAY_NAME)
+
+ if (THIS_PROJECT_DESCRIPTION)
+ set(THIS_PROJECT_DESCRIPTION "Boost.${LIBNAME}\n\n${THIS_PROJECT_DESCRIPTION}")
+
+ if (THIS_PROJECT_AUTHORS)
+ list(LENGTH ${THIS_PROJECT_AUTHORS} THIS_PROJECT_NUM_AUTHORS)
+ if (THIS_PROJECT_NUM_AUTHORS EQUAL 1)
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n\nAuthor: ")
+ else()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n\nAuthors: ")
+ endif()
+ set(THIS_PROJECT_FIRST_AUTHOR TRUE)
+ foreach(AUTHOR ${THIS_PROJECT_AUTHORS})
+ string(REGEX REPLACE " *-at- *" "@" AUTHOR ${AUTHOR})
+ if (THIS_PROJECT_FIRST_AUTHOR)
+ set(THIS_PROJECT_FIRST_AUTHOR FALSE)
+ else()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n ")
+ endif()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}${AUTHOR}")
+ endforeach(AUTHOR)
+ endif (THIS_PROJECT_AUTHORS)
+
+ if (THIS_PROJECT_MAINTAINERS)
+ list(LENGTH ${THIS_PROJECT_MAINTAINERS} THIS_PROJECT_NUM_MAINTAINERS)
+ if (THIS_PROJECT_NUM_MAINTAINERS EQUAL 1)
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\nMaintainer: ")
+ else()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\nMaintainers: ")
+ endif()
+ set(THIS_PROJECT_FIRST_MAINTAINER TRUE)
+ foreach(MAINTAINER ${THIS_PROJECT_MAINTAINERS})
+ string(REGEX REPLACE " *-at- *" "@" MAINTAINER ${MAINTAINER})
+ if (THIS_PROJECT_FIRST_MAINTAINER)
+ set(THIS_PROJECT_FIRST_MAINTAINER FALSE)
+ else()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}\n ")
+ endif()
+ set(THIS_PROJECT_DESCRIPTION "${THIS_PROJECT_DESCRIPTION}${MAINTAINER}")
+ endforeach(MAINTAINER)
+ endif (THIS_PROJECT_MAINTAINERS)
+
+ boost_set_cpack_variable(
+ CPACK_COMPONENT_GROUP_${ULIBNAME}_DESCRIPTION
+ "${THIS_PROJECT_DESCRIPTION}")
+ endif (THIS_PROJECT_DESCRIPTION)
     endif(THIS_PROJECT_MODULAR OR THIS_PROJECT_SRCDIRS)
     
     if(THIS_PROJECT_MODULAR)
@@ -140,44 +198,44 @@
       # Add the appropriate variables to make this library's headers a
       # separate component.
       set_property(GLOBAL APPEND
- PROPERTY CPACK_COMPONENTS_BOOST_ALL
+ PROPERTY CPACK_COMPONENTS_ALL
         ${ULIBNAME}_HEADERS)
       set_property(GLOBAL
- PROPERTY CPACK_COMPONENT_BOOST_${ULIBNAME}_HEADERS_DISPLAY_NAME
+ PROPERTY CPACK_COMPONENT_${ULIBNAME}_HEADERS_DISPLAY_NAME
         "Header files")
       set_property(GLOBAL
- PROPERTY CPACK_COMPONENT_BOOST_${ULIBNAME}_HEADERS_GROUP
+ PROPERTY CPACK_COMPONENT_${ULIBNAME}_HEADERS_GROUP
         ${ULIBNAME})
       set_property(GLOBAL APPEND
         PROPERTY BOOST_CPACK_EXPORTS
- CPACK_COMPONENT_BOOST_${ULIBNAME}_HEADERS_DISPLAY_NAME
- CPACK_COMPONENT_BOOST_${ULIBNAME}_HEADERS_GROUP)
+ CPACK_COMPONENT_${ULIBNAME}_HEADERS_DISPLAY_NAME
+ CPACK_COMPONENT_${ULIBNAME}_HEADERS_GROUP)
     endif (THIS_PROJECT_MODULAR)
 
         if(THIS_PROJECT_SRCDIRS)
           # Add an installation target for the sources of this library.
           set_property(GLOBAL APPEND
- PROPERTY CPACK_COMPONENTS_BOOST_ALL
+ PROPERTY CPACK_COMPONENTS_ALL
                 ${ULIBNAME}_SOURCES)
           set_property(GLOBAL
- PROPERTY CPACK_COMPONENT_BOOST_${ULIBNAME}_SOURCES_DISPLAY_NAME
+ PROPERTY CPACK_COMPONENT_${ULIBNAME}_SOURCES_DISPLAY_NAME
             "Source files")
           set_property(GLOBAL
- PROPERTY CPACK_COMPONENT_BOOST_${ULIBNAME}_SOURCES_GROUP
+ PROPERTY CPACK_COMPONENT_${ULIBNAME}_SOURCES_GROUP
             ${ULIBNAME})
       set_property(GLOBAL APPEND
         PROPERTY BOOST_CPACK_EXPORTS
- CPACK_COMPONENT_BOOST_${ULIBNAME}_SOURCES_DISPLAY_NAME
- CPACK_COMPONENT_BOOST_${ULIBNAME}_SOURCES_GROUP)
+ CPACK_COMPONENT_${ULIBNAME}_SOURCES_DISPLAY_NAME
+ CPACK_COMPONENT_${ULIBNAME}_SOURCES_GROUP)
 
       # If this is a modular library, the sources depend on the headers
       if (THIS_PROJECT_MODULAR)
         set_property(GLOBAL
- PROPERTY CPACK_COMPONENT_BOOST_${ULIBNAME}_SOURCES_DEPENDS
+ PROPERTY CPACK_COMPONENT_${ULIBNAME}_SOURCES_DEPENDS
                   ${ULIBNAME}_HEADERS)
         set_property(GLOBAL APPEND
           PROPERTY BOOST_CPACK_EXPORTS
- CPACK_COMPONENT_BOOST_${ULIBNAME}_SOURCES_DEPENDS)
+ CPACK_COMPONENT_${ULIBNAME}_SOURCES_DEPENDS)
       endif ()
                 
           # Add all of the source files as an installation target
@@ -201,7 +259,7 @@
         if (THIS_PROJECT_MODULAR)
           # Make this project's headers depend on DEP's headers
           set_property(GLOBAL APPEND
- PROPERTY CPACK_COMPONENT_BOOST_${ULIBNAME}_HEADERS_DEPENDS
+ PROPERTY CPACK_COMPONENT_${ULIBNAME}_HEADERS_DEPENDS
             ${UDEP}_HEADERS)
           set(THIS_PROJECT_HAS_HEADER_DEPENDS TRUE)
         endif ()
@@ -210,7 +268,7 @@
     if (THIS_PROJECT_HAS_HEADER_DEPENDS)
       set_property(GLOBAL APPEND
         PROPERTY BOOST_CPACK_EXPORTS
- CPACK_COMPONENT_BOOST_${ULIBNAME}_HEADERS_DEPENDS)
+ CPACK_COMPONENT_${ULIBNAME}_HEADERS_DEPENDS)
     endif ()
 
     if(NOT EXISTS ${CMAKE_BINARY_DIR}/bin/tests)
@@ -550,17 +608,17 @@
     string(TOUPPER ${VARIANT_LIBNAME} UVARIANT_LIBNAME)
     string(REPLACE "-" "_" UVARIANT_LIBNAME ${UVARIANT_LIBNAME})
     set_property(GLOBAL APPEND
- PROPERTY CPACK_COMPONENTS_BOOST_ALL
+ PROPERTY CPACK_COMPONENTS_ALL
       ${UVARIANT_LIBNAME})
     set_property(GLOBAL
- PROPERTY CPACK_COMPONENT_BOOST_${UVARIANT_LIBNAME}_DISPLAY_NAME
+ PROPERTY CPACK_COMPONENT_${UVARIANT_LIBNAME}_DISPLAY_NAME
       "${VARIANT_DISPLAY_NAME} library")
     set_property(GLOBAL
- PROPERTY CPACK_COMPONENT_BOOST_${UVARIANT_LIBNAME}_GROUP
+ PROPERTY CPACK_COMPONENT_${UVARIANT_LIBNAME}_GROUP
       ${ULIBNAME})
     set_property(GLOBAL APPEND PROPERTY BOOST_CPACK_EXPORTS
- CPACK_COMPONENT_BOOST_${UVARIANT_LIBNAME}_DISPLAY_NAME
- CPACK_COMPONENT_BOOST_${UVARIANT_LIBNAME}_GROUP)
+ CPACK_COMPONENT_${UVARIANT_LIBNAME}_DISPLAY_NAME
+ CPACK_COMPONENT_${UVARIANT_LIBNAME}_GROUP)
 
     # Installation of this library variant
     string(TOUPPER ${PROJECT_NAME} ULIBNAME)
@@ -574,12 +632,12 @@
       string(TOUPPER "${DEP}${VARIANT_TARGET_NAME}" UDEP)
       string(REPLACE "-" "_" UDEP ${UDEP})
       set_property(GLOBAL APPEND
- PROPERTY CPACK_COMPONENT_BOOST_${UVARIANT_LIBNAME}_DEPENDS ${UDEP})
+ PROPERTY CPACK_COMPONENT_${UVARIANT_LIBNAME}_DEPENDS ${UDEP})
     endforeach(DEP)
     if (THIS_LIB_DEPENDS)
       set_property(GLOBAL APPEND
         PROPERTY BOOST_CPACK_EXPORTS
- CPACK_COMPONENT_BOOST_${UVARIANT_LIBNAME}_DEPENDS)
+ CPACK_COMPONENT_${UVARIANT_LIBNAME}_DEPENDS)
     endif ()
   endif (THIS_VARIANT_OKAY)
 endmacro(boost_library_variant)
@@ -1186,4 +1244,30 @@
       install(TARGETS ${THIS_EXE_NAME} DESTINATION bin)
     endif (NOT THIS_EXE_NO_INSTALL)
   endif (THIS_EXE_OKAY)
-endmacro(boost_add_executable)
\ No newline at end of file
+endmacro(boost_add_executable)
+
+# Sets the CPack variant named PROP to the given values, and ensures
+# that CPack will see the variable.
+#
+# boost_set_cpack_variable(PROP
+# value1 value2 ...)
+#
+# If no values are provided the variable will not be set.
+#
+# Example:
+# boost_set_cpack_variable(CPACK_COMPONENT_GRAPH_HEADERS_DISPLAY_NAME
+# "Graph headers")
+macro(boost_set_cpack_variable PROP)
+ set(BOOST_CPACK_VAR_HAS_ARGS FALSE)
+ foreach (ARG ${ARGN})
+ set_property(GLOBAL APPEND
+ PROPERTY ${PROP}
+ ${ARG})
+ set(BOOST_CPACK_VAR_HAS_ARGS TRUE)
+ endforeach(ARG)
+ if (BOOST_CPACK_VAR_HAS_ARGS)
+ set_property(GLOBAL APPEND
+ PROPERTY BOOST_CPACK_EXPORTS
+ ${PROP})
+ endif ()
+endmacro(boost_set_cpack_variable)


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk