|
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